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