Исходники этого блога
Теперь можно посмотреть все статьи на сайте в их в исходном формате. Исходники выложены в открытом доступе: 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 образ на хостинге.
Вот вкратце и все про блог на данном этапе его существования.