Project ideas from Hacker News discussions.

A static site generator written in POSIX shell

📝 Discussion Summary (Click to expand)

Here are the three most prevalent themes from the discussion, supported by direct quotations.

1. Justification of Using Shell Scripts for Static Sites

Many users defended the practice of writing personal site generators in shell (bash, sh), citing convenience, control, and the "fun" of cobbling together simple tools for text processing.

  • adityaathalye: "It exists because one whistles silly tunes and shaves yaks."
  • mrwh: "My personal sites tend to start hand-written, evolve into a bash script... mostly just stay in bash, because it's convenient, doesn't please anyone else (nor would it!), and is already built for text processing into files."
  • p4bl0: "I did something similar a (very) long time ago... a static site generator and blog engine entirely coded in sh (yes, not even Bash) + coreutils... It was fun to build."

2. Pragmatic Tooling for Minimal Build Environments

A significant portion of the discussion focused on generating websites in restricted environments (like GitHub runners) using minimal software. Users debated the merits of using pre-installed tools like Java/XSLT, sed/awk, or lightweight compilers like comrak versus heavier alternatives like pandoc.

  • vbezhenar: "I wonder what would be a good way to generate a website with minimal software installations, for example in standard github runner image... I've come up with using Java and XSLT."
  • MallocVoidstar: "pandoc is big (nearly 200MB binary on Debian) and does far more than just Markdown -> HTML."
  • captn3m0: "For minimal stuff, I just have a pre-commit hook that runs pandoc -s README.md -o index.html."

3. Nostalgia and Modern Rediscovery of Simpler Static Site Generators

Several users expressed fondness for older, simpler static site generators (like the Bash-based NanoBlogger) or the general trend of moving away from complex frameworks back to simpler, script-based workflows.

  • avian: "My first blog was made with NanoBlogger, which was what you would call a static site generator today. It's made in Bash."
  • hkt: "I've set up a few with that too, it was a great bit of software and a great concept."
  • msephton: "This is fun. I do love a good bit of shell scripting. Also makes me want to make my own little ssg in whatever way I see fit."

🚀 Project Ideas

ShellSSG

Summary

  • A minimal static site generator that relies only on POSIX shell, coreutils, and optional lightweight tools like pandoc or comrak.
  • Solves the frustration of heavy dependencies (e.g., 200 MB pandoc) and the desire to build sites directly in a GitHub runner or local shell.
  • Core value: “Build your site with just a Makefile and a few shell scripts, no extra installs.”

Details

Key Value
Target Audience Developers who prefer shell scripting, CI/CD pipelines, and minimal runtime overhead.
Core Feature Pipeline‑driven markdown → HTML conversion, templating via envsubst/sed, hot‑reload via inotifywait.
Tech Stack POSIX shell, sed, awk, envsubst, pandoc/comrak (optional), make, inotify-tools.
Difficulty Medium
Monetization Hobby

Notes

  • “I want to generate a website in github runner without accessing network to install something else.” – vbezhenar
  • “I do love a good bit of shell scripting.” – msephton
  • Practical utility: can be dropped into any repo, works on any Linux runner, no Docker needed.

MDSpellPreview

Summary

  • A lightweight, Linux‑native Markdown editor with built‑in spell checking and live preview.
  • Addresses the need for a “good markdown editor for Linux” that is not heavy like Obsidian.
  • Core value: “Write Markdown fast, see the result instantly, and catch typos on the fly.”

Details

Key Value
Target Audience Linux users who write Markdown in VSCode, Vim, or terminal and want a dedicated editor.
Core Feature GTK/TUI editor, integrated spell checker (hunspell/aspell), real‑time HTML preview via pandoc or comrak.
Tech Stack Python/GTK or Rust/TUI, hunspell, pandoc/comrak, webview for preview.
Difficulty Medium
Monetization Hobby

Notes

  • “I need spell check and a preview at least.” – jimnotgym
  • “I use vim and have a binding for F5 to build the current document then open the result in the browser window.” – AlecSchueler
  • Discussion potential: comparing TUI vs GUI, integration with existing editors.

Tree2HTML

Summary

  • A command‑line tool that converts tree output into clean HTML or JSON, optionally applying custom templates.
  • Solves the annoyance of manually generating directory listings for static sites.
  • Core value: “Turn a simple tree -H into a reusable component for any SSG.”

Details

Key Value
Target Audience Static site developers, documentation maintainers, and sysadmins.
Core Feature Parse tree output, output HTML/JSON, support CSS classes, optional templating via envsubst.
Tech Stack Go or Rust CLI, tree binary, optional envsubst, jinja2 templates.
Difficulty Low
Monetization Hobby

Notes

  • “tree can output HTML. I've used tree -H to generate directory listings more than once.” – MomsAVoxell
  • “I want a good way to generate a website with minimal software installations.” – vbezhenar (could use Tree2HTML as part of a minimal SSG)
  • Practical utility: embed directory listings in blogs, documentation, or personal sites without extra dependencies.

Read Later