Универсальный документатор

Универсальный документатор

https://t.me/coweram

Документирование - есть важная часть в жизни. Давайте разберемся, что такое это и с чем его едят.

Под личными заметками я подразумеваю:

  • Личная база знаний - по софту, примерам кода, рецептам, и т.д.
  • Дневник.
  • “Быстрозаписи” - фактически мусорный текст, который был создан максимально быстро, чтобы не забыть о пришедшей в голову идее или свалившейся на нее же, бедную, задачу.
  • …и т.д. и т.п., каждый может придумать свой тип данных.

Под рабочей документацией я понимаю:

  • Инструкция по работе с приложением для пользователя или администратора.
  • Сборник бизнес-функциональных требований (БФТ) и высокоуровневого дизайна (HLD).
  • Сборник техзаданий (ТЗ) и низкоуровневого дизайна (LLD).
  • …и все это приправлено различными схемами и картинками.

Найти хороший инструмент чрезвычайно сложно под каждую конкретную задачу. Например, для личных заметок и базы знаний хорошо подойдут Joplin, Notes.app (который эполовский стандартный заметочник), Evernote, QOwnNote… Да в принципе, очень много их, вплоть до org-mode плагинов для Emacs’а и штуки под названием nb. Выбирай на любой вкус и требования.

Для рабочей документации фраза “все средства хороши” неприменима, потому что нужно, чтобы было удобно, красиво и “копипастно”, а еще лучше - если оно еще и “визивигно” (WYSIWYG). И тут на помощь приходят только:

  • MoinMoin, который очень больно администрировать в плане работы с приложением на уровне ОС. Да и WYSIWYG редактор там тоже “с приколами”.
  • MediaWiki/Dokuwiki с WYSIWYG плагинами, но там свои приколы с конвертацией wiki-синтаксиса туда-сюда. Будет ехать в каждом втором или третьем случае, принося фрустрацию.
  • Confluence, который мало того, что платный, так еще и недоступный для россиян к покупке.
  • Можно тут вспомнить open source штуку под названием XWiki, но работать с ней около года назад было больно, ибо она неповоротлива. Поэтому ее я даже не рассматриваю, хотя под требования к системе для работы с документацией она вполне подходит. ЕМНИП, это единственное ПО вообще из опенсорсных, которое позволяло делать цветными ячейки таблицы.

Но я был бы не я, если бы не нашел что-то такое, что подошло бы подо все (и под личные заметки, и под рабочую документацию). Правда, с некоторыми оговорками. Итак, встречайте, Outline Wiki.

Если не открывается - попробуйте через прокси или VPN ¯⧹_(ツ)_⧸¯.

В Outline есть в принципе все, что нужно любому, даже особо требовательному пользователю. Софт умеет:

  • Группировать страницы по подразделам на практически неограниченную глубину.
  • Шарить отдельные страницы или даже разделы с подразделами и страницами, причем не только внутри приложения (есть простенький ACL в виде RBAC, Role-Based Access Control, просто накидываете доступ только для чтения или для чтения и записи пользователям и группам), но и по ссылке любому, у кого она есть.
  • В историю изменения страницы.
  • Автоматически генерировать и отображать оглавление.
  • Показывать, кто и когда эту страницу смотрел, а также кто ее сейчас редактирует, вплоть до совместного Live-редактирования.
  • Удалять страницы сначала в “корзину”, чтобы можно было легко восстановить.
  • (Уже, с последней версией) Отображать схемы и диаграммы Mermaid.
  • Русский язык, API, поддержка темной и светлой темы оформления (с синхронизацией с ОС).
  • Возможность использовать как WYSIWYG для тех, кто неискушен, так и Markdown для тех, кто как раз очень даже искушен.

Кстати, про WYSIWYG и Markdown - оно сделано, на мой взгляд, просто идеально! Человек, независимо от того, кто он - менеджер ли, разработчик ли, сможет в одном приложении работать одинаково эффективно. Привыкли использовать CTRL/CMD+B для выделения текста жирным - пожалуйста. Любите Markdown’овские звездочки - нет проблем. Мышетыкатель - тоже все ок, над выделенным текстом сразу появляется панель форматирования. Вставка картинок из буфера тоже работает отлично.

Но, конечно же, есть и ложка дегтя:

  • Нет поддержки тегов. Совсем. Вообще. Подписываемся и ждем. Лишь бы не каличный frontmatter из комментов…
  • Нет поиска по быстрым командам ("/" в пространстве ввода текста) по любым языкам, кроме английского. Причем, если у вас не английский, даже ввод английского названия команды работает криво.
  • Нет упоминаний. Все привыкли к @-касту пользователей куда бы то ни было, а тут - индейское национальное жилище вам, а не касты. Как минимум пока что.
  • Тяжело в поднятии. Начнем с того, что оно предлагает аутентифицироваться только через OIDC (OAuth) или Slack/Google/Azure. Встроенного функционала работы с пользователями нет. А закончим тем, что загружаемые файлы оно хранит в S3, то есть либо заносим денежку условному Яндексу, либо поднимаем minio (а там тоже есть свои подводные камни). А еще написано на NodeJS. Вспоминается сразу тот самый мем:


Однако, несмотря на все недостатки, я использую оный уже почти 4 месяца для личной документации и внедряю Outline на работе. Пока что всем нравится, а недостающий функционал в виде тегов, надеемся, приедет в ближайшее время.


Report Page