A growing, multi-disciplinary library of learning notes, explanations, and code examples. Browse the learning library, or search by article title, subject, and category.
bundle install
bundle exec jekyll serveOpen http://localhost:4000/learn/. The site is built by the existing GitHub
Actions workflow, which supports the custom catalog generator in _plugins/.
GitHub Pages' built-in safe-mode Jekyll build does not run custom generators.
Place an article under its discipline, subject, and optional category:
computer-science/
algorithms/
Backtracking/
N-Queens Problem/
index.md
Use this front matter:
---
layout: algo
title: My topic
category: My category
attribution_sources:
- Trekhleb
---Keep the original source attribution, license notices, and relevant links when
adapting material. Existing articles also use Algorithm Visualizer Project and
GeeksforGeeks as attribution sources.
The catalog discovers articles with layout: algo and generates missing
discipline, subject, and category landing pages at build time. You do not need
to maintain link lists or add empty index.md files. Existing articles that also
contain subtopics (such as Tree) keep their content and show their child topics
in the sidebar.
_data/curriculum.yml supplies optional display names and ordering. Add entries
there to customize a new subject; folders not listed are still discovered.
Planned subjects without articles are omitted rather than linked to empty pages.
The folder hierarchy, not the legacy category field, determines navigation, so
similarly named categories in different subjects remain separate.
For a custom collection introduction, add an index.md in its folder with
layout: topics-index, a title, and an optional description. Its child-topic
cards are populated automatically.
Landing pages use responsive collection cards with article counts. Articles
provide breadcrumbs, a sticky contextual sidebar, and child-topic links.
The primary theme is the main site's shared
terminal.css, bundled at
assets/css/terminal.css and loaded after the local layout styles. Learning-page
colors use its terminal palette, and
collection cards use its interactive card styling. If the shared stylesheet
cannot load, the existing local theme in assets/css/learn.css and
assets/css/topics-index.css remains the fallback, without requiring JavaScript.
Navigation uses local assets; math rendering still uses MathJax.
The homepage search runs locally in the browser and matches article titles and
their full collection paths. Browsing remains available without JavaScript.
Local navigation and assets respect Jekyll's baseurl, including spaces and
Unicode in existing article paths.
python -m unittest discover -s testsThese checks build the site with both /learn and an empty base URL, verify
catalog links and local assets, and exercise automatic discovery of a new subject.