Skip to content

Commit 4c65009

Browse files
committed
replace "Ul" with "Ol"
1 parent ca53667 commit 4c65009

File tree

1 file changed

+27
-27
lines changed

1 file changed

+27
-27
lines changed

src/index.ts

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3,78 +3,78 @@ import { visit } from 'unist-util-visit'
33

44
export const rehypeCollapsibleToc = () => {
55
return (tree: Root) => {
6-
const rootUlElement: Element = {
6+
const rootOlElement: Element = {
77
type: 'element',
88
tagName: 'ol',
99
properties: {},
1010
children: []
1111
}
1212

1313
visit(tree, 'element', node => {
14-
visitorCallback(node, rootUlElement)
14+
visitorCallback(node, rootOlElement)
1515
})
1616

17-
const detailsElement = createCollapsibleToc(rootUlElement)
17+
const detailsElement = createCollapsibleToc(rootOlElement)
1818
tree.children.unshift(detailsElement)
1919
}
2020
}
2121

22-
const visitorCallback = (node: Element, rootUlElement: Element) => {
22+
const visitorCallback = (node: Element, rootOlElement: Element) => {
2323
if (!/^h[2-6]$/.test(node.tagName)) {
2424
return
2525
}
2626

2727
const headingLevel = getHeadingLevelFromElement(node)
2828
const liElement = createListItemElement(node)
29-
const rootUlElementChildren = assertElementNodeList(rootUlElement.children)
29+
const rootOlElementChildren = assertElementNodeList(rootOlElement.children)
3030

3131
// h2ならolに直接追加
3232
if (headingLevel === 2) {
33-
rootUlElement.children.push(liElement)
33+
rootOlElement.children.push(liElement)
3434
return
3535
}
3636

3737
// 一番新しいliから、同じレベルのheadingを入れているolを探す
3838
const rootElementHeadingLevel = 2
39-
const sameLevelUlElement = searchSameLevelUlElement(
40-
rootUlElement,
39+
const sameLevelOlElement = searchSameLevelOlElement(
40+
rootOlElement,
4141
headingLevel,
4242
rootElementHeadingLevel
4343
)
44-
if (sameLevelUlElement) {
45-
sameLevelUlElement.children.push(liElement)
44+
if (sameLevelOlElement) {
45+
sameLevelOlElement.children.push(liElement)
4646
return
4747
}
4848

4949
// 一番新しいliの一番深いところに新しくolを作って追加
50-
const deepestLiElement = getDeepestLiElement(rootUlElementChildren)
51-
const newUlElement = createUlElement()
52-
newUlElement.children.push(liElement)
53-
deepestLiElement.children.push(newUlElement)
50+
const deepestLiElement = getDeepestLiElement(rootOlElementChildren)
51+
const newOlElement = createOlElement()
52+
newOlElement.children.push(liElement)
53+
deepestLiElement.children.push(newOlElement)
5454
}
5555

5656
/**
5757
* 引数のolに入っている一番新しいliの中で、levelと同じ見出しレベルのli要素を返す
5858
*/
59-
const searchSameLevelUlElement = (
60-
rootUlElement: Element,
59+
const searchSameLevelOlElement = (
60+
rootOlElement: Element,
6161
level: number,
6262
rootElementHeadingLevel: number
6363
): Element | undefined => {
6464
const rootLiElement = assertElementNode(
65-
rootUlElement.children[rootUlElement.children.length - 1]
65+
rootOlElement.children[rootOlElement.children.length - 1]
6666
)
6767
if (level === rootElementHeadingLevel) {
68-
return rootUlElement
68+
return rootOlElement
6969
}
7070

71-
const childUlElement = assertElementNodeList(rootLiElement.children)[1]
72-
if (childUlElement === undefined) {
71+
const childOlElement = assertElementNodeList(rootLiElement.children)[1]
72+
if (childOlElement === undefined) {
7373
return
7474
}
7575

76-
return searchSameLevelUlElement(
77-
childUlElement,
76+
return searchSameLevelOlElement(
77+
childOlElement,
7878
level,
7979
rootElementHeadingLevel + 1
8080
)
@@ -83,9 +83,9 @@ const searchSameLevelUlElement = (
8383
/**
8484
* 引数のolに入っている一番新しいliの中で、一番深いli要素を取得する
8585
*/
86-
const getDeepestLiElement = (rootUlElement: Element[]): Element => {
86+
const getDeepestLiElement = (rootOlElement: Element[]): Element => {
8787
const rootLiElement = assertElementNode(
88-
rootUlElement[rootUlElement.length - 1]
88+
rootOlElement[rootOlElement.length - 1]
8989
)
9090

9191
const olElement = assertElementNodeList(rootLiElement.children)[1]
@@ -101,7 +101,7 @@ const getHeadingLevelFromElement = (headingElement: Element) => {
101101
return headingLevel
102102
}
103103

104-
const createUlElement = (): Element => {
104+
const createOlElement = (): Element => {
105105
return {
106106
type: 'element',
107107
tagName: 'ol',
@@ -137,7 +137,7 @@ const createListItemElement = (node: Element): Element => {
137137
}
138138
}
139139

140-
const createCollapsibleToc = (rootUlElement: Element): Element => {
140+
const createCollapsibleToc = (rootOlElement: Element): Element => {
141141
const summaryElement: Element = {
142142
type: 'element',
143143
tagName: 'summary',
@@ -148,7 +148,7 @@ const createCollapsibleToc = (rootUlElement: Element): Element => {
148148
type: 'element',
149149
tagName: 'details',
150150
properties: {},
151-
children: [summaryElement, rootUlElement]
151+
children: [summaryElement, rootOlElement]
152152
}
153153

154154
return detailsElement

0 commit comments

Comments
 (0)