Skip to content

test-st-petersburg/DocTemplates

Libre Office шаблоны документов

GitHub release Build and Test Status

Semantic Versioning Conventional Commits

Данный проект - Шаблоны внутренних и исходящих документов учреждения.

В качестве формата документов и шаблонов используется формат Open Document для офисных приложений (OpenDocument) (ГОСТ Р ИСО/МЭК 26300-2010).

Документация

Описание решений по данному проекту расширения формируется с помощью сервиса ReadTheDocs.

Documentation Status

Исходные файлы документации размещены в репозитории в каталоге docs.

Подготовленная документация доступна в сети: https://doctemplates.readthedocs.io.

Подготовка среды

Для внесения изменений в пакет и повторной сборки проекта потребуются следующие продукты:

Под Windows:

Для VSCode рекомендую установить расширения, указанные в рабочей области.

Далее следует скопировать исходные файлы проекта, клонировав git репозиторий. Для сборки документов используется GitVersion, а он требует наличия именно репозитория со всей историей.

Для подготовки среды (установки необходимых приложений) следует воспользоваться сценарием prepare.ps1 (запускать от имени администратора):

install\prepare.ps1

Указанный сценарий установит все необходимые компоненты.

Подготовка документов, шаблонов, библиотек макросов

Как известно, файлы Open Document представляют из себя zip архив, в котором размещены XML файлы и бинарные файлы изображений и прочих вложений.

Подготовка шаблонов документов

В репозитории файлы шаблонов документов хранятся в виде каталогов с XML и бинарными файлами (см. /src/template). Описание схемы xml файлов, входящих в состав документа: OASIS.

При сборке шаблонов из "исходных" файлов подготовленные шаблоны размещаются в каталоге /output/template

Распаковка, форматирование, оптимизация XML файлов осуществляется с помощью инструментария, размещённого в репозитории. Через задачи в среде Visual Studio Code:

  • Remove sources: очистка каталогов с "исходными" XML и бинарными файлами (/src/template).

  • clean: очистка каталогов с временными файлами, собранными файлами документов и их шаблонов.

  • distclean: очистка каталогов с временными файлами, собранными файлами документов, их шаблонов, а также удаление всех автоматически установленных пакетов и инструментов.

  • Convert Open Office files to plain XML: преобразование файлов шаблонов документов в каталоги "исходных" (XML и бинарных) файлов.

  • Optimize Open Office XML files: оптимизация XML файлов документов. При этом инструменты оптимизации удаляют ряд атрибутов в стилях, сортируют отдельные элементы в целях минимизации количества изменений при сохранении документа. Кроме того, выполняется ряд дополнительных оптимизаций (удаляются автоматические стили символов и прочее).

  • Unpack and optimize Open Office XML files: преобразование файлов шаблонов документов в каталоги "исходных" (XML и бинарных) файлов с оптимизацией (комбинация двух приведённых выше задач).

  • Unpack and optimize modified Open Office XML files: преобразование только изменённых файлов шаблонов документов в каталоги "исходных" (XML и бинарных) файлов с оптимизацией. Изменёнными считаются файлы, время изменения которых более позднее, чем время изменения файла манифеста в каталоге документа.

  • Build Open Office files from plain XML: создание .ott файлов шаблонов документов из каталогов с XML и бинарными файлами.

  • Build Open Office files from plain XML and open: обновление .ott файлов шаблонов документов из каталогов с XML и бинарными файлами и открытие их ассоциированным приложением (только для Windows). Обновляются и открываются только изменённые шаблоны. Данная задача является задачей сборки по умолчанию и может быть выполнена в Visual Studio Code через Ctrl+Shift+B.

Подготовка библиотек макросов

В репозитории библиотеки макросов в виде каталогов, наименование которого совпадает с наименованием библиотеки, с "исходными" текстовыми файлами (*.bas). Корневой каталог для исходных файлов библиотек: /src/basic.

Подготовленные библиотеки (как каталоги) размещаются в каталоге /output/basic.

Сборка библиотек осуществляется с помощью инструментария, размещённого в репозитории. Через задачи в среде Visual Studio Code:

  • clean: очистка каталогов с временными файлами, собранными библиотеками.

  • Build Open Office macro libraries: создание каталогов с библиотеками макрокоманд Open Office для последующего использования как в составе шаблонов документов, так и отдельно.

Внесение изменений

Репозиторий проекта размещён по адресу github.com/test-st-petersburg/DocTemplates. Стратегия ветвления - Git Flow.

При необходимости внесения изменений в сам проект предложите Pull Request в основной репозиторий в ветку develop.