-
+
+ {miniTocItems.map((items, i) => {
+ return (
+
+ )
+ })}
+
>
)
}
diff --git a/components/ui/MiniTocs/Minitocs.module.scss b/components/ui/MiniTocs/Minitocs.module.scss
new file mode 100644
index 0000000000..f1d6cec325
--- /dev/null
+++ b/components/ui/MiniTocs/Minitocs.module.scss
@@ -0,0 +1,12 @@
+.indentNested {
+ padding-inline-start: 0;
+}
+
+.nested {
+ div ul div li {
+ padding-left: 4em;
+ }
+ div li {
+ padding-left: 2em;
+ }
+}
diff --git a/tests/rendering/server.js b/tests/rendering/server.js
index a7ed3fe0d7..9b52f55307 100644
--- a/tests/rendering/server.js
+++ b/tests/rendering/server.js
@@ -326,7 +326,7 @@ describe('server', () => {
test('renders mini TOC in articles with more than one heading', async () => {
const $ = await getDOM('/en/github/getting-started-with-github/githubs-products')
expect($('h2#in-this-article').length).toBe(1)
- expect($('h2#in-this-article + div div ul').length).toBeGreaterThan(1)
+ expect($('h2#in-this-article + nav ul li').length).toBeGreaterThan(1)
})
test('renders mini TOC in articles that includes h3s when specified by frontmatter', async () => {
@@ -334,8 +334,8 @@ describe('server', () => {
'/en/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise'
)
expect($('h2#in-this-article').length).toBe(1)
- expect($('h2#in-this-article + div div ul').length).toBeGreaterThan(0) // non-indented items
- expect($('h2#in-this-article + div div ul li div div ul.ml-3').length).toBeGreaterThan(0) // indented items
+ expect($('h2#in-this-article + nav ul').length).toBeGreaterThan(0) // non-indented items
+ expect($('h2#in-this-article + nav ul div ul div').length).toBeGreaterThan(0) // indented items
})
test('does not render mini TOC in articles with only one heading', async () => {
@@ -358,13 +358,13 @@ describe('server', () => {
// TODO
test('renders mini TOC with correct links when headings contain markup', async () => {
const $ = await getDOM('/en/actions/using-workflows/workflow-syntax-for-github-actions')
- expect($('h2#in-this-article + div div ul a[href="#on"]').length).toBe(1)
+ expect($('h2#in-this-article + nav ul li a[href="#on"]').length).toBe(1)
})
// TODO
test('renders mini TOC with correct links when headings contain markup in localized content', async () => {
const $ = await getDOM('/ja/actions/using-workflows/workflow-syntax-for-github-actions')
- expect($('h2#in-this-article + div div ul a[href="#on"]').length).toBe(1)
+ expect($('h2#in-this-article + nav ul li a[href="#on"]').length).toBe(1)
})
})
@@ -918,13 +918,9 @@ describe('extended Markdown', () => {
test('renders expected mini TOC headings in platform-specific content', async () => {
const $ = await getDOM('/en/github/using-git/associating-text-editors-with-git')
expect($('h2#in-this-article').length).toBe(1)
- expect($('h2#in-this-article + div div ul li.extended-markdown.mac').length).toBeGreaterThan(1)
- expect(
- $('h2#in-this-article + div div ul li.extended-markdown.windows').length
- ).toBeGreaterThan(1)
- expect($('h2#in-this-article + div div ul li.extended-markdown.linux').length).toBeGreaterThan(
- 1
- )
+ expect($('h2#in-this-article + nav ul div.extended-markdown.mac').length).toBeGreaterThan(1)
+ expect($('h2#in-this-article + nav ul div.extended-markdown.windows').length).toBeGreaterThan(1)
+ expect($('h2#in-this-article + nav ul div.extended-markdown.linux').length).toBeGreaterThan(1)
})
})