<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Joli Table Of Contents Archives - wpjoli</title>
	<atom:link href="https://wpjoli.com/blog/tag/joli-table-of-contents/feed/" rel="self" type="application/rss+xml" />
	<link>https://wpjoli.com/blog/tag/joli-table-of-contents/</link>
	<description>Sleek Wordpress Plugins</description>
	<lastBuildDate>Fri, 27 Mar 2026 11:10:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://wpjoli.com/wp-content/uploads/2023/01/wpjoli-favicon-2023-40x40.png</url>
	<title>Joli Table Of Contents Archives - wpjoli</title>
	<link>https://wpjoli.com/blog/tag/joli-table-of-contents/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Introducing Joli Table of Contents 3.0: The Biggest Update Yet</title>
		<link>https://wpjoli.com/blog/joli-table-of-contents-v3-update/</link>
					<comments>https://wpjoli.com/blog/joli-table-of-contents-v3-update/#comments</comments>
		
		<dc:creator><![CDATA[Michael]]></dc:creator>
		<pubDate>Fri, 27 Mar 2026 11:10:18 +0000</pubDate>
				<category><![CDATA[Product Updates]]></category>
		<category><![CDATA[Joli Table Of Contents]]></category>
		<category><![CDATA[table of contents]]></category>
		<guid isPermaLink="false">https://wpjoli.com/?p=2812</guid>

					<description><![CDATA[<p>We&#8217;re excited to introduce Joli Table of Contents 3.0 — the most signifiant update since the plugin was launched. This release focuses on: Whether you&#8217;re a new user or a long-time user, version 3.0 makes building beautiful and effective Table of Contents easier than ever. 🎛️ A Brand-New Settings Experience Version 3.0 introduces a complete &#8230; <a href="https://wpjoli.com/blog/joli-table-of-contents-v3-update/">Continued</a></p>
<p>The post <a href="https://wpjoli.com/blog/joli-table-of-contents-v3-update/">Introducing Joli Table of Contents 3.0: The Biggest Update Yet</a> appeared first on <a href="https://wpjoli.com">wpjoli</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>We&#8217;re excited to introduce <strong>Joli Table of Contents 3.0</strong> — the most signifiant update since the plugin was launched.</p>



<p>This release focuses on:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Better design flexibility</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Improved performance</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e0.png" alt="🧠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Easier configuration</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Powerful new features</li>
</ul>



<p>Whether you&#8217;re a new user or a long-time user, version 3.0 makes building beautiful and effective Table of Contents easier than ever.</p>


<!--wpjoli-joli-table-of-contents:toc:0-->


<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f39b.png" alt="🎛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> A Brand-New Settings Experience</h2>



<p>Version 3.0 introduces a <strong>complete redesign</strong> of the settings interface. Everything is now faster, cleaner, and easier to use.</p>



<h3 class="wp-block-heading">What&#8217;s New</h3>



<ul class="wp-block-list">
<li>Fully redesigned settings page</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f50d.png" alt="🔍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Search bar to quickly locate settings</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f440.png" alt="👀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Live Preview panel</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Quick Settings panel</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Improved color picker</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4e6.png" alt="📦" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Import presets</li>



<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f510.png" alt="🔐" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Active session checker</li>
</ul>



<p>The new interface helps you configure your Table of Contents <strong>in seconds instead of minutes</strong>.</p>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f440.png" alt="👀" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Live Preview: See Changes Instantly</h2>



<p>No more guesswork. The new <strong>Live Preview panel</strong> lets you instantly see how your Table of Contents looks while adjusting settings. The preview is 100% accurate as it leverages an iframe as if it was a visitor viewing the TOC.</p>



<p>This makes styling:</p>



<ul class="wp-block-list">
<li>Faster</li>



<li>More intuitive</li>



<li>More precise</li>
</ul>



<p>Perfect for quickly finding the right design.</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="2592" height="1942" src="https://wpjoli.com/wp-content/uploads/2026/03/joli-toc-admin.webp" alt="" class="wp-image-2814"/></figure>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9ed.png" alt="🧭" class="wp-smiley" style="height: 1em; max-height: 1em;" /> New Onboarding Wizard</h2>



<p>Getting started is now easier than ever with the new <strong>Onboarding Wizard</strong>.</p>



<p>New users can:</p>



<ul class="wp-block-list">
<li>Choose a theme</li>



<li>Preview the TOC in real time as they move through the steps</li>



<li>Configure key settings</li>



<li>Get a polished Table of Contents instantly</li>
</ul>



<p>Perfect for beginners and a great time-saver for everyone.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="694" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-onboarding-wizard-1024x694.png" alt="" class="wp-image-2816" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-onboarding-wizard-1024x694.png 1024w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-onboarding-wizard-300x203.png 300w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-onboarding-wizard-768x521.png 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-onboarding-wizard-1536x1042.png 1536w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-onboarding-wizard.png 1920w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> New Color Palette System</h2>



<p>Adjusting your Table of Contents colors to match your brand&#8217;s has never been easier. Previous versions required setting a separate color for every element: hover states, numbering, borders, badges, one by one. v3 changes that completely.</p>



<p>The new&nbsp;<strong>Color Palette system</strong>&nbsp;uses a small set of semantic colors that cascade intelligently across your entire TOC. Set your website&#8217;s <strong>Accent color</strong> once, and every theme-specific detail adapts automatically. And every color you define in the palette becomes a reusable swatch, available across all settings to override any specific element if needed.</p>



<h3 class="wp-block-heading">Benefits</h3>



<ul class="wp-block-list">
<li>Consistent branding</li>



<li>Faster customization</li>



<li>Easier theme switching</li>
</ul>



<p>Update colors once — apply everywhere.</p>



<figure class="wp-block-image size-large"><img decoding="async" width="1024" height="642" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-color-palette-system-1024x642.png" alt="" class="wp-image-2817" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-color-palette-system-1024x642.png 1024w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-color-palette-system-300x188.png 300w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-color-palette-system-768x482.png 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-color-palette-system-1536x964.png 1536w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-color-palette-system.png 1801w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f3a8.png" alt="🎨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> New and Upgraded Themes</h2>



<p>Version 3.0 introduces <strong>new v3 themes</strong> and major upgrades to existing ones.</p>



<h3 class="wp-block-heading">Updated Core Themes</h3>



<ul class="wp-block-list">
<li>Default (v3) — This is an updated version of the &#8220;basic light/dark&#8221; theme</li>



<li>Original (v3)</li>



<li>Hero (v3)</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="627" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-themes-1024x627.png" alt="" class="wp-image-2815" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-themes-1024x627.png 1024w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-themes-300x184.png 300w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-themes-768x470.png 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-themes-1536x940.png 1536w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-v3-themes.png 1920w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>These themes now include:</p>



<ul class="wp-block-list">
<li><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f319.png" alt="🌙" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Dark mode support</li>



<li>Compatible with the Color Palette</li>



<li>Better spacing</li>



<li>Theme-specific options</li>
</ul>


<div class="kb-gallery-wrap-id-2812_e623ad-c2 alignnone wp-block-kadence-advancedgallery"><div class="kb-gallery-ul kb-gallery-non-static kb-gallery-type-fluidcarousel kb-gallery-id-2812_e623ad-c2 kb-gallery-caption-style-bottom-hover kb-gallery-filter-none kb-gallery-magnific-init" data-image-filter="none" data-lightbox-caption="true"><div class="kt-blocks-carousel kt-carousel-container-dotstyle-dark"><div class="kt-blocks-carousel-init kb-blocks-fluid-carousel kt-carousel-arrowstyle-whiteondark kt-carousel-dotstyle-dark kb-carousel-mode-align-left kb-slider-group-arrow kb-slider-arrow-position-center" data-slider-anim-speed="400" data-slider-scroll="1" data-slider-arrows="true" data-slider-dots="true" data-slider-hover-pause="false" data-slider-auto="" data-slider-speed="7000" data-slider-type="fluidcarousel" data-slider-center-mode="false" data-slider-gap="10px" data-slider-gap-tablet="10px" data-slider-gap-mobile="10px" data-show-pause-button="false"><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01.webp" data-id="2818" class="wp-image-2818 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-01-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02.webp" data-id="2819" class="wp-image-2819 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-02-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03.webp" data-id="2823" class="wp-image-2823 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-03-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04.webp" data-id="2830" class="wp-image-2830 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-04-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05.webp" data-id="2822" class="wp-image-2822 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-05-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06.webp" data-id="2825" class="wp-image-2825 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-06-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07.webp" data-id="2840" class="wp-image-2840 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-07-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08.webp" data-id="2826" class="wp-image-2826 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-08-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09.webp" data-id="2820" class="wp-image-2820 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-09-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10.webp" data-id="2829" class="wp-image-2829 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-10-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11.webp" data-id="2821" class="wp-image-2821 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-11-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12.webp" data-id="2833" class="wp-image-2833 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-12-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13.webp" data-id="2824" class="wp-image-2824 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-13-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14.webp" data-id="2844" class="wp-image-2844 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-14-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15.webp" data-id="2832" class="wp-image-2832 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-15-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16.webp" data-id="2839" class="wp-image-2839 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-16-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17.webp" data-id="2838" class="wp-image-2838 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-17-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18.webp" data-id="2842" class="wp-image-2842 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-18-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19.webp" data-id="2835" class="wp-image-2835 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-19-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20.webp" data-id="2841" class="wp-image-2841 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-20-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21.webp" data-id="2837" class="wp-image-2837 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-21-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22.webp" data-id="2828" class="wp-image-2828 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-22-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23.webp" data-id="2827" class="wp-image-2827 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-23-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24.webp" data-id="2843" class="wp-image-2843 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-24-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25.webp" data-id="2836" class="wp-image-2836 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-25-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26.webp" data-id="2845" class="wp-image-2845 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-26-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27.webp" data-id="2834" class="wp-image-2834 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-27-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28.webp" data-id="2831" class="wp-image-2831 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-28-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li><li class="kb-slide-item kb-gallery-carousel-item"><div class="kadence-blocks-gallery-item"><div class="kadence-blocks-gallery-item-inner"><figure class="kb-gallery-figure kb-gallery-item-has-link kadence-blocks-gallery-item-hide-caption"><a href="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29.webp" class="kb-gallery-item-link"  ><div class="kb-gal-image-radius"><div class="kb-gallery-image-contain" ><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29.webp" width="1648" height="2048" alt="" data-full-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29.webp" data-light-image="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29.webp" data-id="2846" class="wp-image-2846 skip-lazy" srcset="https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29.webp 1648w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29-241x300.webp 241w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29-824x1024.webp 824w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29-768x954.webp 768w, https://wpjoli.com/wp-content/uploads/2026/03/wpjoli-joli-table-of-contents-theme-showcase-29-1236x1536.webp 1236w" sizes="auto, (max-width: 1648px) 100vw, 1648px" /></div></div></a></figure></div></div></li></div></div></div></div>


<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/2728.png" alt="✨" class="wp-smiley" style="height: 1em; max-height: 1em;" /> New PRO Themes</h2>



<p>PRO users also get <strong>brand new premium themes</strong>:</p>



<ul class="wp-block-list">
<li>Modern (v3)</li>



<li>Mantis</li>



<li>Flowline</li>



<li>Vertik (v3)</li>



<li>Glass</li>



<li>Aurora</li>



<li>Sequoia</li>
</ul>



<p>These themes bring new visual styles ranging from minimal to bold.</p>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cd.png" alt="📍" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Timeline TOC Mode (PRO)</h2>



<p>Introducing <strong>Timeline Mode</strong> — a brand-new way to display your Table of Contents.</p>



<h3 class="wp-block-heading">Features</h3>



<ul class="wp-block-list">
<li>Proportionally spaced markers</li>



<li>Perfect for long-form content</li>



<li>Clean vertical reading experience</li>



<li>Overlapping Progress bar available</li>
</ul>



<p>This is one of the most unique and visually distinctive TOC modes available.</p>



<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow">
<figure class="wp-block-image aligncenter size-large"><img loading="lazy" decoding="async" width="469" height="1024" src="https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-widget-timeline-469x1024.png" alt="" class="wp-image-2857" srcset="https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-widget-timeline-469x1024.png 469w, https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-widget-timeline-138x300.png 138w, https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-widget-timeline-768x1675.png 768w, https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-widget-timeline-704x1536.png 704w, https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-widget-timeline.png 826w" sizes="auto, (max-width: 469px) 100vw, 469px" /></figure>
</div>
</div>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f39b.png" alt="🎛" class="wp-smiley" style="height: 1em; max-height: 1em;" /> More Styling Power</h2>



<p>Version 3.0 adds many new styling options:</p>



<h3 class="wp-block-heading">Numbering Badge Styles</h3>



<p>Make your TOC adopt a modern, refreshing look that pairs nicely with modern themes.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="463" height="207" src="https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-badge-styles.png" alt="" class="wp-image-2813" srcset="https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-badge-styles.png 463w, https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-badge-styles-300x134.png 300w" sizes="auto, (max-width: 463px) 100vw, 463px" /></figure>



<ul class="wp-block-list">
<li>Toggle button styles</li>



<li>Numbering colors and backgrounds</li>



<li>Header advanced customization (PRO)</li>



<li>Top-level heading styling (PRO)</li>



<li>Separator between top-level headings (PRO)</li>
</ul>



<p>These options allow deeper customization without writing CSS.</p>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f4cc.png" alt="📌" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Floating TOC Improvements (PRO)</h2>



<p>Floating TOC now includes powerful new controls. Until v2, the floating widget would only show the active heading.</p>



<p>Since v3, the floating widget can either show:</p>



<ul class="wp-block-list">
<li>The active heading (the original floating mode)</li>



<li>The TOC title</li>



<li>A single icon</li>



<li>A custom text</li>
</ul>



<h3 class="wp-block-heading">Floating Improvements</h3>



<ul class="wp-block-list">
<li>Adjustable width</li>



<li>Visibility trigger options</li>



<li>Relative positioning</li>
</ul>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/27a1.png" alt="➡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Slide-Out TOC Improvements (PRO)</h2>



<p>The <strong>Blend into panel</strong> option allows the Table of Contents inside the slide-out panel to visually merge with the panel itself. Instead of appearing as a separate boxed element, the TOC adopts a more seamless, integrated look. This is achieve by removing extra backgrounds, borders, or spacing that would otherwise create a “box-within-a-box” effect.</p>



<p>This creates a cleaner and more modern appearance, especially when using slide-out panels, where the Table of Contents feels like a natural part of the panel rather than an embedded component. Perfect for minimalist designs and distraction-free reading experiences.</p>



<h3 class="wp-block-heading">Slide-Out Improvements</h3>



<ul class="wp-block-list">
<li>Blend into panel option</li>



<li>New toggle icons</li>



<li>Dynamic toggle shadow</li>



<li>Toggle button advanced customization</li>
</ul>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/23f1.png" alt="⏱" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Reading Time Estimate</h2>



<p>You can now display <strong>reading time estimates</strong> directly in your Table of Contents.</p>



<p>This helps:</p>



<ul class="wp-block-list">
<li>Improve engagement</li>



<li>Set reader expectations</li>



<li>Enhance UX for long content</li>
</ul>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="512" height="333" src="https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-estimated-reading-time.png" alt="" class="wp-image-2859" srcset="https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-estimated-reading-time.png 512w, https://wpjoli.com/wp-content/uploads/2026/03/joli-table-of-contents-estimated-reading-time-300x195.png 300w" sizes="auto, (max-width: 512px) 100vw, 512px" /></figure>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f9e9.png" alt="🧩" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Additional New Features</h2>



<p>Version 3.0 also introduces:</p>



<ul class="wp-block-list">
<li>TOC alignment (left, center, right)</li>



<li>Regional numbering support</li>



<li>Base font size option</li>



<li>Extended headings scope</li>



<li>Title attribute disable option</li>
</ul>



<h3 class="wp-block-heading">New TOC Icons</h3>



<ul class="wp-block-list">
<li>Newspaper</li>



<li>Spotlight</li>



<li>List collapse</li>



<li>List ordered</li>



<li>Asterisk</li>



<li>Atom</li>



<li>Sparkles</li>
</ul>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a1.png" alt="⚡" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Performance &amp; Technical Improvements</h2>



<p>Version 3.0 also includes major improvements under the hood:</p>



<ul class="wp-block-list">
<li>Improved TOC processing engine</li>



<li>Improved smooth scrolling</li>



<li>Better jump link behavior</li>



<li>Selective CSS loading</li>



<li>Cleaner inline styles</li>



<li>Grid-based layout improvements</li>
</ul>



<p>These changes improve:</p>



<ul class="wp-block-list">
<li>Performance</li>



<li>Compatibility</li>



<li>Reliability</li>
</ul>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/26a0.png" alt="⚠" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Breaking Changes</h2>



<p>To keep the plugin modern and maintainable:</p>



<ul class="wp-block-list">
<li>Removed v1 legacy support (previously announced)</li>



<li>Deprecated hexadecimal and binary numeration types</li>
</ul>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f41e.png" alt="🐞" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Bug Fixes</h2>



<ul class="wp-block-list">
<li>Fixed auto-insert formatting bug</li>



<li>Fixed bullet spacing issue</li>



<li>Minor bug fixes</li>
</ul>



<h2 class="wp-block-heading"><img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f389.png" alt="🎉" class="wp-smiley" style="height: 1em; max-height: 1em;" /> Available Now</h2>



<p>Joli Table of Contents 3.0 is <strong>the most powerful version yet</strong>.</p>



<p>With:</p>



<ul class="wp-block-list">
<li>Redesigned UI</li>



<li>New themes</li>



<li>Timeline mode</li>



<li>Live preview</li>



<li>Performance improvements</li>
</ul>



<p>This release represents a major step forward.</p>



<p>Update today and experience the new <a href="https://wpjoli.com/joli-table-of-contents/">Joli Table of Contents</a>.</p>



<p></p>
<p>The post <a href="https://wpjoli.com/blog/joli-table-of-contents-v3-update/">Introducing Joli Table of Contents 3.0: The Biggest Update Yet</a> appeared first on <a href="https://wpjoli.com">wpjoli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpjoli.com/blog/joli-table-of-contents-v3-update/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>How to Customize Joli Table of Contents: Beginner &#038; Advanced Tips</title>
		<link>https://wpjoli.com/blog/customize-joli-table-of-contents/</link>
					<comments>https://wpjoli.com/blog/customize-joli-table-of-contents/#respond</comments>
		
		<dc:creator><![CDATA[Michael]]></dc:creator>
		<pubDate>Fri, 15 Dec 2023 09:50:30 +0000</pubDate>
				<category><![CDATA[Guides]]></category>
		<category><![CDATA[Joli Table Of Contents]]></category>
		<guid isPermaLink="false">https://wpjoli.com/?p=1857</guid>

					<description><![CDATA[<p>Joli Table of Contents is a table of contents plugin for WordPress. It stands out by its high potential in customization. The default look of the table of contents is rather simple and will blend well with most themes. However, under the hood Joli Table of Contents has been designed to be fully customizable. In &#8230; <a href="https://wpjoli.com/blog/customize-joli-table-of-contents/">Continued</a></p>
<p>The post <a href="https://wpjoli.com/blog/customize-joli-table-of-contents/">How to Customize Joli Table of Contents: Beginner &#038; Advanced Tips</a> appeared first on <a href="https://wpjoli.com">wpjoli</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Joli Table of Contents is a table of contents plugin for WordPress. It stands out by its high potential in customization. </p>



<p>The default look of the table of contents is rather simple and will blend well with most themes. However, under the hood Joli Table of Contents has been designed to be fully customizable.</p>



<p>In this article, I will customize an exemple table of contents from scratch, by leveraging Joli Table of Contents&#8217; advanced customization features.</p>



<h2 class="wp-block-heading">The default table of contents</h2>



<p>In our example, we will use the default &#8220;Basic Light&#8221; theme. This is how it looks like with the default settings: </p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2023/12/joli-table-of-contents-advanced-customization-00.png" alt="" class="wp-image-1860" width="827" height="479" srcset="https://wpjoli.com/wp-content/uploads/2023/12/joli-table-of-contents-advanced-customization-00.png 827w, https://wpjoli.com/wp-content/uploads/2023/12/joli-table-of-contents-advanced-customization-00-300x174.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/joli-table-of-contents-advanced-customization-00-768x445.png 768w" sizes="auto, (max-width: 827px) 100vw, 827px" /><figcaption class="wp-element-caption">Joli Table of Contents with Basic Light theme</figcaption></figure>



<h2 class="wp-block-heading">Basic styles: borders / rounded corners / colors</h2>



<p>The first we are going to do to get a more custom look using the plugin&#8217;s settings is the following: </p>



<ul class="wp-block-list">
<li>Add a border</li>



<li>Round the corners</li>



<li>Change some colors</li>
</ul>



<h3 class="wp-block-heading">Custom border</h3>



<p>To add a border, let&#8217;s go to the settings page. Under <strong><em>STYLES &gt; TABLE OF CONTENTS</em></strong>, let&#8217;s set the Border to 3px on each side.</p>



<p>Next, we are going to set the Border radius to 12px on each corner. This setting will make the corners rounded.</p>



<p>Now let&#8217;s give a custom color to the border, and this is how the settings look like so far:</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" src="https://wpjoli.com/wp-content/uploads/2023/12/image-4.png" alt="" class="wp-image-1865" width="495" height="365" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-4.png 989w, https://wpjoli.com/wp-content/uploads/2023/12/image-4-300x221.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-4-768x567.png 768w" sizes="auto, (max-width: 495px) 100vw, 495px" /></figure>



<p>At this point, our table of contents looks like this:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="835" height="487" src="https://wpjoli.com/wp-content/uploads/2023/12/image-5.png" alt="" class="wp-image-1866" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-5.png 835w, https://wpjoli.com/wp-content/uploads/2023/12/image-5-300x175.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-5-768x448.png 768w" sizes="auto, (max-width: 835px) 100vw, 835px" /></figure>



<h3 class="wp-block-heading">Table of contents colors</h3>



<p>For our style, we want to have a blue colored header with the table of contents title in white and a white background for the table of contents body (behind the headings).</p>



<p>Under <strong><em>STYLES &gt; TABLE OF CONTENTS</em></strong>, let&#8217;s set the table of contents <strong>Background color</strong> to our custom blue color (#5838e9). This will make the whole table of contents blue.</p>



<p>Under <strong><em>STYLES &gt; TABLE OF CONTENTS TITLE</em></strong>, let&#8217;s set the table of contents <strong>Title color</strong> to white (#ffffff).</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="487" src="https://wpjoli.com/wp-content/uploads/2023/12/image-6.png" alt="" class="wp-image-1868" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-6.png 839w, https://wpjoli.com/wp-content/uploads/2023/12/image-6-300x174.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-6-768x446.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<p>What we want to do now, is to set a different body color. Let&#8217;s make it white, and slightly transparent to bring out a tiny bit of a blue shade.</p>



<p>Under <strong><em>STYLES &gt; TABLE OF CONTENTS BODY</em></strong>, we are setting a white, with an opacity of 96%.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="858" src="https://wpjoli.com/wp-content/uploads/2023/12/image-7-1024x858.png" alt="" class="wp-image-1869" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-7-1024x858.png 1024w, https://wpjoli.com/wp-content/uploads/2023/12/image-7-300x251.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-7-768x643.png 768w, https://wpjoli.com/wp-content/uploads/2023/12/image-7.png 1077w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>If you are wondering why I did not just change the Header background color, it&#8217;s because of the table of contents border that we set. In this particular case, the anti-aliasing from the rounded corners was creating a small, but noticeable hair thin white line near the corners. So by setting the blue background color at a deeper level (the TOC root), it prevents this visual defect from happening. </p>



<p>The table of contents now looks like this:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="487" src="https://wpjoli.com/wp-content/uploads/2023/12/image-8.png" alt="" class="wp-image-1870" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-8.png 839w, https://wpjoli.com/wp-content/uploads/2023/12/image-8-300x174.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-8-768x446.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<p>Because of the blue color around the heading area, the space between the TOC title and the headings looks narrower. Let&#8217;s fix this by setting a Margin bottom to the Header.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="356" src="https://wpjoli.com/wp-content/uploads/2023/12/image-9-1024x356.png" alt="" class="wp-image-1871" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-9-1024x356.png 1024w, https://wpjoli.com/wp-content/uploads/2023/12/image-9-300x104.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-9-768x267.png 768w, https://wpjoli.com/wp-content/uploads/2023/12/image-9.png 1076w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>Under <strong><em>STYLES &gt; TABLE OF CONTENTS HEADER</em></strong>, we are setting the bottom <strong>Margin </strong>to 14px.</p>



<p>Finally, let&#8217;s change the headings color to match our table of contents color.</p>



<p>Under <strong><em>STYLES &gt; HEADINGS TEXT LINK</em></strong>, we are setting the <strong>Color </strong>to our custom blue.</p>



<p>This is what the table of contents looks like at this point:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="508" src="https://wpjoli.com/wp-content/uploads/2023/12/image-10.png" alt="" class="wp-image-1872" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-10.png 839w, https://wpjoli.com/wp-content/uploads/2023/12/image-10-300x182.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-10-768x465.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<h2 class="wp-block-heading">Increase spacing between headings</h2>



<p>In order to make the table of contents look less packed, we are now going to increase the space between the headings.</p>



<p>Under <strong><em>STYLES &gt; HEADINGS TEXT LINK</em></strong>, we are setting the <strong>Padding </strong>top and bottom to 5px each, to keep it even. We are using padding instead margin in this case because it will provide more area to the heading to click on.</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="402" src="https://wpjoli.com/wp-content/uploads/2023/12/image-11-1024x402.png" alt="" class="wp-image-1873" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-11-1024x402.png 1024w, https://wpjoli.com/wp-content/uploads/2023/12/image-11-300x118.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-11-768x302.png 768w, https://wpjoli.com/wp-content/uploads/2023/12/image-11.png 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>The table of content now looks like this:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="658" src="https://wpjoli.com/wp-content/uploads/2023/12/image-12.png" alt="" class="wp-image-1874" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-12.png 839w, https://wpjoli.com/wp-content/uploads/2023/12/image-12-300x235.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-12-768x602.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<h2 class="wp-block-heading">Custom background image</h2>



<p>Let&#8217;s push the customization a little further now by using some custom CSS. The goal here is to set a custom background pattern on top of our slightly transparent white body background.</p>



<p>To make things simple, we are going to use an SVG pattern generator like <a rel="noreferrer noopener" href="https://pattern.monster/flower-2/" data-type="URL" data-id="https://pattern.monster/flower-2/" target="_blank">Pattern Monster</a>, and all we have to do is to pick a pattern, customize colors (make sure to adjust transparency). </p>



<p>The website lets you copy the corresponding CSS code by a click of a button but because it is not possible to save HTML in the settings, we need to encode the SVG in base 64.</p>



<p>The website <a rel="noreferrer noopener" href="https://fffuel.co/eeencode/" target="_blank">fffuel.co</a> lets you do that easily. Just import or paste your SVG, and it will generate automatically the corresponding <strong>URL string</strong> that we can use for our CSS.</p>



<p>To make our table of contents body have this custom background, we need to target it with CSS using the <code>.wpj-jtoc--body</code> class. All we have to do now is to paste the base 64 encoded CSS code generated and here we have our CSS rule:</p>



<p>Under <strong><em>STYLES &gt; CUSTOM CSS</em></strong>, let&#8217;s just paste this custom CSS.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="css" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">.wpj-jtoc--body {
    background-image: url("data:image/svg+xml;base64,PHN2ZyBpZD0ncGF0dGVybklkJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnPjxkZWZzPjxwYXR0ZXJuIGlkPSdhJyBwYXR0ZXJuVW5pdHM9J3VzZXJTcGFjZU9uVXNlJyB3aWR0aD0nMjAnIGhlaWdodD0nMjAnIHBhdHRlcm5UcmFuc2Zvcm09J3NjYWxlKDIpIHJvdGF0ZSgwKSc+PHJlY3QgeD0nMCcgeT0nMCcgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsbD0naHNsYSgwLCAwJSwgMTAwJSwgMCknLz48cGF0aCBkPSdNMC0xMEMtLjAxMS00LjQ5LTQuNDg1LjAzLTEwIC4wMy00LjQ4NS4wMy0uMDExIDQuNDkgMCAxMCAuMDExIDQuNDk4IDQuNDkzLjAwMSAxMC0uMDEgNC40OTMtLjAyLjAxMi00LjQ5OCAwLTEwem0wIDIwYy0uMDExIDUuNTEtNC40ODUgMTAuMDMtMTAgMTAuMDMgNS41MTUgMCA5Ljk4OSA0LjQ2IDEwIDkuOTcuMDExLTUuNTAyIDQuNDkzLTkuOTk5IDEwLTEwLjAxQzQuNDkzIDE5Ljk4LjAxMiAxNS41MDIgMCAxMHptMjAtMjBDMTkuOTg5LTQuNDkgMTUuNTE1LjAzIDEwIC4wM2M1LjUxNSAwIDkuOTg5IDQuNDYgMTAgOS45Ny4wMTEtNS41MDIgNC40OTMtOS45OTkgMTAtMTAuMDEtNS41MDctLjAxLTkuOTg4LTQuNDg4LTEwLTkuOTl6bTAgMjBjLS4wMTEgNS41MS00LjQ4NSAxMC4wMy0xMCAxMC4wMyA1LjUxNSAwIDkuOTg5IDQuNDYgMTAgOS45Ny4wMTEtNS41MDIgNC40OTMtOS45OTkgMTAtMTAuMDEtNS41MDctLjAxLTkuOTg4LTQuNDg4LTEwLTkuOTl6JyAgc3Ryb2tlLXdpZHRoPScxJyBzdHJva2U9J2hzbGEoMjU5LCA1OSUsIDU5JSwgMC4wNCknIGZpbGw9J25vbmUnLz48cGF0aCBkPSdNMTAgMEM5Ljk4OSA1LjUxIDUuNTE1IDEwLjAzIDAgMTAuMDNjNS41MTUgMCA5Ljk4OSA0LjQ2IDEwIDkuOTcuMDExLTUuNTAyIDQuNDkzLTkuOTk4IDEwLTEwLjAxLTUuNTA3LS4wMS05Ljk4OC00LjQ4OC0xMC05Ljk5eicgIHN0cm9rZS13aWR0aD0nMScgc3Ryb2tlPSdoc2xhKDI1OSwgNTklLCA1OSUsIDAuMDQpJyBmaWxsPSdub25lJy8+PC9wYXR0ZXJuPjwvZGVmcz48cmVjdCB3aWR0aD0nODAwJScgaGVpZ2h0PSc4MDAlJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgwLDApJyBmaWxsPSd1cmwoI2EpJy8+PC9zdmc+");
}</pre>



<p>Here is our table of contents with a custom background:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="658" src="https://wpjoli.com/wp-content/uploads/2023/12/image-13.png" alt="" class="wp-image-1876" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-13.png 839w, https://wpjoli.com/wp-content/uploads/2023/12/image-13-300x235.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-13-768x602.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<h2 class="wp-block-heading">Custom styles for specific headings depth</h2>



<p>Let&#8217;s keep pushing our customization journey by leveraging another built-in capability of Joli Table of Contents.</p>



<p>For each generated heading, Joli Table of Contents automatically &#8220;tags&#8221; it with a specific depth class. This way, it is easy to target different depth for styling.</p>



<p>The way it works is the following: if the heading is of type H2, it will get the <code>.--jtoc-h2</code> CSS class. if the heading is of type H3, it will get the <code>.--jtoc-h3</code> CSS class, and so on until H6 depth.</p>



<p>From there, and because of the way Joli Table of Contents works, we need to create a specific CSS rule to target specific heading depth. We cannot just use the <code>.--jtoc-h2</code> class by itself or it will give an unwanted result.</p>



<p>Here is the rule that you need to follow: <code>.--jtoc-h2&gt;.wpj-jtoc--item-content a</code></p>



<p>This rule targets all headings of type H2, and all links contained within .<code>wpj-jtoc--item-content</code>, directly after the <code>.--jtoc-h2</code> element.</p>



<p>In the following example, we are going to style every heading of type H2, and make the font weight to be bold.</p>



<p>The custom CSS needs to be pasted in the Custom CSS section of the settings.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="css" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">.wpj-jtoc .--jtoc-h2>.wpj-jtoc--item-content a {
    font-weight: bold;
}</pre>



<p>This is what the Table of contents looks like now:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="658" src="https://wpjoli.com/wp-content/uploads/2023/12/image-14.png" alt="" class="wp-image-1877" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-14.png 839w, https://wpjoli.com/wp-content/uploads/2023/12/image-14-300x235.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-14-768x602.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<h2 class="wp-block-heading">Custom HTML after specific headings</h2>



<p>Now, to go even further, we are going to create a visual &#8220;separation&#8221; between each heading of type H2. For simplicity&#8217;s sake, we are going to create a simple horizontal line.</p>



<p>To achieve this, we are going to leverage the built-in <a href="https://wpjoli.com/docs/joli-table-of-contents/developer-hooks/actions/" data-type="docs" data-id="1134">action hooks</a> and insert custom HTML dynamically.</p>



<p>For this specific task, the most appropriate hook is <code>joli_toc_before_begin_item_content</code>. When the hook is triggered, it comes with a variable ($args) containing the current heading information while it&#8217;s being processed.</p>



<p>$args is an Array and contains the following offsets:</p>



<pre class="wp-block-code"><code>    $args&#91;'id']      // The heading id (its html anchor)
    $args&#91;'title']   // The heading title as it will show
    $args&#91;'counter'] // The heading counter (1, or 1.1, or 2.1.1, etc)
    $args&#91;'depth']   // The heading depth (from 2 to 6)
    $args&#91;'url']     // Optional url that would override the id</code></pre>



<p>We can the use this to have a fine control over the way our custom HTML will be inserted.</p>



<p>Our goal is to insert an horizontal line before each heading of type H2, except for the first one.</p>



<p>To do that, we are making sur that the counter must be different from &#8220;1&#8221; which corresponds to the very first heading. The second condition will be matched against the depth. We only want depth of level 2.</p>



<p>The following snippet must be placed in your theme&#8217;s functions.php.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">add_action('joli_toc_before_begin_item_content', function ($args) {
    //Skip first heading and only process H2 headings
    if ($args['counter'] != '1' &amp;&amp; $args['depth'] == 2){
        echo '&lt;hr>'; //Horizontal line
    }
}, 10, 1);
</pre>



