Иерархия папок сайта jekyll только список подпапок

У меня есть структура папок Jekyll как

_includes
_layouts
_post
myFolder
   subMyFolder
   - readme.md
   subMyFolder2
   - README.md

   subMyFolder/subSub
   - readme.md
   - something.html
index.html

Я хочу перечислить все subMyFolders (только первый уровень) без папок subSub и без файлов внутри

Мой подход

{% for my_page in site.pages %}
  {% if my_page.url contains 'myFolder' %}
    {% if my_page.title %}
    <a class="page-link" href="{{ my_page.url | prepend: site.baseurl }}">{{ my_page.title }}</a> •
    {% endif %}
  {% endif %}
{% endfor %}

получить задание частично, однако, когда подпапка имеет несколько элементов внутри (page1.html, page2.html и т. д.), она повторяется в списке, а мой _config.yml имеет

include:
 - subFolder
exclude:
 - README.md

но тем не менее, я получаю subFolder/README.html, несмотря на то, что я его исключил..

Мне нужна только иерархия папок myFolders


person Hus    schedule 06.07.2018    source источник


Ответы (2)


Лучшее, что я мог бы сделать с page.dir, это распечатать подпапки myFolder, предполагая, что в item.path нет другой страницы с myFolder.

{% assign tools = site.pages | where_exp: "item" , "item.path contains 'myFolder'"| map: 'dir' | uniq %}
<ul>
  {% for tool in tools %}
    <li><a class="page-link" href="{{ tool | prepend: site.baseurl }}">{{ tool }}</a></li>
  {% endfor %}
</ul>

проблема в том, что это решение не отображает имя папки, если оно пустое или если у него нет страницы :(

person Hus    schedule 07.07.2018

Я думаю, что вы должны работать с пользовательскими коллекциями вместо подпапок таким образом, но я не уверен, каковы ваши причины.

Вы исключаете и README.md, и readme.md? Какой из них не работает?

person Keith Mifsud    schedule 06.07.2018
comment
Я буду играть с ним как с коллекциями, в настоящее время README.md или readme.md не игнорируются внутри /myFolder/subFolder/*, однако я только что обнаружил, что могу вызвать {{ page.dir }}, который принесет мне каталог файлов, ex {% for page in site.pages %} {{ page.dir }} {% endfor %} Теперь мне нужно удалить дубликаты значение (имя папки появляется дважды) - person Hus; 06.07.2018