This repository is the canonical book and production website for The RL Hub. Lessons are written in Persian Markdown and rendered by a small static HTML/JavaScript frontend.
- content/tutorials/ contains one Markdown source per chapter.
- Pages/ contains the chapter shells and previous/next navigation.
- js/markdown-callback-loader.js renders Markdown, callouts, headings, code, and math.
- js/tutorial.js handles sidebar, scrolling, responsive tables, and mobile behavior.
- index.html is the curriculum landing page.
The reusable frontend is also maintained in the Tutorial-website-template repository. Runtime fixes should normally be ported to both repositories.
Start the local server:
./start_server.ps1
Then open:
http://127.0.0.1:8090/index.html
Do not open chapter files directly with a file URL; browsers generally block the XHR used to load Markdown.
- Create its Markdown directory under content/tutorials.
- Create the matching page under Pages.
- Add its homepage card.
- Connect previous and next chapter navigation in both directions.
- Add or update the executable companion in RLH-Material.
- Update the canonical status in RL-Roadmap.
- Run the verification commands below.
Follow the organization’s CONTRIBUTING.md and EDITORIAL_GUIDE.md for the chapter checklist, notation, sources, and release checks.
node --check js/markdown-callback-loader.js
node --check js/tutorial.js
node --check js/mathjax-config.js
node --check script.js
node tests/check-inline-scripts.js
node tests/loader.test.js
python tests/check_site.py
The checks validate JavaScript syntax (including inline scripts), local assets, chapter order, bidirectional navigation, pinned renderer dependencies, Markdown image paths, image-size budgets, renderer classification, and unique heading IDs.
- Marked 15.0.12 for Markdown
- MathJax 3.2.2 for equations
- Highlight.js 11.4.0 for syntax highlighting
Versions are intentionally pinned because unversioned CDN updates can introduce breaking renderer APIs.