Zachariah Craven

Bug Fixes Plan — BUGS.md

Context

The compilers documentation section of the portfolio site has 6 bugs reported in BUGS.md. These span CSS layout issues, a search algorithm flaw, content ordering, and content organization.


Problem: _sass/_footer.scss:14 has margin-left: clamp(200px, 20vw, 250px) on desktop, which doesn’t respond to the sidebar-collapsed state.

Fix in _sass/_footer.scss:

Also fix in _sass/_navigation.scss (after line 283):


Bug 2: Main content not expanding to left edge when nav is visible

Problem: .docs-content in _sass/_docs.scss:121 has max-width: 800px and padding, but no left-alignment to fill toward the sidebar edge.

Fix in _sass/_docs.scss:


Bug 3: Hamburger should be 2 lines forming X; mobile menu drops from top

Problem: Hamburger has 3 <span> lines (navigation.html:11-13). Mobile nav slides from left (translateX(-100%)) instead of dropping from top.

Files to modify:

Desktop sidebar stays the same. Only mobile menu behavior changes.


Bug 4: Search matches individual terms instead of phrase

Problem: assets/js/main.js:239 splits query into individual terms and matches each separately. Searching “function registration” matches any doc containing “function”.

Fix in assets/js/main.js (search function, ~line 232):


Bug 5: Reorder “CatScript Compiler - A Tour” to position 2

Current order: CatScript Overview (1), Tokenization (2), …, Tour (10) Desired: CatScript Overview (1), Tour (2), Tokenization (3), …, everything shifted +1

Files to modify (frontmatter order: values): | File | Current | New | |——|———|—–| | CatScript Overview.md | 1 | 1 | | Cat-script Compiler - a tour.md | 10 | 2 | | Tokenization.md | 2 | 3 | | Regular expressions.md | 3 | 4 | | Parse Trees and CFG.md | 4 | 5 | | ParseTrees.md | 5 | 6 | | Recursive Descent Parsing.md | 6 | 7 | | Actual Parsing.md | 7 | 8 | | Parsing Expressions.md | 8 | 9 | | Parsing Statements.md | 9 | 10 | | Github SSH Key Setup.md | 11 | remove (moved to utils) | | Parsing Functions and Type Literals.md | 12 | 11 | | Semantic Analysis.md | 13 | 12 | | Symbol Tables.md | 14 | 13 | | Type Systems.md | 15 | 14 | | Semantic Analysis of Expressions.md | 16 | 15 | | Semantic Analysis of Statements.md | 17 | 16 |


Bug 6: Move GitHub SSH Key Setup to new /utils/ page

Steps:

  1. Add utils collection to _config.yml (similar to compilers and algorithms)
  2. Create _utils/ directory and move _compilers/Github SSH Key Setup.md into it
  3. Update frontmatter: change layout to docs (or a new utils layout if needed), set order: 1
  4. Create utils/index.html — landing page listing utils articles (modeled on compilers/index.html)
  5. Update _includes/navigation.html — add a utils layout case so the sidebar renders for utils pages
  6. Update search.json to also index the utils collection
  7. Optionally add a “Utils” link somewhere accessible (main nav or compilers page)

Verification

  1. Run Jekyll locally (bundle exec jekyll serve) and check:
    • Footer centers when sidebar is collapsed (Bug 1)
    • Main content area fills to left edge with sidebar open (Bug 2)
    • Mobile hamburger is 2 lines, forms X, menu drops from top (Bug 3)
    • Search “function registration” returns only the function registration page, not all pages mentioning “function” (Bug 4)
    • Nav sidebar and index page show Tour as item #2 (Bug 5)
    • GitHub SSH Key Setup appears under /utils/, not /compilers/ (Bug 6)
  2. Test responsive breakpoints at 768px boundary for bugs 1-3
  3. Test sidebar collapse toggle on desktop for bug 1