Создайте статический сайт и каналы Atom с помощью Markdown, оболочки и pandoc.
git clone pdssg, в идеале рядом с исходным каталогом вашего сайта.
git clone https://github.com/torresjrjr/pdssg
Чтобы запустить pdssg и создать статический сайт, выполните сценарий pdssg в одном каталоге над исходным каталогом сайта.
$ ls
src/ pdssg/
$ ./pdssg/pdssg
pdssg — это один исполняемый сценарий оболочки без флагов командной строки. Он просто генерирует каталог dst/
соседнего сайта (назначение) из существующего соседнего каталога src/
(источник) с содержимым сайта (файлы Markdown для преобразования в веб-страницы HTML и другие файлы).
Дизайн pdssg является модульным и древовидным. Вот пример исходного каталога сайта .
src/
|-- _ignore
|-- _feeds
|-- index.md
|-- about.md
|-- posts.md
|-- posts/
| |-- _drafts/
| | `--- 2020-04-01-bored.md
| |-- 2020-01-01-new-year.md
| |-- 2020-02-01-corona-what.md
| `-- 2020-03-01-stuck-at-home.md
|-- feeds/
| `-- posts.md
|-- assets/
| `-- style.css
|-- _templates/
| |-- atom.xml
| `-- main.html
`-- _includes/
|-- header.html
|-- footer.html
`-- meta.html
Вот полученный каталог сборки.
dst/
|-- index.html
|-- about.html
|-- posts.html
|-- posts/
| |--- 2020-01-01-new-year.html
| |--- 2020-02-01-corona-what.html
| `--- 2020-03-01-stuck-at-home.html
|-- feeds/
| `--- posts.html
`-- assets/
`--- style.css
Примечание. Файлы и каталоги, начинающиеся с подчеркивания _
будут удалены.
Файлы Markdown будут преобразованы в файлы HTML, готовые в виде веб-страниц. Исключением являются пути к файлам, соответствующие шаблонам в файле ./_ignore
, например файле .gitignore
.
pdssg ожидает, что файлы Markdown будут иметь блок заголовка YAML, который представляет собой блок метаданных YAML, окруженный парой ---
, предшествующий остальному содержимому файла.
Во вступительной части должно быть как минимум значение title
, которое будет использоваться для создания заголовка <h1>
. Значения author
и date
являются общими и рекомендуются при необходимости.
Пример файла Markdown:
---
title : My Webpage Title
author : John Smith
date : 2020-12-30
---
## Subheading
contents...
Как и в примере, каталоги _includes
и _templates
будут использоваться для создания файлов HTML и Atom. Затем они отбрасываются.
Для файлов в _templates
:
atom.xml
используется для создания HTML-документов.main.html
используется для создания каналов Atom. Для файлов в _includes
:
meta.html
вставляется в заголовок документа в тегах <meta>
.header.html
вставляется в тело внутри тегов <body>
перед основным содержимым.footer.html
вставляется в тело внутри тегов <body>
после основного содержимого.Ленты Atom — это RSS-каналы, основанные на новом и более надежном формате распространения. По сути, они используются так же, как RSS, и называются таковыми. Каналы Atom позволяют читателям подписываться на новый контент веб-сайта, например блога.
pdssg может создавать каналы Atom из каталогов, используя файлы каталогов в качестве записей каналов. Для этого вам нужно создать указанный каталог для ваших каналов и создать «начальный файл Atom» как таковой:
./feeds/
) и пропишите его путь в файле конфигурации _feeds
./posts/
)../feeds/posts/
)..md
(например, ./feeds/posts.md
). Для демонстрации обратитесь к примеру сайта выше (каталог posts/
).
Исходный файл Atom будет преобразован в файл канала Atom. Полученный фид будет существовать по новому пути, но с расширением .xml
вместо .md
. В этом примере канал атома появится по адресу example.com/feeds/posts.xml
. Обратите внимание: файл ./posts.md
не нужен для канала, он нужен только для каталога.
ПРИМЕЧАНИЕ. Записи Atom упорядочены по алфавиту и цифрам по соответствующим именам файлов, а не по date
указанной в их заголовке YAML.
Этот проект родился из личного вызова для моего собственного сайта. По просьбе дружелюбного блоггера я подчистил и выложил в открытый доступ.
Свяжитесь со мной: t.me/torresjrjr