Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Замена глобального файла описания всех пакетов на несколько более мелких #1049

Open
wants to merge 10 commits into
base: develop
Choose a base branch
from

Conversation

Linuxoid85
Copy link
Collaborator

@Linuxoid85 Linuxoid85 commented Jan 29, 2022

Файл /docs/packages/packages.json очень сильно раздут, и внос в него изменений может быть затруднительным. Поэтому предлагаю заменить его на несколько более мелких файлов:

  • /docs/packages/pkglist.json - список всех пакетов, необходим для /tools/gen-info.py, предназначенного для генерации markdown-файлов описаний каждого пакета;
  • /docs/packages/$PACKAGE/config.json - файл с описанием пакета $PACKAGE. Строение такое же, как и у старого packages.json, ничего менять не нужно.
  • /tools/gen-info.py - скрипт для генерации файлов /docs/packages/$PACKAGE/README.md с данными из config.json.

Из отличий полученных README можно отметить:

  1. В заголовке (#, он же <h1></h1>) отображается не только название пакета, как раньше, но и его версия.
  2. В блоке с информацией о версии пакета, ссылке для скачивания, времени сборки и пр. уменьшился отступ между строками. Для этих строк не создаются новые абзацы (<p>), а используется перевод строки (<br />).
  3. Изменение внешнего вида этого блока. Если раньше было что-то вроде Пункт: **значение** (значение выделялось жирным шрифтом, то сейчас наоборот: **Пункт:** значение. Выглядит намного лучше.
  4. В конце каждого README вставляется *** (он же <hr />) для отделения раздела с информацией о пакете от раздела с инструкциями по сборке пакета.
  5. В строке 'Размер' теперь указывается единица измерения (Мб) (prologue, individual)

Использование

python ./tools/gen-info.py mode

mode - режим работы:

  • individual - генерация только страниц с информацией для пакетов;
  • prologue - генерация файла prologue/packages.md.

TODO

  • Добавить возможность генерации страницы prologue/packages.md с информацией обо всех пакетах.
  • Добавить функции для генерации информации об установленных файлах пакета (установленные программы, директории и библиотеки), а так же зависимостях пакета. Тогда в config.json придётся добавлять новые параметры.
  • Рефакторинг кода. Две переменные info (достаточно большие по объёму!) никчему. В config.get_base_info() не создавать словарь "вручную", а генерировать его на основе полученных из JSON'a данных. Тогда придётся менять названия ключей на одинаковые как в этом методе, так и во всём коде далее.
  • Неправильное отображение ссылок на домашнюю страницу в случае, если ссылка ведёт на GitHub.

Если значение параметра 'sbu' из 'config.json' равно нулю, то это значение не генерируется. Поэтому такое неправильное значение не отображается для пакетов, которые не собираются во временной системе
Если значение параметра 'sbu' из 'config.json' равно нулю, то это значение не генерируется. Поэтому такое неправильное значение не отображается для пакетов, которые не собираются во временной системе
@Linuxoid85 Linuxoid85 added the enhancement New feature or request label Jan 29, 2022
@Linuxoid85 Linuxoid85 added this to the Future milestone Jan 29, 2022
Различия:
- Название пакета теперь заголовок второго уровня (##), а не первого (#), как было раньше;
- Изменение внешнего вида этого блока. Если раньше было что-то вроде Пункт: **значение** (значение выделялось жирным шрифтом, то сейчас наоборот: **Пункт:** значение. Выглядит намного лучше.

Использование:
'python3 ./tools/gen-info.py mode'

Режимы работы (mode):
- individual - сгенерировать отдельные страницы для каждого пакета;
- prologue - сгенерировать файл prologue/packages.md

TODO:
- Рефакторинг кода. Две переменные 'info' с примерно одинаковым (и достаточно большим) содержимым никчему
Изменения:
- В генераторе prologue/packages.md строка с SBU теперь правильно переносится, значения берутся из 'sbu2'
- В строке 'Размер' теперь указывается единица измерения (Мб) (prologue, individual)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant