CodeX Docs — open-source приложение для документации

У вас когда-нибудь возникала потребность поднять простое приложение для внутренней или публичной информации?

Сегодня мы выпустили большое обновление и представили мировому сообществу наш движок CodeX Docs, который используется внутри команды уже больше года. В этом посте — немного подробностей о проекте.

Коротко о проекте

CodeX Docs — сервис для работы с заметками. Простая установка, открытый исходных код, никаких ограничений. Проект основан на редакторе Editor.js и использует лучшие инструменты его экосистемы.

История возникновения

Когда мы выпускали Editor.js, возникла необходимость где-то писать и размещать документацию для разработчиков по использованию и настройке редактора. Мы в CodeX часто создаем инструменты для своих нужд и сами пользуемся своими продуктами. Так получилось и в этот раз — было решено писать документацию к редактору с помощью самого редактора, попутно лишний раз тестируя его.

Наш следующий релиз — open-source трекер ошибок Hawk также нуждался в документации, и тоже получил собственную копию CodeX Docs.

В то же время, внутри команды всевозможные документы мы писали в разных местаx: Apple Notes, Dropbox Paper, Google Docs, Notion. В какой-то момент проблема отсутствия Single Source of Truth стала слишком очевидной. Мы подняли копию CodeX Docs для внутренней документации. И это оказалось крайне удобно. Теперь все доки хранятся на space.codex.so, который закрыт от внешних посетителей с помощью Cloudflare Access.

Проект показал себя удобным и простым. Пришло время поделиться им с мировым сообществом.

Функциональность

В основе — редактор Editor.js, это наш крупный open-source проект, который недавно преодолел отметку в 20000 stars на GitHub.

🥳🥳🥳

Вокруг редактора сложилось большое сообщество пользователей и разработчиков плагинов. Лучше инструменты, расширения и библиотеки собраны в коллекции Awesome Editorjs. Все вместе они составляют экосистему Editor.js.

CodeX Docs построен на базе лучших решений экосистемы. Это всевозможные блоки редактора, плагины для настройки блоков, инструменты инлайн-форматирования.

Для работы проекта не требуется разворачивание сложной инфраструктуры, даже внешней базы данных. Все документы хранятся в виде JSON-файлов в папке .db

Документы можно вкладывать друг в друга, формируя разделы в сайдбаре. Менять порядок тоже, разумеется, можно. Каждой странице присваивается красивый URL, основанный на заголовке — это удобно для пользователей и хорошо для поисковой оптимизации.

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

Сценарии использования

Проект получился удобным и полезным. Он может вам пригодиться если вам нужен проект для хранения:

  • внутренней документации команды
  • публичных инструкций и гайдов
  • персональных заметок

Возможно, этим юзкейсы не ограничиваются.

Демо

Мы создали Demo Docs, где можно потестировать все «в движении». Контент там очищается каждые несколько минут.

Сегодня CodeX Docs был опубликован на Product Hunt. Мы будем рады, если вы ознакомитесь и оставите обратную связь.

0
28 комментариев
Написать комментарий...
Evil Pechenka

1. Как вы здесь приделали такую красивую кнопочку в статье? (Опять элитные инструменты для избранных?)
2. На ProductHunt проголосовал.
3. Очередной инструмент исключительно для программистов? Ну т.е. я смотрю на процесс установки и думаю «да ну нахрен», хотя сам инструмент мне нравится.

Ответить
Развернуть ветку
Пётр Савченко

В первой версии это self-hosted решение. SaaS-версию решили отложить до следующих итераций, если будет запрос.

Можем помочь установить

Ответить
Развернуть ветку
Evil Pechenka

Про кнопочку в статье не рассказали.

Спасибо за предложение, но нет — мне же это потом как-то обслуживать надо. Найти кто установит — не проблема.

Ответить
Развернуть ветку
Денис Пихаров

CodeX — часть Комитета, отсюда и кнопочка.

Ответить
Развернуть ветку
Evil Pechenka

