Skip to content

Commit 6e8fbee

Browse files
authored
Merge pull request #44 from Pitayan/43-failing-in-ci-build
[FIX] Failing in ci build due to missing heading tag in post markdown file
2 parents 4a96fd8 + 856e8f0 commit 6e8fbee

File tree

3 files changed

+30
-8
lines changed

3 files changed

+30
-8
lines changed

packages/gatsby-theme-pitayan/src/components/TableOfContents/index.tsx

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ import React, { memo, useRef, useLayoutEffect, forwardRef } from "react"
33
const Content: React.FC<any> = forwardRef(({
44
items,
55
levels,
6-
lvlRef,
6+
currentLevel = 1,
77
}, ref) => {
8-
if (lvlRef.current < levels) {
9-
lvlRef.current++
10-
} else {
8+
if (currentLevel >= levels) {
119
return <></>
1210
}
1311

@@ -17,7 +15,7 @@ const Content: React.FC<any> = forwardRef(({
1715
return (
1816
<li className="mt-2" key={index}>
1917
<a className="site-link" href={data.url}>{data.title}</a>
20-
{data.items && <Content items={data.items} levels={levels} lvlRef={lvlRef} />}
18+
{data.items && <Content items={data.items} levels={levels} currentLevel={currentLevel + 1} />}
2119
</li>
2220
)
2321
})}
@@ -30,9 +28,10 @@ const TableOfContents: React.FC<any> = ({
3028
className = "",
3129
title = "Table of Contents",
3230
levels = 2,
33-
items,
31+
items = [],
3432
}, articleRef) => {
35-
const lvlRef = useRef(0)
33+
if (!items.length) return <></>
34+
3635
const listRef = useRef(null)
3736
const nodesMap = new Map<HTMLElement, {
3837
prev: HTMLElement,
@@ -93,7 +92,7 @@ const TableOfContents: React.FC<any> = ({
9392
return (
9493
<div className={`table-of-contents ${className}`}>
9594
<h5>{title}</h5>
96-
<Content ref={listRef} items={items} levels={levels} lvlRef={lvlRef} />
95+
<Content ref={listRef} items={items} levels={levels} />
9796
</div>
9897
)
9998
}
161 KB
Loading
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
title: No heading post
3+
author:
4+
- Yanze Dai
5+
date: 2023-02-12
6+
categories:
7+
- post
8+
- example
9+
description: This is a post page with no headings
10+
hero: images/demo_1.jpg
11+
slug: posts/no-heading-post
12+
---
13+
14+
15+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pharetra egestas odio id accumsan. In vel ipsum quam. Fusce scelerisque rutrum tempus. Mauris in velit sapien. In mi nibh, dignissim in ligula ut, faucibus lacinia libero. Etiam volutpat turpis est, a scelerisque sem commodo eu. Morbi lectus quam, molestie eget vestibulum in, porta ac tellus. Aliquam feugiat, orci non vehicula tristique, augue ex congue dui, non suscipit velit purus vitae diam. Phasellus dui augue, faucibus sed neque id, pellentesque porta magna. Cras nec lacinia dui. Pellentesque lacinia, nisi non porta condimentum, risus nisi semper erat, vel ullamcorper neque justo sit amet erat. Mauris lacinia dolor in arcu tempor pretium.
16+
17+
Donec venenatis blandit erat. In a sodales neque, sit amet dignissim eros. Donec sit amet semper ligula. Praesent vel ligula ultrices, efficitur nisi non, tincidunt dolor. Proin a dolor dolor. Fusce malesuada ornare felis eu auctor. Morbi vestibulum venenatis lectus scelerisque tempus.
18+
19+
Vivamus hendrerit eleifend nunc sed imperdiet. Ut sed sem at nisi rhoncus faucibus. Cras varius ex quis semper lacinia. Sed eu leo lectus. Quisque pellentesque condimentum metus, non dapibus justo lobortis mattis. Suspendisse sit amet eros justo. Cras iaculis elementum nisl, quis vehicula diam tincidunt quis. Aliquam id aliquam odio, bibendum tristique nibh. Suspendisse mattis pharetra turpis, et pharetra urna eleifend quis. Proin tempor molestie magna in egestas. Vivamus arcu ante, eleifend eget mattis ac, aliquam at lorem. Nulla vehicula consectetur pulvinar. Quisque sit amet ligula ac ipsum eleifend ultrices. Suspendisse potenti. Aenean a massa iaculis, posuere elit in, vehicula arcu. Aliquam erat volutpat.
20+
21+
Sed tempus velit augue, fringilla mollis dui bibendum non. Vestibulum volutpat nisi ut dolor pretium, quis euismod tellus pulvinar. Vestibulum ut ligula vitae elit lobortis scelerisque eget a nisl. Nam libero nibh, euismod in pulvinar ut, venenatis id odio. Mauris varius vel lectus sed sagittis. Nulla facilisi. Fusce suscipit lectus eros, vel viverra eros posuere a. Vivamus gravida, tellus vitae varius consectetur, eros nisl malesuada mauris, eget malesuada mi est sit amet nisl. Ut vitae mauris sit amet justo congue iaculis. Nullam vestibulum dapibus velit. Sed mauris nunc, aliquam ac nisl eget, tincidunt sollicitudin orci. Nullam dictum efficitur tincidunt. Proin sollicitudin mi vitae purus iaculis, ut interdum libero fermentum.
22+
23+
Donec at lorem commodo, facilisis nunc eu, facilisis magna. Praesent nec pharetra dolor, sit amet vehicula turpis. Cras eros turpis, commodo eu cursus sed, molestie et nibh. Fusce tempus orci orci, ac ultricies tortor venenatis nec. Maecenas eu interdum nulla, quis sodales diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Etiam sem ligula, aliquam in luctus ut, finibus eu lectus.

0 commit comments

Comments
 (0)