вторник, 1 декабря 2009 г.

restas-planet

Полностью отделил код планеты, используемой на lisper.ru, от кода rulisp, теперь это совершенно независимый restas-плагин. Его можно использовать для создания планеты как независимого приложения, так и в рамках какого-либо сайта. Вот простейший кода, использующий этот плагин:
(asdf:operate 'asdf:load-op '#:restas-planet)

(restas:defsite #:myplanet
(:use #:cl))

(in-package #:myplanet)

(restas:define-site-plugin planet (#:restas.planet)
(restas.planet:*feeds* #P"/path/to/feeds/description")
(restas.planet:*name* "My Planet"))

(restas:start-site '#:myplanet :port 8080)
В качестве значения restas.planet:*feeds* должен использоваться путь к файлу, подобному следующему:
(feed "http://swizard.livejournal.com/data/atom" :category "lisp")
(feed "http://lisp.tomsk.ru/wordpress/feed/")
Для настройки плагина можно использовать следующие параметры (все из пакета #:resas.planet):
  • *baseurl* - базовый url
  • *feeds* - путь к файлу с описаниями лент (см. выше)
  • *name* - имя планеты, по-умолчанию "PLANET"
  • *template* - функция генерирующая html-код, по умолчанию - 'restas.planet.view:feed-html
  • *schedule* - расписание обновления лент в формате библиотеки clon, по-умолчанию - '(:hour *) (обновление раз в час)
  • *cache-dir* - каталог для кэша, в том числе, кэша лент. Если не указан - кэш не используется.
Исходный код плагина доступен здесь: http://github.com/archimag/restas-planet
Патчи приветствуются (как и просто желающие принять участие в разработке).

Комментариев нет:

Отправить комментарий