В 2007 году я перешел на Ubuntu. Как многие новички, я стал записывать всякие полезные комманды и советы в текстовой файл. Компьютеров у меня много, и удобно было иметь решения часто встречающихся проблем под рукой. Постепенно файл разростался, и что-бы в нем нормально ориентироваться нужно было прикрутить к нему какой нибудь поиск с индексом. Я пошел самым простым путем решив ничего не изобретать, а просто скормить файл Яндексу. Уж их поиск точно будет работать. Для этого написал скрипт на Python, который генерировал из каждой заметки html страничку. Получилось что-то вроде сайта с дизайном в стиле старой ламповой Википедии. С тех пор эта штука там так и крутилась, принося пользу мне, и (судя по статистике) другим постетителям пришедшим из поисковиков.
Добавить заметку на злобу дня в этот небольшой проект гораздо быстрее чем писать статью в этот блог, поэтому пишу я туда гораздо чаще. Например интересными вам могут показаться:
- Обновить Intel SSD с Linux и без CD-Rom
- Понаблюдать как ваш гаджет сливает ваши персональные данные помотрев пакеты которые отсылает устройство
- Изменить MAC адрес
Не успело пройти и 10 лет, как у меня дошли руки доделать версию с 0.1a до 0.2a и выложить это все на Github. Теперь это статический генератор который из markdown файла содержащего заметки может собрать нечто вроде сайта с удобным доступом к каждой отдельной заметке, и поиском от Яндекса. Заметкой считаеться любой текст после заголовка второго уровня ##
(пример исходного файла). Для лучшей индексации генерируется robots.txt.
Любой посетитель может исправить, добавить или скачать все заметки на том же Github'е.
Так же вы можете использовать код для генерации сайта из своих заметок, или просто изучить пример протстого генератора статических сайтов на Python 3
Инструкция по установке
Чтобы сгенерировать заметки установите необходимые пакеты. После чего добвавьте пару заметок в формате markdown и запустите:
python3 build3.py
После чего в папке _site у вас появяться сгенерированные html. Чтобы сгенеривовать сайт для интернета запустите:
python3 build3.py "http://website.url/" 123
Где http://website.url/
это адрес где будет находиться сайт, а 123
код поиска Яндекса, который получается здесь. После чего просто залейте содержимое папки _site
на хостинг, например с помощью lftp.
Пример простого генератора статических сайтов
Поскольку я тут пытаюсь распостранять пользу во всех направлениях, рекомендую изучить код на Гитхабе. Код удобно использовать как основу, чтобы быстро написать генератор для статического сайта, блога, и.т.д. Например у меня часто бывают ситуации когда просят нарисовать простой сайт. Когда не нужно монстров типа wordpress, потому что сайт будет обновляться раз в год на основе скажем несколькх doc и csv файлов.
Добавляю и изменяю .mako шаблоны в папке _templates (из которых генерируется html), изменяю build3.py (где собственно происходит генерация html) чтобы брал данные из нужных источников.
Все файлы из папки _web
будут просто скопированы в корень (для картинок и ресурсов). Стили из папки _css
будут оптимизированы и склеены в общий style.css
, JavaScript из папки _js
- оптимизированы и склеены в общий scripts.js
.
Для теста сайта на можно запустить комманду python3 -m http.server
в папке _site
, и посмотреть как он будет выглядеть открыв http://localhost:8000.
После чего осталось запустить deploy_production.sh чтобы залить на ftp и новый сайт готов.