Исходники этого блога
Теперь можно посмотреть все статьи на сайте в их в исходном формате. Исходники выложены в открытом доступе: https://github.com/zag/zag.ru
В том же репозитории выложил дамп своих записей из friendfeed.com, преобразованный в формат pod6. В таком виде все заметки автоматически стали частью блога.
Интересное применение нашел блоку =comment
- храню в нем резервную копию
заметки в исходном формате. Вдруг захочется что-то поменять в будущем - исходник будет
тут же.
Структура репозитория:
├── README
├── config.js
├── pages
├── pub
├── www
└── [email protected]
Где:
Имя | Назначение / содержимое |
---|---|
config.js | Конфигурационный файл для сайта. Содержит некоторую персональную информацию об авторе, а также данные для полей описания и заголовка сайта. |
pages | Страницы сайта. Например: /pages/about |
pub | Основной контент сайта: Посты , Заметки . |
www | Каталог со статикой. Он нужен, чтобы публиковать на сайт дополнительные файлы. Его содержимое - корневой каталог сайта. |
[email protected] | Экспортированные заметки из friendfeed |
Опишу подробнее типы контента.
- Пост
- Запись в блоге. Содержит дату публикации, тэги, раздел описания и
непосредственно содержимое записи. При выводе списка записей выводится описание,
а при переходе по ссылке - открывается полное содержимое.
Ссылка на
Пост
формируется на основе даты публикации.
- Заметка
Заметка
представляет собой короткую текстовую запись. Очень похожа по структуре наПост
, но при выводе списка записей отображается целиком. Чтобы отличить ее отПоста
указывается атрибут:type<note>
в заголовке файла. Все экспортированные из friendfeed записи - заметки.
- Страница
- Страница - это тот же
Пост
, но отличается типом и указанием статичного адреса: :type('page') :publishUrl('/pages/about')
- Раздел с кратким описанием - игнорируется. В RSS файл
Страницы
не попадают.
Структура репозитория условна. Файлы могут быть перемешаны и располагаться где угодно. При сборке сайта содержимое всех каталогов сканируется на наличие .pod6 файлов и они обрабатываются без каких-либо условий их размещения. Это дает возможность гибко менять структуру каталогов, а также подключать внешние источники записей.
Единственное исключение - каталог www
. Его содержимое явно копируется в
корневой каталог сайта.
Обновление блога происходит при любом изменении в репозитории. После появления actions стало возможным собирать блог на github и публиковать готовый docker образ на хостинге.
Вот вкратце и все про блог на данном этапе его существования.