Better regex for md_browser.py

This improves the autolinkifier regex used by md_browser.py. The old
regex would linkify URLs until the end of the line, rather than the
correct behavior of linkifying only until the end of the URL.

This also drops support for non-lowercase spellings of "HTTP", since it
seems the gitiles implementation (linked in a code comment) doesn't seem
to support that anyway.

Lastly, this updates the code comment to the new path for the gitiles
parser code.

Bug: 968865
Test: tools/md_browser/md_browser.py android_webview/docs/README.md
Test: tools/md_browser/md_browser.py android_webview/docs/quick-start.md
Test: tools/md_browser/md_browser.py android_webview/docs/webview-shell.md
Test: tools/md_browser/md_browser.py android_webview/docs/test-instructions.md
Test: On all the above, observe all autolinks work as intended
Change-Id: I1b5c6b2496ef64b1da2aa00d11b340c40761c3f5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1638123
Commit-Queue: Nate Fischer <ntfschr@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#665380}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 0cc74af56e1a18450ac87ad88ae586069bccc81b
1 file changed
tree: 74823af22bb96003f43f35684efca7171a14c492
  1. .gitignore
  2. OWNERS
  3. README.md
  4. __init__.py
  5. base.css
  6. doc.css
  7. footer.html
  8. gitiles_autolink.py
  9. gitiles_ext_blocks.py
  10. gitiles_smart_quotes.py
  11. header.html
  12. md_browser.py
  13. prettify.css
  14. update-css.sh
README.md

md_browser

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 https://chromium.googlesource.com, 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/md_browser.py

  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.