Здесь мы собираем конспекты лекций, оформленные в TeX.
- Используйте ветки. Ветки (branches), дающие возможность удобной параллельной разработки - одно из основных преимуществ git. Если вы хотите, к примеру, внести какие-то существенные изменения в уже существующий файл, лучше использовать для этого отдельную ветку, дабы ничего не сломать.
- Используйте issues. Issues - это хороший способ сообщить о проблеме, реквестировать новую функциональность Или декларировать свои планы.
- Используйте Markdown. Markdown - лекгий и очень приятный язык разметки текста. Он позволяет быстро и просто писать форматированный текст - как, допустим, этот. В GitLab этот язык используется повсеместно - для README-файлов, комментариев и прочего.
- Используйте все остальное. GitLab, как и многие другие "системы управления проектами", имеет много полезных фич. Можно, например, делиться друг с другом кусочками кода или вести вики.
Помимо, собственно, git для работы с репозиторием, вам потребуется XeTeX и Python 3 для сборки конспектов (почему именно XeTeX). В Debian-подобном дистрибутиве Linux для установки всего нужного будет достаточно команды:
sudo apt-get install git python3 texlive texlive-lang-cyrillic texlive-xetex texlive-generic-extra texlive-fonts-extra texlive-science fonts-cmu
Что касается Windows, то XeTeX по умолчанию есть в составе MiKTeX.
Для сборки нужно пользоваться утилитой build.py, находящейся в корне репозитория.
На линуксе это должно выглядеть как
./build.py
А на виндоусе как:
python build.py
Скрипт build.py поддерживает очень много различных опций, которые можно задать через консоль или файлы .config (общая конфигурация), .localconfig (локальная конфигурация).
-
src/conspectname Содержит соответсвующий конспект. Все конспекты должны вестись в Tex (если есть принципиальное желание делать что-то другое, то это можно обсудить, но лучше Tex)
Конспект должен состоять из одного основного файла (например conspect.tex), а также множества вспомогательных частей, включающихся в основной через \input.
-
pdf Тут живут выходные файлы
-
tmp Директория для временных файлов. Когда build.py собирает конспект, всё содержимое папки конспекта копируется сюда и вызывается
xelatex
. Если всё собралось, то выходная pdf будет скопирована в соответствующую директорию.Также здесь можно прочитать логи
xelatex
-а, если конспект откажется собираться. -
.config, .localconfig Конфигурация системы сборки в формате json. Найстройки .localconfig перезаписывают найстройки в .config
-
Чтобы создать новый конспект достаточно скопировать содержимое псевдо-конспекта templatе (включая файл .tgconfig) в новую директорию и внести необходимые изменения.
-
Чтобы система сборки подхватила новый конспект его нужно добавить в список targets в .config (в главной папке репозитория) и создать файл .tgconfig внутри каталога с конспектом.
-
Проверьте, что конспект успешно собирается и хорошо читается.
-
Можно коммитить!
-
Чтобы получить доступ на запись нужно отправить письмо Саютину Дмитрию или сообщение вк с указанием ника на gitlab.
-
Не забудьте настроить git:
git config --global user.name "Alexander Pushkin" git config --global user.email "pushkin@mikhailovskoye.ru"
-
После каждого изменения файла git будет хранить как новый файл, так и старый, даже если старый в текущей ветке удалён из дерева. Таким образом, если часто и много менять бинарные файлы, то репозиторий будет быстро-быстро толстеть. Не надо так.
-
Поэтому один раз добавленная картинка ничего плохого не сделает, но генерируемые файлы сделают больно всем.
-
Ещё раз, ни в коем случае в репозитории не должны оказаться pdf и прочие файлы, которые генерируются из остальных. Это репозиторий максимально настроен на то, чтобы у вас это не вышло, это не просто так.
Все текстовые файлы должны хранится в кодировке utf-8.