ARBLOG
Проект arblog из моего персонального блога превратился в независимый движок, всё моё было оттуда вычищено и выделено в основанный на нём archimag.lisper.ru. Теперь любой желающий может использовать arblog для создания своего собственного блога.
Проект подразумевает модульную структуру, с возможностью поддержки разных хранилищ данных, разных языков разметки, разных тем оформления и, вероятно, различных систем комментариев (правда для комментариев я ещё не пришёл к конкретному решению). Но богатства модулей пока не наблюдается, а есть хранилище на MongoDB, разметка на базе reStructuredText и одна единственная тема оформления.
Простейший сайт на базе arblog можно создать следующим образом:
(defsystem #:myblog
:defsystem-depends-on (#:arblog-systems)
:depends-on (#:arblog #:arblog-datastore-mongodb #:arblog-markup-rst #:arblog-theme-mirev)
:components ((:file "myblog")))
(restas:define-module #:myblog
(:use #:cl))
(in-package #:myblog)
(restas:mount-submodule -arblog- (#:arblog)
(arblog:*blog-name* "My blog")
(arblog:*posts-on-page* 10)
(arblog:*datastore* (make-instance 'arblog.datastore.mongodb:arblog-mongo-datastore))
(arblog:*markup* (make-instance 'arblog.markup.rst:arblog-rst-markup))
(arblog:*theme* (make-instance 'arblog.theme.mirev:arblog-mirev-theme))
(arblog:*disqus-enabled* nil))
Здесь комментарии отключены. Если есть аккаунт DISQUS, то можно включить комментарии задав в restas:mount-submodule следующие переменные:
(arblog:*disqus-developer-mode* nil)
(arblog:*disqus-enabled* t)
В ближайшем будущем будет несколько постов о внутреннем устройстве arblog.
Чуть не забыл, проект требует самых последний версий restas и cl-closure-template.