Skip to content
Traslatability traslatability

Table of Contents Features

Give a long post a contents list readers actually use — and hand Google a set of links straight into your sections.

Table of Contents

Everything it does

The complete list — what each part does and what it is there for.

The look 3 features

Sixteen designs, not one with sixteen colour schemes

A plain list, a card, a rail, a bracket, ruled notebook paper, a magazine contents page, numbered steps, and a ladder whose dots fill in as the reader moves down the article. Each is a different shape, not the same box in a different colour. Override any of the four colours or leave them and the design decides.

Marks the section being read

The entry for whichever section the reader is in is highlighted as they scroll, so a long article always says where they are. It works from position rather than from what is on screen, which means it still has an answer in the middle of a long section where no heading is visible at all.

Numbering that reads like a printed outline

None, bullets, 1. 2. 3., nested 1.1.1., roman or alphabetic — and roman and alphabetic alternate by depth the way a real outline does, because six levels of roman numerals is unreadable. The numbers are real text, so they are read aloud and they copy with the list.

Found in search 1 feature

Every heading gets a permanent anchor

Readable ids generated the way WordPress makes post slugs, unique on the page, and never rewritten if a heading already had one — because an existing id is somebody's shared link. These are what a search engine uses to offer a jump straight into the right part of your page.

Where it goes 2 features

Automatic, but never on the wrong post

Added before the first heading — after the intro, above the first section — on any post long enough to need one. Set the threshold yourself, limit it to the post types and pages you choose, and overrule the whole thing from any single post's editor.

A shortcode and a block for the rest

[toc] anywhere in the content, or the Table of contents block in the editor. Both take their settings from the plugin unless you override them on the spot, so [toc design="rail" numbering="nested"] tries something on one post without changing anything for the others.

Getting around 5 features

Comes back after it has scrolled away

A small button in the corner reopens the list once the real one has scrolled off the top, so the reader can jump to another section from anywhere in the article — without a sidebar, and without moving the list out of the post where it belongs.

Folds away, branch by branch

The whole list folds, and so does each branch. Start it folded on phones only, where a forty-entry list would push the article itself off the bottom of the screen. An accordion mode keeps one branch open at a time.

Stops in the right place under a sticky header

Name your sticky header once and its height is measured and allowed for, so jumping to a section never lands with the heading hidden underneath it. The admin bar is measured too, for signed-in readers only.

A copyable link on every entry

A small button on the row being pointed at copies a link straight to that section — for anyone who wants to share one part of a long article rather than the whole thing.

Reading time, section count and a progress bar

Say how long the post takes, how many sections it has, and how far through it the reader is. All three are off by default: they suit a long guide and clutter a short one, so it is your call rather than ours.

Honest by default 3 features

Nothing fetched from anywhere

One small stylesheet and one small script, both from your own server, and only on pages that actually have a contents list. No font, no icon service, no third-party request, and nothing recorded about the reader.

Works without JavaScript

The list is a real nav holding real links to real anchors before a byte of script runs. Folding, the scroll marker and the copy button are additions on top — if any of them fail, the reader still has a working table of contents.

Prints as a proper contents page

On paper the interactive chrome disappears and anything folded is opened, so a printed article carries a contents list that is actually complete rather than an empty box with a Show button in it.

Everywhere 5 features

Works on a network

Activate it on one site or across a whole multisite network. Each site keeps its own settings, and a site added to the network later is set up on its own rather than coming up with nothing.

Spanish and French included

Every string in the plugin, the admin screens and the licence page is translated into Spanish and French, and the contents list itself is built from your own headings in whatever language you write them.

An admin that never reloads

Every screen in the plugin arrives without a page load, and every save happens where you are standing. WordPress fetches the whole of wp-admin's CSS and JavaScript again to change one panel; this fetches the panel. The screen you are on is still there while the next one is on its way, and the one you are heading for is usually already in hand — a pointer takes a moment to reach a menu item, and that moment is spent fetching.

Saved, and told so where you are looking

A save answers in the corner of the screen, bordered in the colour of what it is telling you and saying what was saved rather than just "Saved". Four seconds, and hovering holds it open. No reload, and no scrolling back to find a notice above the header three hundred pixels from the button you just pressed.

Tabs that change instantly

A WordPress admin request spends about a second in its own bootstrap before a plugin gets a word in, and fetching when your pointer arrives only buys back a fraction of it. So the plugin's other screens are fetched quietly while you read the first one — one at a time, only while the browser is idle, and never on a metered connection. By the time you click a tab the answer has been in memory for seconds.

Get Table of Contents

One licence, every feature. Updates and support included.

See pricing