Fix how images are exported to markdown.

The prior export code was relying on a non-standard markdown extension
to set an image's width and height.

This CL changes the exporter to use <img> tags instead of the markdown
syntax; this allows us to serve up images with proper width and heights
using standard syntax.

While you don't actually have to specify the width= and height= in
an <img> tag if you want to use the image's actual width and height,
this CL makes no attempt to figure out the image dimensions on
the fly.

A subsequent CL could add that logic, and that would make things
a bit cleaner.

Change-Id: Icce6c67cc0b266c45e29e760db45b30c8f57cf5c
Commit-Queue: Dirk Pranke <>
Reviewed-by: Struan Shrimpton <>
326 files changed
tree: c6179c9332b4465f301ca7a46f89cb5083e32bad
  1. docs/
  2. infra/
  3. scripts/
  4. site/
  5. third_party/
  6. .eleventy.js
  7. .firebaserc
  8. .gclient
  9. .gitignore
  10. .vpython3
  12. DEPS
  13. firebase.json
  14. node_modules.tar.gz.sha1
  15. npmw
  16. OWNERS
  17. package-lock.json
  18. package.json

Source code for

This Git repo contains the source content for

NOTE: 2021-10-19. This is not (yet) actually true. This is a work-in-progress repo that we plan to move to.

The website is implemented by serving static content (mostly Markdown files) that is translated / built ahead of time into HTML using the Eleventy static site generator (which is written in Node/JS) and deployed onto Firebase Cloud Hosting.

The Markdown is translated using a single extremely simple Nunjucks template and the site is served with a single basic Sass/SCSS stylesheet (using the Node/NPM library version of Sass).

Large objects (PDFs, big images, etc.) are stored in a Google Cloud Storage bucket, indexed by SHA-1 checksums that are committed into this repo.

See //docs/ if you wish to contribute to the site.