- The new www.rfc-editor.org design on Figma. As development continues this is the graphic design that we will be adhering to where possible.
This code repository is under the broader guidance from IETF CONTRIBUTING.md.
- Docker Desktop
- WSL2 (Windows only)
See /website/.
It's a Nuxt website (official Nuxt documentation).
Website content from markdown files can be found in /website/content/.
Markdown Frontmatter (metadata) fields supported are listed in content.config.js.
In /website/ run npm run test
The website depends on APIs in the form of:
- Search (via Typesense, managed outside of this repository)
- Precomputed API responses (managed in this repository, in
/precomputer/)
See /precomputer/.
We precompute the result of many APIs used by the website and upload them to an S3-like bucket.
This is done for performance reasons (some these APIs can take minutes to compute) and it improves resilience.
The /precomputer/ code is intentionally separate from the website/Nuxt. It has its own package.json etc.
The entry point for the precomputer is precomputer/src with the 3 items single.ts, all.ts, and cron.ts:
single.tscalculates a single RFC 'info' page API data and RFC-specific APIs such as/rfc/rfcN.json. Theall.tsdoes the same with batches of specific ranges of RFCs. Currently these scripts are run manually from Tekton;cron.tshandles everything else (all subseries, RFC indexes that list all RFCs, RSS/Atom feeds, website homepage latest 3 RFCs, etc.). As the namecron.tsimplies this script is run periodically (every 6 hours), however you can also run it manually from Rancher.
In /precomputer/ run npm run test.
Stop the dev server, run npm run cleanup, and restart the dev server.