Pelican
Лог установки блога на Pelican
Installing Pelican
$ sudo -s #установку делаем от рута
$ apt-get update && apt-get upgrade
$ apt-get install python-pip #если pip еще не установлен
$ pip install pelican
Вытянуло:
- feedgenerator (to generate the Atom feeds),
- jinja2 (for templating support),
- docutils (for supporting reStructuredText as an input format),
- pitz,
- pygments (for syntax highlighting),
- blinker,
- unidecode.
Доустанавливаем Маркдаун
$ pip install Markdown
Дополнительно можно установить
- Typogrify (for typographical enhancements)
Для апгрейда используем команду
$ pip install --upgrade pelican
Создадим директорию для нашего блога
$ mkdir ~/blog/
$ cd ~/blog
Теперь мы можем запустить команду Пеликан quickstart, которая задаст несколько вопросов о настройках сайта:
$ pelican-quickstart
Отвечаем на вопросы. Эти ответы влияют на содержание файлов настройки (Makefile, pelicanconf.py, publishconf.py) Впоследствии можно все откорректировать вручную.
Создаем пробный файл test.md
в директории content. Файл должен иметь стандартную шапку. Вот шаблон:
Date: 2010-12-03
Title: My super title
Tags: thats, awesome
Slug: my-super-post
This is the content of my super blog post.
Для создания HTML-контента можно запускать непосредственно pelican с ключами, указывающими, что откуда брать, как обрабатывать и куда складывать. Для упрощения этого процесса можно использовать Makefile. Например, команда
$ make html
перегенерирует контент в статик-html. Смотрим в blog/output, там будет лежать готовый 'сайт' нашего блога.
Когда я активно редактирую статью, мне удобно, чтобы сайт обновлялся автоматически при внесении правок. Для этого я запускаю devserver:
$ make devserver
$ ./develop_server.sh stop
Вторая команда, соответственно, для остановки девелоп-сервера.
Тут я намеренно не описываю инсталяцию Пеликана в защищенное виртуальное окружение (virtualenv), потому что имхо на рабочем сервере в ней нет надобности. Она, скорее, для разработки, когда нужно, чтобы крутилось много проектов, зачастую с разными версиями пакетов.
Настройка lighttpd
Добавляем виртуальный хост, на примере сервера Lighttpd. Прописываем в lighttpd.conf:
$HTTP["host"] =~ "blog.swasher.pp.ua" {
server.document-root = "/home/swasher/blog/output/"
}
Рестарт
$ service lighttpd force-reload
Проверяем, заходим в браузер на наш сайт blog.swasher.pp.ua
. Тут нужно проверить правильность
настройки DNS у нашего регистратора домена, и локально, чтобы этот домен виделся из
локальной сети. Обычно это настраивается в роутере.
Настройка Samba
Для измения файлов по сетки, настроим самбу. Для начала настроим права доступа.
$ chown swasher:swasher -R blog/content/
В конфиг самбы добавим:
[pelican] comment = Pelican
path = /home/swasher/blog/content
browseable = yes
read only = no
guest ok = yes
create mask = 0644
force user = swasher
Как установить новую тему
$ cd /usr/local/lib/python2.7/dist-packages/pelican/themes/
$ git clone https://github.com/thulio/pelican-subtle-theme
Для примения новой темы добавляем в Makefile такую строку (без кавычек):
PELICANOPTS=-t /usr/local/lib/python2.7/dist-packages/pelican/themes/pelican-subtle-theme/
Или же используем встроенную утилиту pelican-themes. Например, если у нас есть кастомизированная тема, можно сделать сим-линк на нее:
$ pelican-themes -s /home/swasher/blog/themes/subtle/
Все должно уже работать
Все, наш блог виден, загружается и работает. В продолжении будет написано, как я настраивал дизайн, шрифты, хранение и вставку картинок, Markdown-редактор, перенос статей с Вордпресс, настройку комментариев etc.
Ссылки
- Пеликан
- Маркдаун
Comments !