Wyam - как мне заказать контент в конвейере? - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь сгенерировать статический HTML-файл из разных .md-файлов с помощью Wyam, но мои конвейеры не создают содержимое в правильном порядке.

Я установил orderby и thenby оператор атрибутов файла, чтобы получить части моего HTML-результата в порядке структуры моей входной папки.

Моя входная папка имеет следующую структуру:

Input
│   help.md
│
├───1_Intro
│       1_general.md
│
├───2_examples
│       1_general.md
│       2_examples.md
│
└───3_appendix
        1_glossar.md
        2_sources.md

Итак, вот мой файл wyam.conf для моего конвейера:

// Load Wyam Modules
#n Wyam.Html 
#n Wyam.Markdown
#n Wyam.Yaml

// Setting culture
System.Globalization.CultureInfo.DefaultThreadCurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("en-EN");

    Pipelines.Add("Help",
    ReadFiles("help.md"),
        Append(
            ReadFiles("*/{*,!help}.md"),
            OrderBy((d, c) => d["SourceFileBase"]).ThenBy((d, c) => d["SourceFileName"]),
            FrontMatter(Yaml()),    
            Markdown()
            ),
        FrontMatter(Yaml()),
        Markdown(),
        Combine(),
        WriteFiles(".html")
    ).WithProcessDocumentsOnce();

Я ожидал получить файл HTML, если содержимое моих файлов .md находится в следующем порядке:

1.1 General
Lorem ipsum...
2.1 About my Examples
...
2.2 Examples
...
3.1 Glossar
...
3.2 Sources
...

Но после запуска Wyam с моим конвейером я получаю следующие результаты:

3.1 Glossar
Lorem ipsum...
2.1 About my Examples
...
2.2 Examples
...
3.2 Sources
...
1.1 General
...

Каждый раз, когда я запускал Wyam со своим конвейером, я получал разные результаты, некоторые в том порядке, в котором я хотел создать, но большинство результатов выглядят совершенно случайными для меня.

Может кто-нибудь сказать мне, что я ошибаюсь?

...