Screenshots

What it looks like

What you get

Everything in this build

Writers, shops, and agencies that publish long posts. Also hiring managers who want to see a small plugin I shipped.

  • Gutenberg Table of Contents block with live editor preview
  • [tocguide] shortcode for classic content and page builders
  • Sticky and scroll-spy options
  • Reading Guide and study tools (opt-in)
  • Academic citations (APA, MLA, Chicago, Harvard, plain link)
  • Optional ItemList JSON-LD
  • Settings → TOCguide (design, a11y, auto-insert)
  • Docs and support HTML
  • Zero config — insert the block; the outline builds itself
  • Server-rendered HTML for SEO and screen readers
Show all 15 features Show fewer
  • Accurate anchors with aria-current while you read
  • Numbered or bulleted lists, five style presets
  • Reading Guide adds previews, density bars, and read time
  • Study tools add a progress bar, bookmark, and private notes
  • Free forever — GPLv2 or later, no tracking

Story

How it came together

  1. Why I built it

    Long posts need a jump list. Many plugins add extra blocks or hide the outline from search engines and screen readers.

  2. What I did

    I built a light plugin that reads headings and prints the list on the first page load. Reading Guide, citations, and study tools stay opt-in. Nothing phones home.

  3. What you can use

    A publisher can add a table of contents that is easy to read and easy to find. The plugin is free. Hire me if you want it tailored.

Under the hood

Stack, architecture, and handoff

Specs

Architecture

  • PHP block render callback (`tocguide/table-of-contents`), small editor script, optional ItemList JSON-LD.
  • Reading Guide and study tools compute from post content or localStorage.
  • No React runtime on the front end for the list itself.
  • Independent slug: tocguide.

Handoff

Download the zip, turn the plugin on, and add the block. Settings are under Settings → TOCguide. Source is on GitHub if you want to fork it.

Palette

  • Ink #1b1f24
  • Forest #275c3e
  • Paper #f7f9fc

Questions

Common questions

Is TOCguide really free?

Yes. $0 checkout captures your email for update notices if you want them, or download from GitHub Releases. No freemium lock.

Is TOCguide the same plugin as TOCflow?

Yes. TOCguide is the current name and slug (WordPress.org guideline 17). Re-insert the block and save Settings → TOCguide if you used an earlier zip.

Does it work with classic editor posts?

Yes — use the [tocguide] shortcode. Heading anchors still inject on the front end.

Will it slow my site?

The list is in the first HTML response. Front-end JS is optional for sticky, scroll-spy, and study tools, and it respects prefers-reduced-motion.

Does it track readers?

No. No accounts, no analytics, no remote APIs. Study tools that use localStorage stay on the visitor's device.

Can you customize it for my theme?

Yes. Get help for sticky-header offsets, style presets that match your brand, or a private fork.

Feedback

What would you change?

Like or star this sample, leave a public note, or write me privately. I read every reply.

Visitor notes

No visitor notes yet. Say what you would change, or what you liked. ASCII, code, and plain punctuation are welcome.

Leave feedback

What would you change? ASCII, code, and plain punctuation are welcome. Email stays private.

Tip: **bold**, _italic_, `code`, [text](https://), and > quotes. ASCII punctuation is kept as typed. 0 / 8000

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Ask about this project

Name, email, and a few sentences. This goes straight to my inbox.

I only use this to reply. No newsletter.

No pitch deck needed. Paste a URL if you have one.

I usually reply within one business day (ET).

Work with me

Like TOCguide?

Tell me what you would change, or write about a role. I usually reply in a day.

Ask about this Hire me

Remote · within one business day (ET)