Files
pwnforfunandprofit.xyz/TODO.md
T

4.3 KiB
Raw Blame History

TODO — pwnforfunandprofit.xyz

Feature backlog for the blog. Check off items as they're implemented.


Discovery & Navigation

  • Client-side search — enable build_search_index = true in zola.toml, add a search page/modal with Elasticlunr
  • Reading time estimate — use page.reading_time to display "X min read" in post headers
  • Related posts — show 2–3 posts with overlapping tags at the bottom of each post
  • Post series support — series front-matter field; render a "Part N of X" callout with links to all parts in the series
  • Keyboard shortcuts — K to open search, T to toggle theme; show a small hotkey hint overlay

Content Enhancements

  • Callout / admonition shortcodes — {% note %}, {% warning %}, {% tip %}, {% danger %} Tera shortcodes styled as terminal callout boxes

  • Updated-at badge — show "Last updated: " on posts that have updated front-matter set, distinct from the published date


Post List & Filtering

  • Tag filtering on posts page — JS-powered tag chip filter; clicking a tag hides non-matching posts without a page reload
  • Reading progress bar — thin accent-colored bar at the top of the viewport that fills as you scroll through a post
  • Post view count — Cloudflare Worker + KV store to track and display view counts (fits existing wrangler.toml setup)
  • Sort / filter controls on posts page — toggle between newest-first, oldest-first, and filter by tag or difficulty

UI / UX Polish

  • Scroll-to-top button — floating button that appears after scrolling down, smooth-scrolls back to top
  • Table of contents active-section highlight — as you scroll, the current heading is highlighted in the TOC
  • Terminal-style command palette — Ctrl+K opens a fuzzy-search palette over posts and nav links
  • Animated hero terminal prompt — typewriter effect on the homepage subtitle / profile section
  • Back-to-top keyboard shortcut — pressing G then G (vim-style) scrolls to the top of the page
  • Smooth page transitions — CSS View Transitions API for navigation between pages
  • Image lightbox — click any post image to view it full-screen with a keyboard-dismissible overlay
  • Footnote hover previews — hover over a footnote ref to see its content in a tooltip without jumping to the bottom

Distribution & Reach

  • Webmention support — receive likes/reposts from the Fediverse / IndieWeb via webmention.io
  • Newsletter / email subscription — integrate Buttondown or self-hosted Listmonk with a subscribe form
  • /llms.txt auto-generation — generate an /llms.txt manifest from post front-matter for AI discovery (existing llms/ dir)
  • JSON Feed — add feed_filenames = ["rss.xml", "feed.json"] to zola.toml for JSON Feed support alongside RSS
  • Open Graph preview images per post — auto-generate OG images with post title overlaid using a Cloudflare Worker or build script

Developer Experience

  • Prettier / markdownlint — add linting for content files to enforce consistent front-matter and formatting
  • zola check in CI — GitHub Actions job that runs zola check on every PR to catch broken internal links
  • Automated post slug validation — pre-commit hook to enforce kebab-case filenames and required front-matter fields
  • Cloudflare Pages preview deployments — auto-deploy PR branches to a *.pages.dev preview URL for review
  • Content spell-check in CI — run cspell or vale on markdown files in the GitHub Actions pipeline

Accessibility & Performance

  • Skip-to-content link — hidden link that becomes visible on focus, skips the nav for keyboard users
  • prefers-reduced-motion support — disable/reduce animations when the OS accessibility preference is set
  • Color contrast audit — run axe or Lighthouse against the full site and fix any contrast failures
  • Lazy-load images — add loading="lazy" to all post body images via a Tera shortcode or post-processing
  • Self-host all remaining external resources — audit for any remaining CDN-loaded fonts or scripts and bring them local

Last updated: 2026-03-11