<p>Here is our table of contents now with the horizontal lines:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="839" height="716" src="https://wpjoli.com/wp-content/uploads/2023/12/image-15.png" alt="" class="wp-image-1879" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-15.png 839w, https://wpjoli.com/wp-content/uploads/2023/12/image-15-300x256.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-15-768x655.png 768w" sizes="auto, (max-width: 839px) 100vw, 839px" /></figure>



<h2 class="wp-block-heading">Custom bullet points instead of standard numeration</h2>



<p>To give a more unique look to our table of contents, we are going to get rid of the numeration, and instead, we want to have custom bullet points shaped as a pill.</p>



<p>First of all, we need to turn off the numeration in the settings:</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="218" src="https://wpjoli.com/wp-content/uploads/2023/12/image-16-1024x218.png" alt="" class="wp-image-1881" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-16-1024x218.png 1024w, https://wpjoli.com/wp-content/uploads/2023/12/image-16-300x64.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-16-768x164.png 768w, https://wpjoli.com/wp-content/uploads/2023/12/image-16.png 1055w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></figure>



<p>The next step is to use another action hook in order to inject custom HTML right before each heading.</p>



<p>The hook that we need for this is <code><a rel="noreferrer noopener" href="https://wpjoli.com/docs/joli-table-of-contents/developer-hooks/actions/joli_toc_after_begin_item_link/" data-type="docs" data-id="1167" target="_blank">joli_toc_after_begin_item_link</a></code>.</p>