Не слишком конспирологично?

Ответить
Развернуть ветку
Artem Petrenkov
я смотрю на процесс установки и думаю «да ну нахрен»,

Для команды менее 10 человек Confluence бесплатен :)

Ответить
Развернуть ветку
Evil Pechenka

Это я знаю, раз 5 пытался к нему привыкнуть — никак, больно уж громоздкий. Даже жадность не помогла.

В итоге — Twist и временами Slite.

Ответить
Развернуть ветку
Пётр Столбанов

Отличная штука! Напомнила https://github.com/alex-shpak/hugo-book , но похоже ваше решение более функционально.
Наличие standalone считаю только плюсом, для тех команд, кто не готов держать документацию на "чужих" серверах. Не избавляйтесь от этой ветки продукта в будущих обновлениях)

Ответить
Развернуть ветку
Илья Меджидов

Собираемся в нашем проекте использовать ваш редактор. Даже редакторы стоимостью в сотни баксов/месяц в некоторых моментах вам уступают, спасибо вам за ваш проект :3

Ответить
Развернуть ветку
Kirill Galkin

А в каком формате сохраняются заметки и как хранятся на диске? Интересно просто как резервную копию делать. Давно ищу подобное приложение для себя, думаю попробовать

Ответить
Развернуть ветку
CodeX
Автор

Они хранятся в виде JSON-файликов в папке .db

Ответить
Развернуть ветку
Kirill Galkin

Понял. Спасибо за ответ!

Ответить
Развернуть ветку
Виталий

Интересно, нужно пробовать

Ответить
Развернуть ветку
Dima

Интересный продукт, установлю сегодня. Спасибо!

Ответить
Развернуть ветку
Nikolay Kulakov

Картинки в тексте по клику нельзя увеличивать?

Ответить
Развернуть ветку
CodeX
Автор

Пока нет, но это легко добавить в следующих версиях.

Ответить
Развернуть ветку
Виталий

Хочу попросить вас помочь с установкой данного приложения на хостинг (не бесплатно). Если такое возможно, напишите пожалуйста в лс

Ответить
Развернуть ветку
Илья Ефимов

Выглядит интересно, но было бы хорошо, если бы вы прописали сравнение с другими перечисленными сервисами в том, что у вас лучше.

Ответить
Развернуть ветку
Alina A

Здравствуйте! Возникли проблемы с развертыванием codex docs. Может кто-нибудь помочь? Спасибо.

Ответить
Развернуть ветку
Пётр Савченко

Нужно больше деталей для более конкретного ответа

Ответить
Развернуть ветку
Alina A

да в общем, помаялась с установкой, опыта просто нет с развертыванием таких проектов. вроде получилось. но для доступа к созданию страниц требует пароль. это так и должно быть?

UPD вот хорошая практика - "вслух" вопросы задавать... все ок, нашла!

Ответить
Развернуть ветку
Timur Karimbaev

Хорошая штука. Но очень нужен поиск

Ответить
Развернуть ветку
CodeX
Автор

Появится в ближайших обновлениях, PR уже на ревью

Ответить
Развернуть ветку
Андрей Остер

а поддержка LDAP будет?

Ответить
Развернуть ветку
Анатолий

Ребята, промучался часа 4, не силен в TS, все работает но как демонизировать то? через pm2 не получается, forever тоже не помогает.

Ответить
Развернуть ветку
Nikita Melnikov

Могу порекомендовать использовать systemd для решения этой задачи (туториал для примера: https://nodesource.com/blog/running-your-node-js-app-with-systemd-part-1/). Сами мы запускаем обычно через Docker, либо в кластере k8s

Ответить
Развернуть ветку
Любовь Н.

Выглядит круто! Попробую

Ответить
Развернуть ветку
Михаил К

Может кто-то гайд подкинуть как нубу правильно в докере запустить? Документация не помогла(

Ответить
Развернуть ветку
25 комментариев
Раскрывать всегда