Import old Pelican data

This commit is contained in:
2021-01-05 22:48:16 +03:00
parent f527f02371
commit 215d43e69e
8 changed files with 177 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
#Настройка редактора Atom для работы с Markdown
Для работы над статическим сайтом нужно:
- Редактировать файлы Markdown
- Хранить файлы в "безопасном" месте. Чтобы случайно их не потерять
- Облегчить себе работу по формирофанию необходимой сужебной информации внутри файлов (Front Matter)
GitHub поможет решить вопрос хранения файлов со статьями и новостямии, а вот
удобного редактирования и наполнения файлов можно решить практически любым редактором
кода. Для себя я выбрал редактор от авторов GitHub - [Atom][75f0e641].
Это современные кросс платформенный редактор кода, с множеством удобным плагинов и, что самое важное, встроенной интеграцией с
Github. Что позволяет собрать функионально рабочее место для работы над блогом буквально
за 15 минут. И не беспокоиться о том, что с таким трудом созданные данные будут утеряны
из-за аппаратного или программного сбоя.
Поскольку работаю я на GNU/Linux Debian, то и процесс настройки буду описывать для этой операционной
системы.
1. Скачиваем пакет с сайта [Atom][75f0e641].
![Главная страница atom.io](images/2020/05/screenshot-atom.io-2020.05.03-15_33_48.png)
2. Устанавливаем зависимости:
`$ sudo aptitude install git, libgconf-2-4, libgtk-3-0, libgcrypt20, libnotify4, libxtst6, libnss3, python, gvfs-bin, xdg-utils, libx11-xcb1, libxss1, libasound2, libxkbfile1, libcurl4, policykit-1, lsb-release
`
Первое, что следует сделать после установки Git — указать своё имя и адрес электронной почты. Это важно, потому что каждый коммит в Git содержит эту информацию, и она включена в коммиты, передаваемые вами, и не может быть далее изменена:
`$ git config --global user.name "kpa39l"
$ git config --global user.email kpa39l@yandex.ru
`
Если указана опция --global, то эти настройки достаточно сделать только один раз, поскольку в этом случае Git будет использовать эти данные для всего, что вы делаете в этой системе. Если для каких-то отдельных проектов вы хотите указать другое имя или электронную почту, можно выполнить эту же команду без параметра --global в каталоге с нужным проектом.
Теперь устанавливаем сам редактор:
`$ sudo dpkg -i ~/Загрузки/atom-amd64.deb`
После установки ярлык для запуска добавиться в раздел "Разработка" системного меню.
![Расположения ярлыка в системном меню](images/2020/05/Снимок экрана_2020-05-03_15-47-43.png)
Или можно его запустить используя команду в консоли от текущего пользователя:
`$ atom`
3. Для хранения файлов можно использовать репозиторий GitHub. Ведь именно для этого как раз и выбирался редактор Atom,как имеющий встроенную
интеграцию c GitHub. Для этого нужно получить ссылку для клонирования репозитория
![Копируем ссылку для клонирования репозитория](images/2020/05/Снимок экрана_2020-05-03_16-06-03.png)
`https://github.com/kpa39l/gelonet.git`
Теперь при открытии панели с интеграцией с GitHUb (Ctrl + Shift + 8) и нажав кнопку "Clone existing repository" мы можем ввести в поле ввода эту ссылку. Чтобы не мучаться с авторизацией в ссылку можно добавить данные о логине и пароле, приведя её к виду:
`https://login:password@github.com/kpa39l/gelonet.git`
Эти действия настроят интеграцию локальной папки с репозиторием на GitHub без редактирования
файлов конфигурации.
4. Теперь для добства работы нужно добавить в Atom несколько плагинов для увеличения удобства работы со статическими блогами на Markdown. Для себя я определил следующий список:
- markdown-scroll-sync
- markdown-writer и зависящий от него
- tool-bar-markdown-writer
Чтобы не искать их в списке пакетов достаточно выполнить в консоли команду:
`$ apm install markdown-scroll-sync tool-bar markdown-writer tool-bar-markdown-writer`
В итоге при работе с Markdown файлами в интерфейсе редактора появится вот такая панель:
![](images/2020/05/Снимок экрана_2020-05-03_16-36-21.png)
Часто используемые инструменты Markdown-разметки отображаются в верхней части окна и при
необходимости можно их использовать.
[75f0e641]: https://atom.io "Atom"
Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

