mkdoc source code for SIEVE webpage
- Set up a virtual environment
python3 -m venv .venv
source .venv/bin/activate- Open up a terminal and install Material for MkDocs with (starting from 9.2.0b0, Material supports blog feature):
pip3 install mkdocs-material=="9.2.0b0"- Install minify plugin
pip3 install mkdocs-minify-plugin- Previewing the website
mkdocs servematerial/home.htmlis the landing page template. It extendsmain.html, which adds the fonts, the link-preview tags and analytics to every page.material/home.cssstyles the landing page. The colors are--sv-*tokens defined for light and dark indocs/stylesheets/extra.css, which also styles the header, the footer and the blog.material/partials/header.htmlis Material's header with two changes: it shows the short name (extra.short_nameinmkdocs.yml), and on wide screens the Home and Blog tabs sit in the same row.material/sim.jsruns the SIEVE simulation in "How it works", following the pseudocode in the blog post. Runnode -e "require('./material/sim.js')"to load its cache model without a browser.material/charts.jsdraws the results charts with Chart.js and builds their data tables. The values were read from the vector figures in the paper and blog (docs/assets/images/illustrations).
Adopters are data at the top of material/home.html, one row per entry:
("ClickHouse", "https://github.com/ClickHouse/ClickHouse/pull/123435", 54801242),The fields are the name, the link, and the logo: a GitHub account id, or a path to an image under
docs/assets. Section headings count the rows, so adding a row is all it takes.
- Link to the code, merged PR or docs that show SIEVE in use, not just the project homepage.
- Use the account id rather than the name for GitHub logos: the name-based avatar URL returns a blank
default for many organizations.
curl -sI https://github.com/<org>.pngshows the id in the redirect (/u/<id>). - Open pull requests go under
in_progressuntil they merge. - Keep the list in sync with the cacheMon homepage.