用Java解析YAML前端问题

Gau*_*tam 6 java parsing yaml snakeyaml jekyll

我要解析YAML Front Matterjava一样jekyll,所以Iooked到源代码,并且发现这个,但我不能让它多大意义(我不知道很多红宝石).

所以我的问题是,我如何解析YAML Front Matterjava?

我的classpath中有snakeyaml,我YAML Front Matter将从markdown文件解析,我使用pegdown

Cep*_*pod 7

void parse(Reader r) throws IOException {
    BufferedReader br = new BufferedReader(r);

    // detect YAML front matter
    String line = br.readLine();
    while (line.isEmpty()) line = br.readLine();
    if (!line.matches("[-]{3,}")) { // use at least three dashes
        throw new IllegalArgumentException("No YAML Front Matter");
    }
    final String delimiter = line;

    // scan YAML front matter
    StringBuilder sb = new StringBuilder();
    line = br.readLine();
    while (!line.equals(delimiter)) {
        sb.append(line);
        sb.append("\n");
        line = br.readLine();
    }

    // parse data
    parseYamlFrontMatter(sb.toString());
    parseMarkdownOrWhatever(br);
}
Run Code Online (Sandbox Code Playgroud)

要获得获得Reader,您可能需要一个FileReader或一个InputStreamReader.