Add markdown.frontmatter option to strip YAML front matter

Markdown files authored for static site generators (Jekyll, Hugo, etc.)
often begin with a YAML front matter block delimited by "---" lines.
Gitiles has no front matter support, so CommonMark parses the block as
ordinary content: the closing "---" turns the metadata into a setext
<h2>, rendering an ugly heading of raw "key: value" pairs at the top of
the page.

Add an opt-in "markdown.frontmatter" option (default false, consistent
with the other non-GitHub-flavor extensions). When enabled,
GitilesMarkdown installs commonmark-ext-yaml-front-matter so the leading
block is parsed into a YamlFrontMatterBlock, and MarkdownToHtml omits
that block from the rendered output instead of throwing on the unknown
CustomBlock.

Documented in Documentation/{config,markdown}.md and covered by
GitilesMarkdownTest.

Change-Id: I2ace7227728e964d2e73d5149a06f2d9a884f0c8
11 files changed
tree: 6630398f48bc544cdf53e2d994180970eec1ba08
  1. .settings/
  2. Documentation/
  3. java/
  4. javatests/
  5. lib/
  6. modules/
  7. resources/
  8. tools/
  9. .bazelignore
  10. .bazelrc
  11. .bazelversion
  12. .gitignore
  13. .gitmodules
  14. .mailmap
  15. .zuul.yaml
  16. BUILD
  17. COPYING
  18. external_deps.lock.json
  19. fake_pom_deploy.xml
  20. MODULE.bazel
  21. MODULE.bazel.lock
  22. navbar.md
  23. README.md
  24. version.bzl
README.md

Gitiles - A simple JGit repository browser

Gitiles is a simple repository browser for Git repositories, built on JGit. Its guiding principle is simplicity: it has no formal access controls, no write access, no fancy Javascript, etc.

Gitiles automatically renders *.md Markdown files into HTML for simplified documentation. Refer to the Markdown documentation for details.

Configuration

Gitiles is configurable in a git-style configuration file named gitiles.config. Refer to the configuration documentation for details.

Bugs

Use gerrit's issue tracker to file bugs.

Contributing to Gitiles

Please refer to the Developer Guide.