mirror of
https://gitverse.ru/kpa39l/gitlab-blog.git
synced 2026-09-29 09:55:08 +00:00
Import old Pelican data
This commit is contained in:
@@ -0,0 +1,70 @@
|
|||||||
|
#Настройка редактора Atom для работы с Markdown
|
||||||
|
|
||||||
|
Для работы над статическим сайтом нужно:
|
||||||
|
- Редактировать файлы Markdown
|
||||||
|
- Хранить файлы в "безопасном" месте. Чтобы случайно их не потерять
|
||||||
|
- Облегчить себе работу по формирофанию необходимой сужебной информации внутри файлов (Front Matter)
|
||||||
|
|
||||||
|
GitHub поможет решить вопрос хранения файлов со статьями и новостямии, а вот
|
||||||
|
удобного редактирования и наполнения файлов можно решить практически любым редактором
|
||||||
|
кода. Для себя я выбрал редактор от авторов GitHub - [Atom][75f0e641].
|
||||||
|
|
||||||
|
Это современные кросс платформенный редактор кода, с множеством удобным плагинов и, что самое важное, встроенной интеграцией с
|
||||||
|
Github. Что позволяет собрать функионально рабочее место для работы над блогом буквально
|
||||||
|
за 15 минут. И не беспокоиться о том, что с таким трудом созданные данные будут утеряны
|
||||||
|
из-за аппаратного или программного сбоя.
|
||||||
|
|
||||||
|
Поскольку работаю я на GNU/Linux Debian, то и процесс настройки буду описывать для этой операционной
|
||||||
|
системы.
|
||||||
|
|
||||||
|
1. Скачиваем пакет с сайта [Atom][75f0e641].
|
||||||
|

|
||||||
|
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`
|
||||||
|
|
||||||
|
После установки ярлык для запуска добавиться в раздел "Разработка" системного меню.
|
||||||
|

|
||||||
|
Или можно его запустить используя команду в консоли от текущего пользователя:
|
||||||
|
|
||||||
|
`$ atom`
|
||||||
|
|
||||||
|
3. Для хранения файлов можно использовать репозиторий GitHub. Ведь именно для этого как раз и выбирался редактор Atom,как имеющий встроенную
|
||||||
|
интеграцию c GitHub. Для этого нужно получить ссылку для клонирования репозитория
|
||||||
|

|
||||||
|
|
||||||
|
`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 файлами в интерфейсе редактора появится вот такая панель:
|
||||||
|

|
||||||
|
Часто используемые инструменты 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 |
@@ -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
|
||||||
@@ -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/)
|
||||||
@@ -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 система где статья - это отдельная папка со всеми картинками и прочими объектами.
|
||||||
Reference in New Issue
Block a user