Существует ли CMS (вики?) с ветвлением и форкингом (как в git)?

Вопрос или проблема

Я ищу систему управления контентом (CMS), которая предоставляла бы гибридную функциональность вики и версионирования с поддержкой ветвления/форка, как в GitHub.

Идея заключается в создании для длинных текстов того, что git предоставляет для кодовых баз. Т.е. поддержка различных участников для развития текста в разных направлениях, которые могут быть или не быть объединены в некоторый момент.

Отличие от вики в том, что существует не только одна текущая версия (и история), но потенциально несколько текущих версий, например, доступных через website.com/slug/hash, где slug общий для всех версий, а каждая версия имеет свой собственный хэш.

Другими словами: я не просто хочу историю версий в фоновом режиме, но

  • Я хочу, чтобы расходящиеся ветви были видны. Например, метаинформация, указывающая “эй, посмотри сюда, есть другое мнение по этому вопросу”
  • точно не просто 1 текущая версия и использование git/и т.п. для истории.
  • возможность прямой ссылки на каждую ревизию, будь то текущая или историческая (смотрите ссылку с хэшем выше)
  • если посещается старая ревизия, возможно, добавить ссылку на последние версии (их может быть несколько).

Что-то на основе git, вероятно, можно использовать, но для ветвления, вероятно, это означало бы создание репозитория на каждый текст и много работы с разбором коммитов/истории репозитория.

Большинство генераторов статических сайтов хранят свои исходники в простых файлах, просто поместите эти файлы в git.

Или используйте github pages, технически используя генератор статических сайтов Jekyll с поддержкой GitHub “из коробки”. Если вы хотите разместить это сами, используйте gitlab pages с несколькими другими генераторами статических сайтов.

Или попробуйте заглянуть в ikiwiki.

Вы, возможно, знакомы с Gollum, как с кодом, управляющим функцией вики на GitHub. База данных для вики просто репозиторий Git.

Я размещаю Gollum у себя и использую его как очень легкую CMS. Он имеет простой в использовании веб-интерфейс, который позволяет мне редактировать содержимое на основе Markdown в моем браузере, но я также могу напрямую управлять репозиторием Git через командную строку.

Gollum позволяет ссылаться на документ в репозитории Git, как он существовал в определенном коммите (см. представление истории). Я не совсем уверен, можно ли это изменить для доступа к коммитам, которые не находятся в мастер-ветке. Если нет лучшей альтернативы, идеально соответствующей вашему случаю, Gollum был бы хорошей отправной точкой: это довольно простое приложение на Rails, и у меня был некоторый успех, сам подправив код.

Вы можете попробовать fossil, которая по сути является DVCS, немного напоминающей git, но собранной в одном исполняемом файле и также содержащей веб-интерфейс и интегрированную вики.

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

Хотя это и не CMS в строгом смысле, она также поддерживает markdown в области вики.

Ответ или решение

В настоящее время существует необходимость в системе управления контентом (CMS), которая бы сочетала функции вики и поддержки ветвления/форкинга, как в Git. Такой подход пригодится при работе с длинными текстами, позволяя нескольким авторам вносить изменения в разных направлениях, которые в дальнейшем могут быть объединены. Рассмотрим доступные решения и их возможности:

  1. Gollum: Эта CMS управляется через Git и используется в GitHub для вики. Она может быть развернута на вашем сервере, предоставляя легкий интерфейс для редактирования контента на основе Markdown через браузер. Gollum позволяет ссылаться на конкретные версии документов с помощью хеша коммита. Это решение предоставляет основные возможности ветвления и может быть доработано для расширения функциональности.

  2. Fossil: Эта система управления версиями (DVCS) напоминает Git, но включает в себя веб-интерфейс и интегрированную вики. Fossil позволяет визуализировать ветки и поддерживает Markdown для описания контента. Хотя Fossil не является CMS в строгом понимании, она может использоваться как основа для вашей задачи благодаря своей гибкости и простоте развертывания.

  3. Statischesutenen и генераторы сайтов: Использование статических генераторов сайтов, таких как Jekyll, в сочетании с Git может быть полезно для создания версии сайта с поддержкой разных веток. GitHub Pages и GitLab Pages поддерживают различные генераторы и позволяют размещать статический контент, включая страницу истории коммитов и веток.

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

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

Оцените материал
Добавить комментарий

Капча загружается...