Показывать страницы в одной папке в Jekyll?

Я думаю, что родной способ управления страницами Jekyll, то есть путем создания .md файла / папок в корневой папке, немного запутан.

Таким образом, я хочу поместить каждую страницу в папку с именем "страницы», Кроме того, яМне бы хотелось, чтобы эти страницы имели каскадную структуру: скажем, имеет ли моя папка структуру:

pages
 |-> parent1
      |-> index.html
      |-> son1.html
      |-> son2.html
 |-> parent2
      |-> index.html

Затем на странице со списком страниц должно быть что-то вроде этого:

page listing
 * parent1
   * son1
   * son2
 * parent2

Кроме того, другой файл * .html, который не находится в папке pages, не должен отображаться на этой странице листинга.

Как мне это сделать?

Большое спасибо.

Ответы на вопрос(1)

n.tld / pages / prent1 / son1.html будет URL-адресом файла parent1 / son1.

Однако создание вложенного списка будет более сложным. Вы можете либо добавить эту структуру в раздел материалов YAML, либо использовать записи. =>

pages
 |-> parent1
    |-> _posts/
      |-> index.html
      |-> son1.html
      |-> son2.html
 |-> parent2
    |->_posts
      |-> index.html

 Таким образом, ваши файлы будут постами в категориях parent1 и parent2, и вы сможете создать листинг, отображая категории и их содержимое.

Если вы действительно хотите отобразить древовидную структуру без использования постов и категорий, вам нужно будет заняться черной магией. Но, к счастью, Liquid предлагаетsplit фильтр, который можно использовать для разделения пути сайта на куски, например,

{% for page in site.pages %}            
    {{ page.url | split:'/' | join:'+'}}
{% endfor %}

Вместо того, чтобы присоединиться к ним (это просто для демонстрации), вы 'Я хочу заполнить массив, который содержит древовидную структуру, а затем выполнить итерацию по этому массиву для отображения дерева каталогов. Это возможно, но не легко. И я неЯ думаю, что есть что-то легко доступное.

Возможно, написать плагин проще.

Ваш ответ на вопрос