Как не пытался я вести свою писану в телеге, так и не получается. Потому что она, телега, неудобная. Не для писанины ее придумали, а для общения.
Поэтому родилось это чудо-юдо. Заморочился, оно адаптивно, умеет само переключать тему, автоматически генерирует контент из приватной репы на гитхабе по пушу, подсвечивает код и вообще охеренно. В общем, полный фарш.
Использую генератор Pelican и свою тему для него под кодовым названием limelight.
Вкратце, как вся автоматизация работает.
Если на эти все пункты у вас ответ "да", то поздравляю, у вас все получится.
Поехали настраивать.
git pull
. Убедитесь, что она работает и стягивает изменения из ваших реп. .github/workflows/publish.yml
. Тут будет лежать скрипт, который будет запускать перегенерацию контента сайта. Содержимое файла будет таким:~/blogeshnik
.name: Publish static site
run-name: ${{ github.actor }} публикация
on:
push
jobs:
server_connect_and_run_commands:
runs-on: ubuntu-latest
name: Подключится и сгенерить контент
steps:
- name: Запустить скрипт на удаленном сервере
uses: appleboy/ssh-action@master
with:
host: ${{ secrets.SSH_HOST }}
username: ${{ secrets.SSH_USER }}
key: ${{ secrets.SSH_KEY }}
script: |
cd blogeshnik/ # Тут путь, куда склонирован репозиторий
git pull
source ./venv/bin/activate
make clean
pelican -t ./themes/blogeshnik
deactivate
SSH_HOST
- адрес сервера, который будет хостить ваш сайт; SSH_USER
- имя пользователя, от которого гитхаб будет заходить на сервер; SSH_KEY
- приватный ключ, с которого можно зайти на сервер.server {
server_name blog.milssky.ru;
location / {
root /home/milssky/blogeshnik/output; # Укажите свой путь до output
index index.html;
}
}
MARKDOWN = {
'extension_configs': {
'markdown.extensions.extra': {},
'markdown.extensions.codehilite': {'css_class': 'highlight'},
'markdown.extensions.toc': {'permalink': True},
'markdown.extensions.attr_list': {}, # Включение расширения attr_list
},
'output_format': 'html5',
}
Теперь в md-файлах можно указывать кастомный css-класс для ссылки с помощью расширенного тега ссылки. Для моей темы красивый цвет ссылки задается классом .has-text-primary
. Задаю его так:
[Pelican](https://getpelican.com){: .has-text-primary}
Ставьте звезды на репе с темой, любите друг друга. До новых встреч.