🐍 Как сделать сайт на Python за 5 минут с помощью SSG-генератора Pelican
Нужно срочно сoздать сайт-визитку, резюме или портфолио, но не хочется использовать WordPress и Tilda? Расскажем, как сделать сайт или блог за 5 минут с помощью SSG-генератора на Python. Статические (а точнее – пререндеренные) сайты переживают второе рождение, и неудивительно: они мгновенно загружаются, выдерживают любой трафик, им не нужен дорогой хостинг, они не используют базы данных и потому их практически невозможно взломать. С помощью генератора можно быстро сделать сайт-визитку, резюме или портфолио на основе любого готового HTML/CSS/JS-шаблона. Самые популярные генераторы статических сайтов (SSG) написаны на Ruby (Jekyll) и Go (Hugo), но есть и несколько интересных решений на Python: Pelican, Lektor, Nikola и Hyde. Pelican – наиболее простой и в то же время мощный Python-генератор: с его помощью можно создать собственный сайт или блог в считаные минуты. Pelican работает по тому же принципу, что и другие генераторы: Jinja2-шаблон – это HTML файл с переменными и операторами, которые генерируют контент Пеликан разделяет все плюсы и минусы других SSG. Среди плюсов: Есть и минусы: Больше полезных материалов вы найдете на нашем телеграм-канале «Библиотека питониста» Интересно, перейти к каналу У большинства генераторов статических сайтов, за исключением Lektor, нет админ-панели: управлять контентом приходится через CLI. Pelican тоже управляется из командной строки, но, в отличие от других генераторов, его команды максимально просты. Для запуска Пеликана необходимо наличие в системе Python 3.6+. Как и любой более-менее серьезный Python-проект, Pelican целесообразно устанавливать в виртуальное окружение. Сначала создадим директорию для нового проекта, а затем воспользуемся менеджером зависимостей Установка Pelican и зависимостей в виртуальное окружение Процесс установки займет около минуты. После завершения установки активируем виртуальное окружение: Пока виртуальное окружение активно, перед именем директории проекта отображается На экране один за другим будут появляться вопросы о базовых настройках сайта. Отвечать на них можно как угодно – потом настройки можно будет поправить вручную в pelicanconf.py. Вопросы мастера настройки Pelican После того как мастер настройки Pelican получит ответы на все вопросы, можно приступать к созданию содержимого сайта. Пеликан автоматически создает две папки – content и output. В первой папке пользователь сохраняет посты, страницы и изображения, во вторую генератор выгружает готовые html-страницы. Посты нужно сохранять в поддиректории articles, страницы – в pages, изображения – в images. Поддиректории придется создать вручную. Для генерации сайта нужно положить в папку contentarticles хотя бы один Markdown файл. Например, такой: После создания первого поста можно запускать генератор: Запустить сервер можно тремя способами: Сайт будет доступен в браузере по адресу http://localhost:8000/. Тема по умолчанию Остановить сервер можно комбинацией Хотя по количеству тем Пеликан пока что уступает Hugo, у пользователей все-таки есть неплохой выбор: подходящую тему можно подыскать на сайте Pelican Themes или в репозитории на Гитхабе. Изменить оформление сайта очень просто: архив нужно распаковать в поддиректорию .venvLibsite-packagespelicanthemes, а в конфигурационном файле указать название темы: После этого нужно сгенерировать сайт в соответствии с новой темой – Тема Flex По сути, изменить оформление Pelican-сайта так же просто, как сменить тему динамической CMS наподобие WordPress. Если в каталоге готовых тем не нашлось шаблона по вкусу, его несложно сделать самостоятельно. В этом блоге есть подробный урок по созданию темы для Pelican-сайта на основе готового бесплатного HTML/CSS-шаблона. Главный недостаток статических сайтов в сравнении с динамическими CMS – отсутствие встроенного поиска, комментариев и форм для общения с посетителями. Возможность компенсировать эти недостатки существует. Решить проблему с поиском на Pelican-сайте можно двумя способами: Для опроса посетителей можно подключить Google-формы. Для обработки формы обратной связи удобнее использовать сервисы: Подобных платформ много, набор услуг у них примерно одинаков: На бесплатных тарифах, как правило, количество обработок ограничено, но в большинстве случаев для частного блога этого лимита будет вполне достаточно. Самый простой способ подключить комментарии к статическому блогу – использовать Disqus. Этот способ также можно назвать самым нежелательным: сервис загружает массу трекеров и использует личные данные пользователей. Другие решения: Долгое время пользователям приходилось выбирать динамические CMS с базами данных только потому, что перспектива редактирования нескольких десятков страниц статического сайта приводила их в ужас. Добавился или изменился один пункт в меню, которое отображается на всех страницах? Надо редактировать все страницы. А уж если нужно изменить дизайн… Генератор статических сайтов снимает проблемы редактирования и смены дизайна: эти операции Pelican выполняет так же быстро, как динамическая CMS. Гибкость и простота Pelican позволяют использовать его с любыми шаблонами. Нашли свежую Bootstrap-тему с трендовыми анимационными эффектами? Pelican наполнит броский шаблон контентом и превратит его в быстрый, функциональный, масштабируемый сайт, которому подойдет самый простой хостинг. *** Как устроен Pelican
Преимущества и недостатки Pelican
Установка, настройка и запуск Pelican
pipenv
:
mkdir e:myblog cd e:myblog mkdir .venv pipenv install pelican[Markdown]
pipenv shell
(.venv)
. Запустим команду для создания файла конфигурации Пеликана, pelicanconf.py:
pelican-quickstart
Title: Это мой новый блог на Пеликане Date: 2022-03-15 10:20 Category: Новости Slug: first-post Pelican – быстрый и простой в использовании генератор статических сайтов с CLI. В стандартный дистрибутив входят две темы оформления. Эта тема называется simple.
pelican content
pelican --listen
– стандартный;pelican -l
– сокращенный;pelican -r -l
– с автоматической регенерацией контента (используется в режиме разработки – для кастомизации темы, тестирования плагинов и так далее). Команду запуска можно комбинировать с командой генерации контента: pelican content -l
.Ctrl + C
, а выйти из виртуального окружения – командой exit
.Темы оформления для Pelican
THEME = 'flex'
pelican content -r -l
, и можно любоваться новым дизайном.Поиск, комментарии и формы
Поиск
Формы для опросов и обратной связи
Комментарии
Заключение
Материалы по теме
- 7 views
- 0 Comment