Как заставить Wintersmith создать статический сайт с блогом в подкаталоге?

Я изучаю возможность улучшения Wintersmith моего сайта, который в настоящее время написан от руки. У меня есть пара страниц: index.html, projects.html, gpg.html и т. д. Я хочу иметь подкаталог blog/, чтобы конечный сайт выглядел так:

.
|- index.html
|- gpg.html
|- project.html
|- blog/
|  |- look-a-new-wintersmith-blog.md
|  |- monkeys-are-really-cool.md

Это возможно? Я искал и просматривал документацию Wintersmith (и даже популярные сайты на базе Wintersmith) и ничего не нашел. Кажется, что единственный способ — это иметь два экземпляра Wintersmith или что-то в этом роде, но также кажется, что должен быть лучший способ.


person strugee    schedule 15.09.2014    source источник


Ответы (1)


Вы должны получить желаемый результат примерно так:

├── config.json               <- site configuration
├── contents
│   ├── index.html            <- these will just be outputted as-is
│   ├── gpg.html
│   ├── project.html
│   ├── blog                  <– each article has its own directory
│   │   ├── index.json        <- this is your blog index at /blog/index.html
│   │   ├── look-a-new-wintersmith-blog
│   │   │   └── index.md
│   │   └── monkeys-are-really-cool
│   │       └── index.md
│   ├── authors               <- author metadata, check author.jade
│   │   └── the-wintersmith.json
│   ├── css
│   │   └── main.css
│   └── feed.json
├── plugins
│   └── paginator.coffee      <- paginator plugin
├── templates
│   ├── archive.jade
│   ├── article.jade
│   ├── author.jade
│   ├── feed.jade
│   ├── index.jade
│   └── layout.jade
└── views
    └── articles.coffee       <- view that lists articles

index.json — это просто переименованный и перемещенный archive.json вместо /blog/index.html URL. Если вы хотите использовать индекс Wintersmith по умолчанию вместо макета архива, отредактируйте файл, чтобы использовать макет index.jade вместо archive.jade.

Если вы измените свои текущие HTML-файлы на Markdown и поместите их в то же место, то они будут выводиться в формате HTML, как и ваши сообщения в блоге.

Возможно, вы также захотите добавить какое-то меню навигации в макет article.

Редактировать. Чтобы создать статическую страницу, создайте файл Markdown в contents, как показано ниже:

---
title: GPG
author: baker
date: 2014-03-23
template: article.jade
---

Content

Если вы назвали этот файл gpg.md, он должен быть доступен по адресу http://localhost:8080/gpg.html. Поскольку мы использовали шаблон article.jade, он ожидает поля author и date для полноты (он будет работать без, однако он по-прежнему будет включать «Написано» без автора), но вы можете создать собственный шаблон, который не использует эти поля. поля.

person ipavl    schedule 28.09.2014
comment
это кажется хорошим, но это не совсем то, что я хочу. если вы сделаете так, чтобы я мог визуализировать index.html, gpg.html и т. д. с помощью системы шаблонов, я приму этот ответ, хотя с тех пор я перестал смотреть на Wintersmith для создания статического сайта, поэтому я предполагаю добросовестность. - person strugee; 02.10.2014
comment
Я думаю, что вы спрашиваете, что показано в файле about.md по умолчанию, который генерируется на сайте Wintersmith по умолчанию; вы даете ему файл уценки (gpg.md), и он генерирует статическую HTML-страницу (gpg.html). Вы можете указать другой макет и т. д., если хотите, в блоке метаданных. - person ipavl; 05.10.2014
comment
Я не вижу файл, о котором вы говорите, за исключением файла нижнего колонтитула (определенного в contents/about.md). - person strugee; 06.10.2014
comment
Извините, я забыл, что у Wintersmith это было в качестве нижнего колонтитула по умолчанию. Обновлен мой ответ более общим решением, хотя для простоты используется шаблон по умолчанию. - person ipavl; 07.10.2014