md_browser: Fix assertion hit on rendering top directory.

Currently, md_browser fails to render the root directory ("/") due to an
assertion failure.

We try to show the content of "/" when the path "/" is requested,
but we fail to do so because _DoMD() function is called with a wrong argument
"//" (instead of "/"). This patch fixes the handling of
paths ending with a slash.

Change-Id: I614fd7bfc9a164a3dd4edb91635ecfb5eba18a6e
Reviewed-by: Mike Frysinger <>
Reviewed-by: Dirk Pranke <>
Commit-Queue: Yuta Kitamura <>
Cr-Original-Commit-Position: refs/heads/master@{#498363}
Cr-Mirrored-Commit: 5eb3221dd2183c88e1b1d612d60f596b832535bb
1 file changed
tree: 8f164c0c123979b3bc5f44a12eb1f43b7edb4793
  1. .gitignore
  5. base.css
  6. doc.css
  7. footer.html
  11. header.html
  13. prettify.css


This is a simple tool to render the markdown docs in a chromium checkout locally. It is written in Python and uses the Python ‘markdown’ package, which is checked into src/third_party.

md_browser attempts to emulate the flavor of Markdown implemented by Gitiles.

Gitiles is the source browser running on, and can be run locally, but to do so requires a Java install and a Buck install, which can be slightly annoying to set up on Mac or Windows.

This is a lighterweight solution, which also allows you to preview uncommitted changes (i.e., it just serves files out of the filesystem, and is not a full Git repo browser like Gitiles is).

To run md_browser:

  1. cd to the top of your chromium checkout

  2. run python tools/md_browser/

  3. There is no step three.

This will run a local web server on port 8080 that points to the top of the repo. You can specify a different port with the -p flag.