<p>The following snippet must be placed in your theme&#8217;s functions.php.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">add_action('joli_toc_after_begin_item_link', function ($args) {
    echo '&lt;span class="pill-bullet">&lt;/span>'; // Custom HTML that will be inserted before each heading
}, 10, 1);</pre>



<p>The second step in this process is to give some styles to the <code>.pill-bullet</code> class so that our pill shaped bullet point actually show up.</p>



<p>In the Custom CSS section, we are going to add this rule that will render a &#8220;green pill&#8221; :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="css" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">.pill-bullet {
    display: inline-block;
    width: 20px;
    height: 8px;
    background: #34ddb4;
    margin-right: 10px;
    border-radius: 10px;
}</pre>



<p>We can see here that the numeration has been replaced by our custom HTML. If we wanted to, we could add more complexity and have different colors or shapes per heading depth.</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="831" height="716" src="https://wpjoli.com/wp-content/uploads/2023/12/image-17.png" alt="" class="wp-image-1882" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-17.png 831w, https://wpjoli.com/wp-content/uploads/2023/12/image-17-300x258.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-17-768x662.png 768w" sizes="auto, (max-width: 831px) 100vw, 831px" /></figure>



<h2 class="wp-block-heading">Add a custom link at the bottom of the Table Of Contents</h2>



