Show HN: Lobster.js – Extended Markdown with layout blocks and footnotes

Hi HN!

I built lobster.js which is an extended Markdown parser that renders directly in the browser — no build tool, no framework, no configuration.

The entire setup is a single script tag:

  <script type="module">
    import { loadMarkdown } from "https://hacknock.github.io/lobsterjs/lobster.js";
    loadMarkdown("./content.md", document.getElementById("content"));
  </script>
It's particularly useful for GitHub Pages sites where you want Markdown-driven content without pulling in Jekyll or Hugo.

---

What makes it different from marked.js or markdown-it:

Standard parsers convert Markdown to HTML — that's it. lobster.js adds layout primitives to the Markdown syntax itself:

- :::warp id defines a named content block; [~id] places it inside a silent table cell. This is how you build multi-column layouts entirely in Markdown, without touching HTML. - :::details Title renders a native <details>/<summary> collapsible block. - :::header / :::footer define semantic page regions. - Silent tables (~ | ... |) create borderless layout grids. - Cell merging: horizontal (\|) and vertical (\---) spans. - Image sizing: ![alt](url =800x).

---

CSS-first design:

Every rendered element gets a predictable lbs-* class name (e.g. lbs-heading-1, lbs-table-silent). No default stylesheet is bundled — you bring your own CSS and have full control over appearance.

---

The showcase site is itself built with lobster.js. The sidebar is nav.md, and each page is a separate Markdown file loaded dynamically via ?page= query parameters — no JS router, no framework.

Markdown is the one format that humans and LLMs both write fluently. If you want a structured static site without a build pipeline, lobster.js lets that Markdown become a full web page — layout and all.

GitHub: https://github.com/Hacknock/lobsterjs Showcase: https://hacknock.github.io/lobsterjs-showcase/

github.com

5 points

Kyome22

14 hours ago


3 comments

llagerlof 5 hours ago

I liked your standard. For me, there is only one thing that really bothers me in Markdown and causes me trouble. It's not possible to have line breaks inside individual cells. This is the major flaw in Markdown.

ramon156 10 hours ago

This is going to be my last comment about AI, but please HN, do something about this.

I can't be arsed to read this post since the very first sentence is AI generated. If you dont give a shit about your project, why should I...

  • Kyome22 8 hours ago

    I am Japanese, and this is my first time posting on Hacker News. To be honest, I used generative AI to help me write the post because I wasn't familiar with the culture or how things work here, and I'm sorry if that was annoying. Does starting with "Hi HN!" make it sound like it's AI-generated?