TGViewer
DocOps DocOps @docops · 4.27K subscribers
Post #504 2.57K
Максим Лапшин (Flussonic.com) написал подробный обзор @foliantdocs — комбайна для сборки и публикации документации в веб, PDF, конфлюенс и разные другие форматы. Доки Flussonic теперь собираются именно Фолиантом.

С разрешения автора публикую обзор здесь:

Я перетащил нашу документацию с самописной обертки вокруг ruby markdown на foliant.

Почему вообще возник вопрос о перезде?

* код писал я, причем очень давно и никакого желания дальше его развивать не было
* то, как я генерировал PDF с помощью ruby prawn было мягко говоря по-спартански

По сравнению с mkdocs и прочими фолиант подкупил интеграцией с пандоком, очень важная штука: бесплатно из коробки top-level поддержка PDF.

Чего мне не хватало из коробки в фолианте?

1. переименовывания результирующих файлов из их понятных имен вида live/publish.md в ужасный SEO-транслит potokovaya-peredacha/publikaciya
2. редиректов с человеческих unix-имен на транслит
3. возможности понять, какой урл будет у этой же страницы на другом языке для иконки языка
4. выгрузка кусков конфига из английской документации на диск для автотестов (мы тестируем документацию) и вставка их в русский вариант
5. выгрузка кусков документации в json для вставки их в админку нашего продукта


В целом всё это получилось решить плагинами, один из которых к mkdocs.

С чем возникли проблемы:

1. рубийный маркдаун существенно вольготнее относится к верске, чем питонячий. Пришлось много текста править
2. после рубийной Nokogiri, парсить HTML регекспами в питоне очень грустно. Очень не хватает API по объектному доступу к AST markdown
3. есть некоторая путаница между слоями метаданных фолианта и mkdocs. Вообще хотелось бы чтобы это не было разными вещами
4. процессоры фолианта разрешают падать и идти дальше. Реалии авторов фолианта такие, что им важнее собрать хоть что-то, чем собрать всё корректно. Мне наоборот — ворнинг уже повод упасть и не собирать документацию.
5. Пришлось написать немало кода, который подправлял плохую верстку в наших 3 миллионах символов (280 тыс слов)


Чего отдельно понравилось:

1. глобальное пространство имен анкоров. Ссылаться на уникальное по проекту имя секции — бесценно.
2. упаковка картинок и прочих ассетов в webpack-стиле, это важно
3. ну и вообще то, что люди решили его опенсорснуть и довести до отчуждаемого состояния. Это круто.
More from @docops
  1. Nov 12, 2024Чему я научился: софт-скиллы, пост 2/N. Прошел первый модуль курса по софт-скиллам и у мен…
  2. Nov 5, 2024Встретил замечательную фразу. Человек спрашивает, можно ли использовать OneDrive в качеств…
  3. Sep 26, 2024Чему я научился: софт-скиллы, пост 1/N. Есть такое довольно универсальное правило: чтобы ч…
  4. Sep 26, 2024Чему я научился в этом году Год выдался очень насыщенным: я делал совершенно новые для мен…
  5. Aug 19, 2024Как я выгорел У меня долгое время было ощущение, что надо сжать булки, ещё немного поработ…
  6. Jun 26, 2024Ну и где бездушная машина неправа?
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →