LINUX.ORG.RU

Существует ли консольная CMS?

 


0

1

Не сталкивался, поэтому просто из любопытства, существует ли такая система, которая управляется командами из консоли, которая используюет уже имеющиеся системные утилиты... например, для подсветки изменения двух страниц (вики движок) используется diff. или опять же, вики-движок реализованный при помощи git'а, куда просто загружаешь новые страницы.

Сейчас конечно можно утилитами править БД, или еще поверх них написать обертки на баш-скриптах, echo «текст» | ./добавить-новость.sh --title «заголовок». Какие еще могут быть варианты развития такой CMS не знаю...

К этой же категории наверно можно отнести генераторы статичных .html страниц, в котором вы хоть через vim редактируете текстовые файлы, а потом система создает страницу со статьей.

Вобщем суть, CMS большая часть функций которой управляется при помощи консоли. И чем проще/понятнее средства (vim, git), тем лучше.

★★★★★

И что тут такого? В Yii это всё можно реализовать консольным приложением.

resurtm ★★★
()

Тут кто-то вообще на баш-скриптах пилил.

Ещё можно посмотреть производные от blosxom, вроде было их несколько штук.

Hoodoo ★★★★★
()

А в чем проблема приделать самому на php-cli ?

Deleted
()

Jabber-микроблоги и морда к ним. Клиенты консольные вроде есть.

anonymous
()

Что-то вроде jekyll и octopress?

drakmail ★★★★
()

Например, питоносайты которые генерятся sphinx. Да и вообще найдёшь 100500 движков на питоне.

true_admin ★★★★★
()

существует. правда, CMS это назвать сложно, скорее «генератор статических html сайтов». хотя зависит от реализации

примеры: ikiwiki jekyll goblog emacs-muse

ну и про генераторы

ikiwiki пожалуй ближе всего будет

anonymous
()
Ответ на: комментарий от Deleted

вроде под emacs org-mode кто-то сайты делает

да, делает, бложики и вот так, подтверждаю

иногда симпотично получается

org-mode элементарно публикует «проект» в html — весь сайт целиком, примерно так же просто, как в emacs-muse

немного надо поднастроить css и стили для красоты, но проблем нет

МЕГАпрофит org-mode в том, что можно например автоматически публиковать список дел в rss в календарь (запуская batch emacs), или сделать org файл в стиле reproducible research и/или literate programming:

например, у нас есть сайт с расчётом чего-нибудь. пишем в org файле literate programming кусок, в котором расчёт делается скриптом из импортированных CSV данных (например, таблицы в html вставлять с расчётом чего-нибудь).

вычисляем org файл, все chunk-и

затем экспортируем что получилось в html или latex/pdf. заворачиваем в batch emacs — и ок, готовая «система публикации».

алсо, и такую вот штуку делают: asset-mgmt

а если ещё скрестить с Interactive Fiction (пример) org-mode, и на сайт публиковать каким-то вебсервисом на elisp сразу из под емакса, можно сразу игрушки в org-mode толпой совместно разрабатывать :))

anonymous
()
Ответ на: комментарий от anonymous

asset management примерно вот так выглядит: куча файлов в репозитории (ресурсов с картинками/звуками), и в org файле ссылки/ARCHIVE_FILE с описанием ресурса.

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

всякие сложные вещи типа рендеринг сцены в картинку, компиляция ресурсов, документации, сайта — запускать в стиле literate programming / reproducible research из org файла.

anonymous
()
Ответ на: комментарий от iZEN

mvn

mvn site

ага, ты ещё Sphinx из питона с rst разметкой посоветуй :)

anonymous
()
Ответ на: комментарий от anonymous

ещё список

ещё распределённые багтрекеры есть, например rt или sd

не помню точно, то ли они, то ли другие подобные распределённые багтрекеры (tic, вроде бы?)

там тоже идеология как в ikiwiki: всё хранится в файлах, интерфейс командной строки к скриптам, сами issues хранятся в git репозитории в текстовых файлах

anonymous
()
Ответ на: комментарий от anonymous

да, и конечно нельзя забыть такой офигенный пример: org-mode + taskjuggler

пишем в org-mode конфиг проекта, которым собираемся управлять. простым английским языком, в человекочитаемом DSL.

ставим TaskJuggler под Ruby — консольную утилиту.

«компилируем» конфиг проекта, (балансируем ресурсы и т.п.) и получаем красивые диаграммы гантта. которые потом экспортируем через org-mode хоть в PDF, хоть в HTML хоть куда.

anonymous
()

вообще, чем тогда CMS отличается от генераторов сайтов с облегчённой разметкой, org-mode того же, например?

1. совместная работа нескольких пользователей, одновременное редактирование контента, через базу данных. не проблема — редактирование текстовых/бинарных файлов в git репозитории

2. права доступа разные у разных категорий пользователей. тут «консольная CMS» ничем не поможет  — если у тебя физически есть полная копия всей «CMS», то ты в принципе можешь посмотреть все данные. SD, например пытается делать свою нереляционную СУБД на перле с хитрой репликацией. в git распределённых чего-то там делаются несколько репозиториев с ограничениями на push от кого можно принимать — да, читать могут все, но запись ограничена тем, как выстроены репозитории (лейтенанты ядра, staged trees и т.п. в git)

3. пользователи-роботы, бизнес-процессы, XML-RPC, публикация и аггрегация, семантические вики.

если немного пофантазировать: вот есть BPM средство типа Runa/WFE — нарисовать бизнес-процесс в BPML, настроить CMS к нему, сделать часть БП для человеков, а часть для роботов и скриптов

ещё есть попытка скрестить семантические вики с бизнес-процессами. это когда разметка в вики сама говорит что тип разметки BPML, тип узла — активность, а активности заполняются по типу вики. на сайте универа дрезденского, ЕМНИП, был пример семантической вики с формами, с бизнес-процессами: описали в самой вики блок-схему процесса, потом вики автоматически сгенерировала форму для заполнения параметров процесса и всю CMS-ную штуку чтобы показать сам процесс, на каком шаге его находимся, чего ждём от юзера для заполнения формы и действия.

такая штука сделана как веб-сервис, а можно выкрутиться и через org-mode babel + какая-то куча скриптов + какое-то понимание разметки (скриптами или в elisp).

упрощённо, нарисовать описание (блок-схемку) бизнес-процесса в org файле, наподобие того, как .dot-файлы из TeX генерируются. только в простой вики-подобной разметке, в каком-то DSL, и с привязкой к chunk-ам как в babel, в literate programming.

в итоге получить документ с бизнес-процессом на каком-то org-mode dsl, описанном на нём самом.

а роботов-исполнителей как в Runa/WFE скриптами сделать.

потом повесить хуки на dbus, fam (запись файлов в какой-то определённый католог, типа /dev/acme/cmd/foobar/run) и запускать скрипты.

если 1,2,3 — не надо, функциональность почти любой CMS на 95% покрывается «генераторами статических html сайтов» в человекопонятной семантически корректной википодобной разметке, например.

anonymous
()
Ответ на: комментарий от anonymous

упрощённо, нарисовать описание (блок-схемку) бизнес-процесса в org файле, наподобие того, как .dot-файлы из TeX генерируются. только в простой вики-подобной разметке, в каком-то DSL, и с привязкой к chunk-ам как в babel, в literate programming.

в итоге получить документ с бизнес-процессом на каком-то org-mode dsl, описанном на нём самом.

вот например в описании org-mode с картинками исходник как рисуется UML диаграмма в картинку:

#+begin_src plantuml :file phone_states.png :cache yes
title Phone Call Task State
[*] -> PHONE
PHONE -> [*]
#+end_src

#+results[7fcae03150f58bbcc260379916083e99a91983c4]:
[[file:phone_states.png]]

немного повозившись, можно генерировать не картики, а SVG с гиперссылками например.

построить «палками и верёвками» движок бизнес-процессов в org-mode :) (лучше бы конечно, сразу в skribe и emacs взять TeXmacs со схемой и блекджеком )

а какие-то события можно прикрутить к псевдофайлам через FUSE и Inotify/Dnotify к «псевдофайлам» :) и повесить их на функции в skribilo :)

более, того, конвертацией разметки в S-выражения и обратно через elisp можно сделать SOA архитектуру и веб-сервисы (без «веб» :))

нужен не репозиторий SOA сервисов. нужна «семантическая файловая система» (типа http://camlistore.org), + скрещённая с Plan9 /dev/acme/cmd/foobar/{args,run,result} :

пишем в «псевдофайл» /dev/acme/cmd/foobar/args параметры функции (foobar sexpr1 sexpr2 ...)

пишем в /dev/acme/cmd/foobar/run «\n» -> запускается функция ( монитором Inotify / dbus/ ...)

(или : читаем из /dev/acme/event/signal -> событие event запустилось ( монитором Inotify / dbus/ ...) )

читаем из /dev/acme/cmd/results результат.

передаём результат дальше по eval.

anonymous
()
Ответ на: комментарий от anonymous

а все навороты типа SOA архитектуры с сервером приложений (Emacs, texmacs, skribillo + демон над Inotify или FUSE), репозиторием сервисов (.git/packed-refs), адаптерами данных ( конвертор в/из S-выражений), событиями ( демон над Inotify или FUSE), хранилище данных ( CAM (camlistore) + FUSE обёртка к CAM), бизнес-процессы и демоны ( демоны на scsh/elisp/skribillo )

выкинуть в трубу как overengineered и ненужно.

даёшь Plan9 + org-mode babel в энтырпрайз!!!

anonymous
()
Ответ на: комментарий от anonymous

ничего себе попёрло
интересно

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.