<p>Still using action hooks, let&#8217;s see how we can add a custom link to the bottom of our TOC. This link will be present on every single TOC.</p>



<p>The hook that we need for this is <code><a href="https://wpjoli.com/docs/joli-table-of-contents/developer-hooks/actions/joli_toc_after_headings/" data-type="docs" data-id="1163" target="_blank" rel="noreferrer noopener">joli_toc_after_headings</a></code>.</p>



<p>In this example, out link will be wrapped in a div with some inline styles to make the link centered. The following snippet must be placed in your theme&#8217;s functions.php.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="php" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">add_action('joli_toc_after_headings', function ($args) {
    echo '&lt;div style="text-align:center;width:100%">&lt;a href="https://my-custom-link.com" class="ext-link">External link&lt;/a>&lt;/div>';
}, 10, 1);</pre>



<p>Still in the Custom CSS section, we are going to give some basic style to our text link :</p>



<pre class="EnlighterJSRAW" data-enlighter-language="css" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">a.ext-link {
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700;
    color: gray;
}</pre>



<p>And voilà ! Here is our table of contents with the link at the bottom:</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="831" height="759" src="https://wpjoli.com/wp-content/uploads/2023/12/image-18.png" alt="" class="wp-image-1884" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-18.png 831w, https://wpjoli.com/wp-content/uploads/2023/12/image-18-300x274.png 300w, https://wpjoli.com/wp-content/uploads/2023/12/image-18-768x701.png 768w" sizes="auto, (max-width: 831px) 100vw, 831px" /></figure>



