Данный проект - Шаблоны внутренних и исходящих документов учреждения.
В качестве формата документов и шаблонов используется формат Open Document для офисных приложений (OpenDocument) (ГОСТ Р ИСО/МЭК 26300-2010).
Описание решений по данному проекту расширения формируется с помощью сервиса ReadTheDocs.
Исходные файлы документации размещены в репозитории в каталоге docs.
Подготовленная документация доступна в сети: https://doctemplates.readthedocs.io.
Для внесения изменений в пакет и повторной сборки проекта потребуются следующие продукты:
Под Windows:
- Git
- текстовый редактор, настоятельно рекомендую VSCode
- LibreOffice
- 7Zip4Powershell
- Saxon HE
- GitVersion
- ODFValidator
Для 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
.