zlukfo@gmail.com
  • Публикации
  • Темы
  • Ключевые слова
  • Архив

Python Pelican: настройка проекта для комфортной работы

В статье приведен один способ организации проекта Pelican, упрощающий его сопровождение (добавление контента на сайт, изменение дизайна, добавление плагинов и пр.). Есть и другие способы, какой будете использовать Вы - дело вкуса.

Структура проекта

В каталоге проекта myProject создадим два подкаталога

  • myProject/pelican - здесь будет развернут проект Pelican со всеми настройками и контентом
  • myProject/output - сюда будут сохраняться сгенерированные страницы сайта.

В директории pelican разворачиваем новый проект

cd pelican
pelican-quickstart

Создаем каталоги - myProject/pelican/pelican-plugins - здесь будут храниться нужные для проекты плагина - myProject/pelican/pelican-themes - каталог для хранения тем сайта

В каталоге проекта создаем два командных файла

1. myProject/pelican/gen.bat

pelican -r -o ../output

для отслеживания изменений контента в my_project/pelican/content в фоновом режиме. Если Вы изменили статью и сохранили изменения, выполнится автоматическая генерация обновленных страниц сайта, котореы сохранятся в каталоге myProject/output

2. myProject/pelican/local_server.bat

cd ../output
python -m CGIHTTPServer

данный файл запустит локальный http-сервер. Сгенерированный сайт будет доступен в браузере по адресу http://localhost:8000

Чего добились:
  • приведенная структура разделила проект Pelican и сгенерированный сайт. Git репозитории, созданные отдельно в каталогах output и pelican упростят публикацию сайта и хранение проекта.
  • запуск командных файлов упрощает просмотр обновлений на сайте после изменения контента.

Конфигурация проекта

Существует основной файл конфигурации - myProject/pelican/pelicanconf.py. В нем размещены параметры, касающиеся всего проекта. Назовем их условно "глобальными" параметрами проекта. К таким, например относится место расположения статических файлов (css, js, изображений), формат генерации ссылок на страницы сайта и т.д. Ниже приведены некоторые "глобальные" параметры конфигурации, которые полезно будет задать для большинства проектов Pelican

THEME='pelican-themes\\gym'
ARTICLE_URL = 'articles/{slug}'
ARTICLE_SAVE_AS = 'articles/{slug}/index.html'
STATIC_PATHS = ['images', 'static']
PLUGIN_PATH = 'pelican-plugins'
PLUGINS = ['sitemap', 'extract_toc', 'tipue_search']
SITEURL="http://localhost:8000"
DELETE_OUTPUT_DIRECTORY = True
DEFAULT_METADATA = {
'date': u'2016-05-24',
'status': 'published'
}

Параметры, зависящие от выбранной темы сайта, или влияющие на работу конкретного js скрипта (назовем их "локальными" параметрами проекта) лучше разместить в отдельном файле конфигурации. Для этого в каталоге проекта создаем файл myProject/pelican/myconf.py и задаем в нем локальные параметры.

Чтобы генератор сайта "подхватывал" параметры конфигурации из обоих файлов, в pelicanconf.py добавим строки

from __future__ import unicode_literals
import os, sys
sys.path.append(os.getcwd())
from myconf import *
Чего добились:
упростили код файла конфигурации

Опубликовано

июля 27, 2016

Тема

Инструменты разработки

Ключевые слова

  • pelican 2
  • python 14
  • разработка сайтов 2
  • zlukfo@gmail.com - Публикации на тему разработки web-приложений
  • Все авторские права защищены
  • Автор и разработчик блога zlukfo. Theme: Elegant by Talha Mansoor