<h2 class="wp-block-heading">Altering headings</h2>



<p>This is another advanced feature that you can use to have full control over your headings.</p>



<p>Whether you want to target a specific keyword or add a random string, you can use the <a href="https://wpjoli.com/docs/joli-table-of-contents/developer-hooks/filters/joli_toc_headings/" data-type="docs" data-id="1140">joli_toc_headings</a> filter hook to alter the actual output.</p>



<p>In the following example, we are going to remove the vowels from every heading. It is not really useful, but it is just to demonstrate how it&#8217;s done and so you can use the same pattern for a more useful application.</p>



<p>The following snippet must be placed in your theme&#8217;s functions.php.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">add_filter('joli_toc_headings', 'filter_headings', 10, 2);

function filter_headings( $headings ){ 
    $headings = array_map(function($heading){
            //Remove vowels from titles
            $heading['title'] = preg_replace("/[aeiouAEIOU]/", "", $heading['title']);
        return $heading;
    }, $headings);

    return $headings;
}</pre>



<p>Here is the table of contents with the vowels removed from the headings !</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="566" height="759" src="https://wpjoli.com/wp-content/uploads/2023/12/image-19.png" alt="" class="wp-image-1885" srcset="https://wpjoli.com/wp-content/uploads/2023/12/image-19.png 566w, https://wpjoli.com/wp-content/uploads/2023/12/image-19-224x300.png 224w" sizes="auto, (max-width: 566px) 100vw, 566px" /></figure>