+54
View File
@@ -0,0 +1,54 @@
# Быстрый старт
Настоятельно рекомендуем прочитать полную версию документации, но для особо нетерпеливых ниже представлен ряд шагов, чтобы быстро начать работу.
# Подготовка
В системе GNU/Linux Debian Buster по-умолчанию уже устанолен Python 3.7 Установим утилиту для создния виртуального окружения venv.
`$ sudo aptitude install python3-venv`
Он включает в свой состав утилиты pip для установки пакетов
Создаем каталог в котором будет работать Pelican:
`$ mkdir pelican && cd pelican`.
Создаем внутри каталога виртуальную среду Pytnon `$ python3 -m venv pelicanenv` и активируем её командой `$ source pelicanenv/bin/activate`
# Установка
Устанавливаем Pelican (и дополнительно Markdown) на Python 3.7+, выполнив следующую команду в терминале:
`(pelicanenv) $ pip install pelican[Markdown]`
# Создание проекта
Выбираем имя для проекта и создаем каталог с соответствующим именем для сайта и переходим в этот каталог:
`(pelicanenv) $ mkdir -p ./projects/yoursite.ru
(pelicanenv) $ cd ./projects/yoursite.ru`
Дальше создаем основу для проекта с помощью команды `pelican-quickstart`. Эта команда задаст несколько вопросов о создаваемом сайте. На вопрос о URL адресе сайта следует ответить в том же виде как будет отображено в примере http://yoursite.ru
# Создаем статью
Для того чтобы запустить Pelican потребуется создать хотя бы одну статью. Для этого в любом тектосовм редакторе создаем файл со следующим cодержимым:
`Title: Мой Первый Отзыв
Date: 2020-05-04 10:20
Category: Обзор
Ниже приведен обзор моей любимой механической клавиатуры.`
Поскольку эта статья для примера рассматривает работу с данными в формате Markdown, то сохранить его нужно как `./projects/yoursite.ru/content/keyboard-review.md`.
# Генерируем сайт
В корневом каталоге проекта `./projects/yoursite.ru/`выполните pelican-команду для создания сайта:
`(pelicanenv) $ pelican content`
В результате выполенния команды сайт был создан внутри каталога `./projects/yoursite.ru/output`. В процесе работы могут отобразиться предупреждения, относящееся к RSS лентам, но это нормально при локальном развертывании и можно пока не обращать на них внимание.
# Предварительный просмотр сайта
Открываем сеанс терминала, перейдим в корневой каталог проекта `./projects/yoursite.ru/`и выполняем команду для запуска веб-сервера Pelican:
`(pelicanenv) pelican --listen`
Теперь просмотреть сгенерированный сайт можно перейдя на http://localhost:8000/ в браузере.
Более подробная информация содержится вдокументации, продолжайте изучать её. Так же на странице [Tutorials](https://github.com/getpelican/pelican/wiki/Tutorials) wiki Pelican приведены ссылки на опубликованные сообществом руководства.
# Источники
https://python-scripts.com/virtualenv
https://docs.getpelican.com/en/stable/quickstart.html
+16
View File
@@ -0,0 +1,16 @@
#Выбор генератора статического сайта
Анализ того ресурса, что размещен на хостинге и называется моим сайтом, показал что я замечательно и без проблем живу на flat cms Grav (плоская CMS без базы данных). При этом я здорово сэкономил на хостинге. Мой месячная абонплата на [jino.ru](http://jino.ru) не дотягивала даже до 80 рублей. Поэтому мне показалочь логичным сделать следующий шаг и перейти на полностью статический сайт генерируемый из текстовых файлов (мне понравился язык разметки Markdown), хранимых в каком-либо облаке, например на GitHub.
Оказалось таких хитрецов как я полным-полно и в сети легко найти тонный инструментов для такой работы. Поскольку я неофит в Python и уже успел ознакомиться с шаблонизатором Jinja2, то и сформировал для себя следующий набор требований к генератору статического сайта:
1. Реализация на Python. Для работы и на ноутбуке с GNU\Linux и на домашнем компе с Windows 10. Опять же с исследовательскими целями полезно работать с инструментом написанном на Python.
2. Работа с данными в файлах Markdown. Это удобный язык разметки, позволяющий легко реализовывать все нужные мне средства орагнизации текста.
3. Работа с шаблонизатором Jinja2. Удобный и мощный шаболнизатор. Понравился мне он, да и папа мой называл меня в детстве Джинджя.
4. Возможность работы с плагинами.
5.
В итоге непродолжительных поисков нашёл в сети сайт [https://www.staticgen.com/](https://www.staticgen.com/) и на нем по указанным параметрам отобрал вот такое вот решение:
[https://blog.getpelican.com/](https://blog.getpelican.com/)
[https://github.com/getpelican/](https://github.com/getpelican/)
[http://www.pelicanthemes.com/](http://www.pelicanthemes.com/)
+37
View File
@@ -0,0 +1,37 @@
# Список задач по реализации сайта
- [] Реализация pjax-навигации https://github.com/MoOx/pjax
- [] Поиск информации по автоматическому добавлению страниц из GitHub (очень важно для новостей)
- [] Реализация плагина библиотеки для Grav
- [] Реализация плагина кроспостинга в VK
- [] Реализация поиска по сайту
# Темы для последующих статей
- Настройка плагина Markdown-writer для работы с Pelican
- Структура каталогов и файлов репозитория для работы с Pelican
- Переделка темы hexo-3 под Pelican https://yelog.org/
- Полнотекстовый поиск по сайту https://dev.to/albogdano/implementing-full-text-search-for-your-static-site-4ool
- Перевод https://atamby1.github.io/start-blogging-with-github-pages-and-pelican.html
Заголовок сайта - "Малая ИТ Практика"
# Для чего нужен блог
Блог нужен для позиционирования себя как специалиста в сфере управления ИТ.
# О чем будет блог?
Про Linux Геенджик, Марксизм, Здоровый образ жизни, восписание детей, семейные отношения, Игры, разработку.
# Разделы сайта:
- Документы. В котором будут различные проекты документов, описывающие все сферы
сайта
- Проекты. Всё что я хотел по конкретным направлениям делать. Добавить в таксономию.
- Новости. Тут размещать буду неоригинальные материалы
- Блог. Мои материалы. Расширять по таксономии, а не по папкам. Тут и личные данные и по проектам и по работе и все-все-все.
- Обо мне. Контакты и всяческие грамоты и призы.
# Проекты
Для каждого проекта будет выделена отдельная страница. То есть проект будет не набором постов с каким-то тегом и категорией, а отдельной статьей без хронологически размещенных сообщений. Для проекта же мне важны набор действий и результат. Осталось решить каким образом мне хранить мультимедиа материалы привязанные к проекту. Попробую для каждого проекта создать отдельный каталог, и прописать пути в настройках Pelican-аю Потому что движок я могу сменить, а разбирать потом мультимедиа файлы из общей кучи как-то не очень хочется. В этом плане мне больше нравится принятая в Grav система где статья - это отдельная папка со всеми картинками и прочими объектами.