diff --git a/assets/js/toc.js b/assets/js/toc.js index 276782b..a710132 100644 --- a/assets/js/toc.js +++ b/assets/js/toc.js @@ -1,6 +1,8 @@ document.addEventListener('DOMContentLoaded', function () { var toc = document.getElementById('zeitfresser-floating-toc'); - var title = document.querySelector('.zeitfresser-article-heading .page-title, .zeitfresser-article-heading .entry-title, .entry-header .entry-title'); + var title = document.querySelector( + '.entry-header .entry-title, .page-title, h1' + ); var progressBar = document.getElementById('zeitfresser-floating-toc-progress'); var nav = toc ? toc.querySelector('.zeitfresser-floating-toc__nav') : null; @@ -67,12 +69,11 @@ document.addEventListener('DOMContentLoaded', function () { var titleRect = title.getBoundingClientRect(); var scrollTop = window.scrollY || window.pageYOffset || 0; - var contentColumn = document.querySelector( - '.inside-page .main-wrapper > *:first-child, ' + - '.inside-page .main-wrapper .primary-content, ' + - '.inside-page .main-wrapper #primary, ' + - '.inside-page .main-wrapper main' - ); + var contentColumn = + document.querySelector('.inside-page .container') || + document.querySelector('#primary') || + document.querySelector('.content-area') || + title; var sidebar = document.querySelector( '.inside-page .main-wrapper > aside, ' + diff --git a/inc/zeitfresser-toc.php b/inc/zeitfresser-toc.php index 32e1d97..540f4c3 100644 --- a/inc/zeitfresser-toc.php +++ b/inc/zeitfresser-toc.php @@ -9,6 +9,31 @@ if ( ! defined( 'ABSPATH' ) ) { exit; } +/** + * Enqueue TOC script when needed. + */ +function zeitfresser_enqueue_toc_assets() { + + if ( ! is_singular( 'post' ) ) { + return; + } + + if ( ! zeitfresser_has_floating_toc() ) { + return; + } + + $asset = zeitfresser_asset_versioned('/js/toc.js'); + + wp_enqueue_script( + 'zeitfresser-toc', + $asset['url'], + [], + $asset['version'], + true + ); +} +add_action( 'wp_enqueue_scripts', 'zeitfresser_enqueue_toc_assets', 20 ); + /** * Return whether article TOC output is enabled. * diff --git a/single.php b/single.php index fde9406..c14c811 100644 --- a/single.php +++ b/single.php @@ -17,7 +17,9 @@ $show_hide_related_posts = get_theme_mod(