Skip to content

Instantly share code, notes, and snippets.

@hackallcode
Created October 20, 2017 17:26
Show Gist options
  • Save hackallcode/4fd02c51afe2a01c2c7d56f15516b1e2 to your computer and use it in GitHub Desktop.
Save hackallcode/4fd02c51afe2a01c2c7d56f15516b1e2 to your computer and use it in GitHub Desktop.
lab07

Laboratory work VII

Данная лабораторная работа посвещена изучению систем документирования исходного кода на примере Doxygen

$ open https://www.stack.nl/~dimitri/doxygen/manual/index.html

Tasks

  • 1. Создать публичный репозиторий с названием lab07 на сервисе GitHub
  • 2. Выполнить инструкцию учебного материала
  • 3. Ознакомиться со ссылками учебного материала
  • 4. Составить отчет и отправить ссылку личным сообщением в Slack

Tutorial

$ export GITHUB_USERNAME=hackallcode
$ alias edit=nano
$ git clone https://github.com/${GITHUB_USERNAME}/lab06 lab07
$ cd lab07
$ git remote remove origin
$ git remote add origin https://github.com/${GITHUB_USERNAME}/lab07

Создаем файл конфигурации для Doxygen

$ mkdir docs
# Создание файла
$ doxygen -g docs/doxygen.conf
# Выводим содержжимое
$ cat docs/doxygen.conf

Настраиваем Doxygen

# Название проекта
$ sed -i 's/\(PROJECT_NAME.*=\).*$/\1 print/g' docs/doxygen.conf
# Путь до примеров
$ sed -i 's/\(EXAMPLE_PATH.*=\).*$/\1 examples/g' docs/doxygen.conf
$ sed -i 's/\(INCLUDE_PATH.*=\).*$/\1 examples/g' docs/doxygen.conf
# Путь до заголовков
$ sed -i 's/\(INPUT *=\).*$/\1 README.md include/g' docs/doxygen.conf
# Используем README как главную страницу
$ sed -i 's/\(USE_MDFILE_AS_MAINPAGE.*=\).*$/\1 README.md/g' docs/d
# Директория для результатовoxygen.conf
$ sed -i 's/\(OUTPUT_DIRECTORY.*=\).*$/\1 docs/g' docs/doxygen.conf
# Документируем функции print 
$ edit include/print.hpp
$ git add .
$ git commit -m "Added doxygen.conf"
$ git push origin master
$ travis login --auto
$ travis enable
# Создание документации использую файл конфигурации
$ doxygen docs/doxygen.conf
# Удаляем всё, кроме папки docs
$ ls | grep "[^docs]" | xargs rm -rf
# Перемещаем в корень и после удаляем папку docs
$ mv docs/html/* . && rm -rf docs
# Ветка для документации
$ git checkout -b gh-pages
$ git add .
$ git commit -m "Added documentation"
$ git push origin gh-pages
$ git checkout master
$ mkdir artifacts && cd artifacts
$ open https://${GITHUB_USERNAME}.github.io/lab07/print_8hpp_source.html
# Делаем скриншот (Alt + PrtScr)
# Заливаем screenshot.png на gdrive
$ gdrive upload screenshot.png
$ SCREENSHOT_ID=`gdrive list | grep screenshot | awk '{ print $1; }'`
# Делимся с Вами скриншотом
$ gdrive share ${SCREENSHOT_ID} --role reader --type user --email rusdevops@gmail.com
# Выводим ссылку
$ echo https://drive.google.com/open?id=${SCREENSHOT_ID}

Report

$ cd ~/workspace/labs/
$ export LAB_NUMBER=07
$ git clone https://github.com/tp-labs/lab${LAB_NUMBER} tasks/lab${LAB_NUMBER}
$ mkdir reports/lab${LAB_NUMBER}
$ cp tasks/lab${LAB_NUMBER}/README.md reports/lab${LAB_NUMBER}/REPORT.md
$ cd reports/lab${LAB_NUMBER}
$ edit REPORT.md
$ gistup -m "lab${LAB_NUMBER}"

Links

Copyright (c) 2017 Братья Вершинины
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment