Содержание
Предисловие
В процессе работы и самообучения возникло несколько задач, которые подвигли на создание этого блога.
Во-первых, необходимость записывать для себя определённые настройки, последовательность действий, технологии, функции и т.п. Такого рода задач возникают регулярно при изучении разных технологий в программировании и при администрировании. Фактически, при решении задач, которые иногда приходится повторять (а, при возможности и автоматизировать). При этом в сети есть много блогов, статей, форумов которые дают ответы почти на все вопросы; но всегда есть особенности, которые отличают поставленную задачу от того, что рассматривается в статьях. Кроме того, форумы иногда закрываются, чужие статьи теряются, ... В общем, довольно важной видится задача создавать и как-то организовывать заметки для себя, в первую очередь. А если ещё кому-нибудь пригодится, будет замечательно.
Во-вторых, возникло желание приобщиться в веб-технологиям, точнее к веб-программированию. Причины объяснять смысла нету − такое желание есть у многих, да и не тема это данной статьи. Один из побудительных мотивов − расширение сферы применения Python изучением которого уже некоторое время занимаюсь (пока для себя на уровне написания скриптов для системы). В результате предварительного ознакомления с веб-технологиями решил сначала посмотреть в сторону статических сайтов, потом уже копать или в сторону солидных back-end фреймворков (django и pyramid), или чуть поглубже копнуть во front-end (JQuery, bootstrap, AngularJS − что-то в этом роде).
В-третьих, некоторое время уже работаю с ReStructuredText. Зачем понадобился язык разметки и почему именно ReST возможно напишу в другой статье (посвящённой именно этому инструменту). Но использование ReST в качестве языка для написания заметок для меня было бы несомненным плюсом.
В контексте вышесказанного выбор pelican как генератор статического блога на python с поддержкой ReST в качестве одного из основных языков разметки для ведения своих заметок и хранения (выкладывания) их в сети выглядит очевидным.
Этапы, детали и нюансы работы с pelican опишу в следующей заметке. Сейчас просто рассмотрю что хочется получить в итоге. Статью со временем планирую править (до определённого логического предела, стараясь не плодить принципиально нового функционала, а только уточнять запланированное раньше и перемещать сделанное). Уже реализованную часть не удаляю, а перемещаю в конец статьи.
Предстроит сделать
Доработка интерфейса
- Создать свой логотип и favicon и прикрутить к сайту.
- Изучить возможности выбранной темы и применить всё, что считаю нужным для себя.
- Может добавить свой значек для контактов
- Добавить-изменить "под себя":
- продумать и записать в этой статье;
- реализовать и описать в другой статье.
- Сделать варианты день-ночь, цвет-монохром.
- Создать авторскую стартовую страницу.
Мультиязычность
- Изучить стандартные возможности (встроенные) по интернационализации. Насколько понял, есть возможность переводить статьи, не знаю как ведет система при отсутствии статьи в одном языке и наличии в другом. Кроме того, насколько понял, язык интерфейса один − установленый по умолчанию.
- Возможности по интернационализации интерфейса.
- Возможности по переводу статей (особенно в плане автоперевода или автоссылки не статьи с существующим переводом).
Автоматизация
- создание статьи:
- выбор существующей категрии или создание новой;
- выбор тегов (по категории или из всех) или создание новых.
- создание заголовков (слагов) чтбы не дубировалсь.
- создание и подскаска по другим метаполям (метатегам).
- создание статей на других языках (с ссылками на основной)
- Управление статьями (на будущее)
Расширение функциональности
Изучить вопрос функциональности блогов в целом (как статических таки динамических) определится что мне нужно сейчас и что может понадобится в ближайшем будущем.
Пока предварительные выводы из сайта http://www.unix-lab.org/posts/pelican:
- robots.txt;
- карта сайта;
- google analitycs;
- комментарии.
Уже сделано.
В этом разделе расположены задачи, которые уже выполнены и описаны в блоге. Поэтому для заданий (подразделов) будет указана ссылка на статью в которой описано решение задачи.
Содержание
Минимальный старт
Описано в статье "Запускаем пеликана"
- Установить минимальный набор инструментов необходимый для работы с pelican.
- Создать свой блог (dsmblog).
- Выбрать и установить отзывчивую (резиновую) тему.
- Написать пару заметок-статей (эту и описанние процесса)
- Отладить работу на локальном сервере.
Перенос на github
Описано в статье "Переселяем пеликана на github"
- Создание репозитория на github
- Перенос уже готовых статей в созданный репозиторий
- Настройка local_settings.py
- Минимальная автоматизация внесения изменений в репозиторий