# \[DONE\] Table of Contents block or other function

**URL:** <https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235>\
**Category:** Ideas & Features\
**Tags:** blocks, rich-text\
**Created:** [November 20, 2021, 6:38pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235 "2021-11-20T18:38:26Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [November 20, 2021, 6:38pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/1 "2021-11-20T18:38:27Z")

</div>

I was surprised to not find an existing feature request for this one, but I did search a bit and only found brief mentions in otherwise unrelated discussions. So the request is simple: some kind of Table of Contents feature, for docs, certainly, but perhaps even just overall for Rich Text. Maybe even as a kind of Block in the upcoming [[IN DEV] Migrate Entity View to Blocks](https://community.fibery.io/t/in-dev-migrate-entity-view-to-blocks/2005) paradigm.

Personally, though, I’d love to see it as something that can optionally “float” or exist outside/alongside the main contents. Not so much as a traditional book-style ToC, as-in a Word doc, but rather as a navigation aid. That said, depending on how flexible Blocks can be, an option _in_ a ToC block to simply “dock and float right/left on scroll” would satisfy that need very well.

If I were to outline my _perfect_ ToC functions, it would look something like the following, though I realize some of these may be a big ask, or too much work to do for the context in Fibery (which is not intended to be a sophisticated doc editor, I think; more about getting work done).

## Ideal ToC

- Block-based, can be instantiated anywhere in a Doc or Rich Text
- Collapsible
- Ability to configure what header levels it shows
- Optional collapsible headers, possibly with a “Collapsed by default” and/or “Only one header expanded at a time” options
- Click to navigate to headers with a click
- Option to display alongside doc contents somehow
  - Ideally the ability to “float” and scroll with the user’s view as a navigation aide

Using the ToC for navigation and having clickable header links suggests that this would rely on/require implementation of Anchor Links. Or at the least that adding Anchor Link functions would follow well from having clickable nav from a ToC.

**Anyone else want something in a ToC feature that I missed?** I made this post a Wiki, so feel free to edit and add your own bullets for additional desired ToC-specific features.

---

<div class="post-metadata">

**Author:** ![Jean](https://avatars.discourse-cdn.com/v4/letter/j/fbc32d/32.png) [@Jean](https://community.fibery.io/u/Jean)\
**Post date:** [November 22, 2021, 5:19pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/2 "2021-11-22T17:19:40Z")

</div>

Love to see that as well, very needed for larger docs.

What surprised me when dealing with larger doc is that the collapsible state of headings are not stored. If i write a large doc with many details, i may want to hide stuff from it to make it more readable, one section at a time or let user “explore” it and expand only the sections/headings that applies to himself, to his role, etc…

However, seems that Fibery doesn’t store those states… if I collapse some headings, when I share it to a user or externally, the entire document is fully expanded. That’s not desired outcome and defeats the biggest purpose of collapsible headings.

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [December 3, 2021, 11:54pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/3 "2021-12-03T23:54:33Z")

</div>

Accidental duplicate of: [[APPROVED] Outline feature in docs](https://community.fibery.io/t/approved-outline-feature-in-docs/1192)

Though I appear to have more votes already 😄 Probably just because it’s more recent.

---

<div class="post-metadata">

**Author:** ![nimesh](https://avatars.discourse-cdn.com/v4/letter/n/a5b964/32.png) [@nimesh](https://community.fibery.io/u/nimesh)\
**Post date:** [November 26, 2020, 1:50pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/4 "2020-11-26T13:50:15Z")

</div>

Love the existing collapsing of contents that are inside the heading. But, as we write a long-form document inside Fibery, it feels like an outline/table of content feature would be more beneficial.  
I love how Coda does it. Not a big fan of Notion/Clickup way of doing it.

---

<div class="post-metadata">

**Author:** ![Polina\_Zenevich](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/polina_zenevich/32/480_2.png) [@Polina\_Zenevich](https://community.fibery.io/u/Polina_Zenevich)\
**Post date:** [December 3, 2020, 12:47pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/5 "2020-12-03T12:47:20Z")

</div>

Hi!  
Thanks for the idea, like it and will add to the Documents ideas backlog to research later 🌞

---

<div class="post-metadata">

**Author:** ![Holger\_Winkelmann](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/holger_winkelmann/32/1524_2.png) [@Holger\_Winkelmann](https://community.fibery.io/u/Holger_Winkelmann)\
**Post date:** [February 21, 2021, 8:28pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/6 "2021-02-21T20:28:25Z")

</div>

Yeah, is you plan to replace rather than integrate with some sort of docs, I.e. Google Docs, then navigating a slightly bigger Document with numerous of heading is important. Otherwise we end up with just a giant Rich Text Field. I’m personally would really love to integrate/import some existing docs and make navigating them somehow possible. I’m not sure this should be in the sidebar are as “Smart Folders” or inside the content area. But the tendency goes to side bar for me.

---

<div class="post-metadata">

**Author:** ![radek](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/radek/32/4249_2.png) [@radek](https://community.fibery.io/u/radek)\
**Post date:** [November 30, 2021, 4:55pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/7 "2021-11-30T16:55:09Z")

</div>

Indeed. ToC is one of critical features to stay within Fibery and to leave to Gdocs.

Is that on the roadmap? If yes, towards which quarter / year?

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [December 3, 2021, 11:53pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/8 "2021-12-03T23:53:59Z")

</div>

Somehow I missed this topic when making my own. They should be merged, I think:

> [@\[DONE\] Table of Contents block or other function](https://community.fibery.io/t/table-of-contents-block-or-other-function/2235):
>
> I was surprised to not find an existing feature request for this one, but I did search a bit and only found brief mentions in otherwise unrelated discussions. So the request is simple: some kind of Table of Contents feature, for docs, certainly, but perhaps even just overall for Rich Text. Maybe even as a kind of Block in the upcoming [[IN DEV] Migrate Entity View to Blocks](https://community.fibery.io/t/in-dev-migrate-entity-view-to-blocks/2005) paradigm. Personally, though, I’d love to see it as something that can optionally “float” or exist outside/alongside the ma…

---

<div class="post-metadata">

**Author:** ![cover](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/cover/32/11891_2.png) [@cover](https://community.fibery.io/u/cover)\
**Post date:** [May 17, 2022, 7:39pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/9 "2022-05-17T19:39:39Z")

</div>

Hmm, the page you mentioned says " Oops! That page doesn’t exist or is private."

Anyway I’ve just voted for ToC feature, would be really useful + and/or anchors!

Many thanks!

---

<div class="post-metadata">

**Author:** ![Adam](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/adam/32/334_2.png) [@Adam](https://community.fibery.io/u/Adam)\
**Post date:** [June 17, 2022, 6:19am UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/10 "2022-06-17T06:19:56Z")

</div>

Agree this is very much needed.

---

<div class="post-metadata">

**Author:** ![X\_Yuan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/x_yuan/32/5739_2.png) [@X\_Yuan](https://community.fibery.io/u/X_Yuan)\
**Post date:** [November 14, 2022, 2:49am UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/11 "2022-11-14T02:49:53Z")

</div>

Want to add my vote here as well. If Fibery wants to be one place for all workspace related applications, it needs to have the ability to handle long structured text more efficiently. For example, on Fibery’s own User Guide, it’s quite tedious to scroll to a specific section when the page gets longer. A ToC on the right hand side would solve this problem.

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [November 14, 2022, 9:55pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/12 "2022-11-14T21:55:18Z")

</div>

The Public Documentation use case is a _very_ good example of the need for this!

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [November 21, 2022, 5:49pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/13 "2022-11-21T17:49:25Z")

</div>

Now that I think about it, it’d be nice to be able to put a ToC block anywhere, but if that’s harder than a floating ToC, or the choice of dev resources comes down to _either_ a ToC block _or_ a floating ToC, but not both (for now at least), then I’d be in favor of a really good floating ToC design, collapsible, showing indentation for header levels, etc. It should show up in the “gutter” on the right or maybe left side of doc contents. Since it would be always available, it would largely address the desire to have ToC in a block, I think, and it could then be designed into the page settings, etc. This would also solve part of this recent FR:

> [@Better support for content editors to create a structured document](https://community.fibery.io/t/better-support-for-content-editors-to-create-a-structured-document/3573):
>
> Can we better support content creators structure a rich document? I’d like better support for content editors to create a structured document. Particularly, can we do something to help content creators apply the (correct) heading level (1-6)? When writing articles like wiki pages in Fibery, the structure is important, because: it helps with readability for users (headings) the only supported way to collapse content for users (headings) if you set the heading level wrong, collapse confuse us…

The Clover note-taking app has kind of a cool implementation of a subtle, persistent, collapsed, open-on-hover ToC. I’d prefer it to have the ability to “pin” it open though:  
 ![clover-toc](https://us1.discourse-cdn.com/flex020/uploads/fibery/original/2X/7/720de7c722b4fe2e8f415c2236d1b6aa8f0fa846.gif)  
Note how even in the collapsed state you can tell the header levels (H1-H3 are all that is supported) by the size of the dot. Subtle but clever.

---

<div class="post-metadata">

**Author:** ![X\_Yuan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/x_yuan/32/5739_2.png) [@X\_Yuan](https://community.fibery.io/u/X_Yuan)\
**Post date:** [November 30, 2022, 10:00pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/14 "2022-11-30T22:00:31Z")

</div>

It’s getting more and more painful as I write longer content in Fibery. Wondering if this will be implemented anytime soon. Otherwise, I have to move to other places for writing, although it would be great if I can put all things together in one app.

---

<div class="post-metadata">

**Author:** ![aoe](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/aoe/32/6018_2.png) [@aoe](https://community.fibery.io/u/aoe)\
**Post date:** [January 11, 2023, 11:54am UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/15 "2023-01-11T11:54:42Z")

</div>

I have already voted for this but thought I could add a more detailed comment as well.

We are considering moving our entire organization to Fibery. The database/relations functionality is really good.

We are also planning to move all of our documentation to one place (and that would be Fibery). I personally think some small enhancements to the document editing would have very big improvements to the look and feel of Fibery as a whole.

It would be very nice to have an automatic _Table of Contents_ block based on headings (or similar) as some documents can have a lot of information.

A workaround right now is to break up a document into smaller documents and link to them instead but it doesn’t always make sense to do so.

I honestly wouldn’t mind creating manual _Table of Content_ lists but there does not seem to be a way to do internal links yet (as mentioned [here](https://community.fibery.io/t/i-desperately-need-internal-anchors-that-would-serve-as-cross-references-in-documents/2953/4)). It takes away from the look and feel when a new tab is opened instead of jumping within the same page.

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [January 17, 2023, 6:27am UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/16 "2023-01-17T06:27:42Z")

</div>

working prototype

---

<div class="post-metadata">

**Author:** ![aoe](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/aoe/32/6018_2.png) [@aoe](https://community.fibery.io/u/aoe)\
**Post date:** [January 17, 2023, 6:56am UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/17 "2023-01-17T06:56:30Z")

</div>

Looking forward to it, looks nice!

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [January 17, 2023, 3:45pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/18 "2023-01-17T15:45:10Z")

</div>

Interesting! It seems to overlap contents, so is not meant to be just left open, but rather as a sort of “pop-open when you want to quick jump somewhere in a big doc”? Is that correct?

---

<div class="post-metadata">

**Author:** ![mdubakov](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/mdubakov/32/10_2.png) [@mdubakov](https://community.fibery.io/u/mdubakov)\
**Post date:** [January 26, 2023, 3:27pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/19 "2023-01-26T15:27:34Z")

</div>

Experimental Table of Content released, please check it and provide your feedback

> [@January 26, 2023 / full\_moon Full add via Forms (experimental), Table of content (experimental), Hubspot v4 support](https://community.fibery.io/t/january-26-2023-full-add-via-forms-experimental-table-of-content-experimental-hubspot-v4-support/3858):
>
> full_moon Full Add via Forms (experimental) Now you can add entities inside Fibery via Forms. Create a Form for some database and it will be visible in all Views with this database via additional ˅ menu near New button. Full Add is experimental so far and we might improve it based on your feedback. Enable it in Experimental Features in left menu. [2023-01-26 15.44.57] Your feedback is appreciated, as always! accordion Table of Content (experimental) We’ve added Table of content into do…

---

<div class="post-metadata">

**Author:** ![Oshyan](https://sea2.discourse-cdn.com/flex020/user_avatar/community.fibery.io/oshyan/32/11431_2.png) [@Oshyan](https://community.fibery.io/u/Oshyan)\
**Post date:** [January 31, 2023, 5:55pm UTC](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235/20 "2023-01-31T17:55:51Z")

</div>

It’s a nice step forward, for sure! I personally would want to be able to _pin_ it open, at the least. And for Rich Text Fields, I would prefer it to pop-out to the Left and not overlap contents (and also be pin-able), at least where width/screen space allow (I’m on a 4k monitor, plenty of room).

I also wonder if there is a way to better hint at what it is, make it more discoverable to whose who are less exploratory and don’t tend to just click on something that isn’t clearly identified. The on-hover pop-up text is helpful, and may be enough. Probably needs some time to see how people’s experience is with it.

Finally, for some reason I find the line length identifier for header size/level to be a less obvious/intuitive one than dot size. Is the longer line “bigger” (larger/higher level header, e.g. H1), or smaller (further indented, smaller/lower header, e.g. H3)? Turns out it is the former, but I wasn’t sure until I started clicking on them to see, and that’s not ideal. I think it should be immediately legible from the start, and the current design has some conflation with indentation as a representation of hierarchy IMO. I also feel that, even though it stays in the margin, it “feels” as though it is intruding a bit more on the text (and also reminds me of a ruler). If you prefer to keep the line length indicator, maybe combine it with a line weight/thickness.

Overall it’s pretty good as-is though, and it addresses the most important aspects of my feature request I think: it’s unobtrusive, floating/sticky, jump-click, collapsible, etc. 👍

[Next page](https://community.fibery.io/t/done-table-of-contents-block-or-other-function/2235.md?page=2)