<p>Another similar example, but this time the function will remove any combination of a number and a dot at the start of a heading.</p>



<p>For instance, &#8220;2. Top 5 pets for a big backyard&#8221; would become &#8220;Top 5 pets for a big backyard&#8221;. This would give a cleaner look at the table of contents when there is already the numeration activated and you have some random headings in the page that contain numbers.</p>



<pre class="EnlighterJSRAW" data-enlighter-language="generic" data-enlighter-theme="" data-enlighter-highlight="" data-enlighter-linenumbers="" data-enlighter-lineoffset="" data-enlighter-title="" data-enlighter-group="">add_filter('joli_toc_headings', 'filter_headings', 10, 2);

function filter_headings( $headings ){ 
    $headings = array_map(function($heading){
            //Remove first number and dot from titles
            $heading['title'] = preg_replace("/^\d+.\s+/", "", $heading['title']);
        return $heading;
    }, $headings);

    return $headings;
}</pre>



<h2 class="wp-block-heading">Conclusion</h2>



<p>As you can see, there are many ways to customize Joli Table of Contents. Some customizations require a little bit of code but there are already plenty of customizations available from the settings.</p>



<p>Joli Table of Contents bundle a <a rel="noreferrer noopener" href="https://wpjoli.com/docs/joli-table-of-contents/developer-hooks/" data-type="docs" data-id="1132" target="_blank">large array of hooks</a> that allow for extensive customization. Make sure to have a look at the <a rel="noreferrer noopener" href="https://wpjoli.com/docs/joli-table-of-contents/inserting-a-table-of-contents/" data-type="docs" data-id="1177" target="_blank">documentation</a> to have a good outlook of what&#8217;s possible to achieve.</p>



<p>Keep in mind that all the customizations shown in this article work for both the Free and the Pro version of Joli Table of Contents.</p>
<p>The post <a href="https://wpjoli.com/blog/customize-joli-table-of-contents/">How to Customize Joli Table of Contents: Beginner &#038; Advanced Tips</a> appeared first on <a href="https://wpjoli.com">wpjoli</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://wpjoli.com/blog/customize-joli-table-of-contents/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
