From ce8cc474003995a967e4ef6291897b058e1aa1ef Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 11 May 2025 23:16:53 +0530 Subject: [PATCH 1/4] Fixing the Navigation is not working in the blog in Japanese --- lib/slugifyMarkdownHeadline.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/slugifyMarkdownHeadline.ts b/lib/slugifyMarkdownHeadline.ts index ae943e138..bc5e8edc3 100644 --- a/lib/slugifyMarkdownHeadline.ts +++ b/lib/slugifyMarkdownHeadline.ts @@ -6,7 +6,7 @@ export default function slugifyMarkdownHeadline( const FRAGMENT_REGEX = /\[#(?(\w|-|_)*)\]/g; if (!markdownChildren) return ''; if (typeof markdownChildren === 'string') - return slugify(markdownChildren, { lower: true, trim: true }); + return slugify(markdownChildren, { lower: true, trim: true, remove: /[*+~.()'"!:@]/g, }); const metaSlug = markdownChildren.reduce((acc, child) => { if (acc) return acc; if (typeof child !== 'string') return null; @@ -21,6 +21,8 @@ export default function slugifyMarkdownHeadline( .filter((child) => typeof child === 'string') .map((string) => string.replace(FRAGMENT_REGEX, '')) .join(' '); - const slug = slugify(joinedChildren, { lower: true, trim: true }); + const slug = slugify(joinedChildren, { lower: true, trim: true, remove: /[*+~.()'"!:@]/g, }); return slug; } + + From ace52f782f666137cc76d45fc217d045aa788d0a Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 May 2025 01:37:16 +0530 Subject: [PATCH 2/4] . --- lib/slugifyMarkdownHeadline.ts | 15 +++++++++++---- pages/community/index.page.tsx | 16 ++++++++-------- 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/lib/slugifyMarkdownHeadline.ts b/lib/slugifyMarkdownHeadline.ts index bc5e8edc3..927b1fc58 100644 --- a/lib/slugifyMarkdownHeadline.ts +++ b/lib/slugifyMarkdownHeadline.ts @@ -6,7 +6,12 @@ export default function slugifyMarkdownHeadline( const FRAGMENT_REGEX = /\[#(?(\w|-|_)*)\]/g; if (!markdownChildren) return ''; if (typeof markdownChildren === 'string') - return slugify(markdownChildren, { lower: true, trim: true, remove: /[*+~.()'"!:@]/g, }); + return slugify(markdownChildren, { + lower: true, + trim: true, + remove: /[*+~.()'"!:@]/g, + }); + const metaSlug = markdownChildren.reduce((acc, child) => { if (acc) return acc; if (typeof child !== 'string') return null; @@ -21,8 +26,10 @@ export default function slugifyMarkdownHeadline( .filter((child) => typeof child === 'string') .map((string) => string.replace(FRAGMENT_REGEX, '')) .join(' '); - const slug = slugify(joinedChildren, { lower: true, trim: true, remove: /[*+~.()'"!:@]/g, }); + const slug = slugify(joinedChildren, { + lower: true, + trim: true, + remove: /[*+~.()'"!:@]/g, + }); return slug; } - - diff --git a/pages/community/index.page.tsx b/pages/community/index.page.tsx index d68d6deb8..76c255895 100644 --- a/pages/community/index.page.tsx +++ b/pages/community/index.page.tsx @@ -149,10 +149,10 @@ export default function communityPages(props: any) {
-
-
+
+
-

+

Ambassadors Program

@@ -174,16 +174,16 @@ export default function communityPages(props: any) {

-
+
-
-
+
+
-

+

Join the JSON Schema Slack workspace!

@@ -201,7 +201,7 @@ export default function communityPages(props: any) {

-
+
From 3dcc850975271ac69150c1dba43be6f658c49050 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 May 2025 19:22:32 +0530 Subject: [PATCH 3/4] Fix: Expected to find element: span, but never found it. --- cypress/components/Headlines.cy.tsx | 10 +++++++--- lib/slugifyMarkdownHeadline.ts | 6 ++++-- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/cypress/components/Headlines.cy.tsx b/cypress/components/Headlines.cy.tsx index 2fd627b5d..c270214bb 100644 --- a/cypress/components/Headlines.cy.tsx +++ b/cypress/components/Headlines.cy.tsx @@ -6,6 +6,7 @@ import { Headline4, } from '~/components/Headlines'; import mockNextRouter, { MockRouter } from '../plugins/mockNextRouterUtils'; +import slugifyMarkdownHeadline from '~/lib/slugifyMarkdownHeadline'; describe('Headlines Component', () => { let mockRouter: MockRouter; @@ -94,11 +95,14 @@ describe('Headlines Component', () => { it('should be active if the URL has the hash', () => { /* Testing the active headline with Headline1 */ - // Set the URL with the hash - mockRouter.asPath = '/#what-is-json-schema'; + const title = 'What is JSON Schema?' + const slug = slugifyMarkdownHeadline(title) + + // Update the existing mock router's properties + mockRouter.asPath = `/#${slug}`; // Check if Correct headline is active - cy.mount(What is JSON Schema?); + cy.mount({title}); cy.get('span').should( 'have.class', 'text-startBlue dark:text-endBlue inline-block ml-2', diff --git a/lib/slugifyMarkdownHeadline.ts b/lib/slugifyMarkdownHeadline.ts index 927b1fc58..a2b06ac42 100644 --- a/lib/slugifyMarkdownHeadline.ts +++ b/lib/slugifyMarkdownHeadline.ts @@ -9,7 +9,7 @@ export default function slugifyMarkdownHeadline( return slugify(markdownChildren, { lower: true, trim: true, - remove: /[*+~.()'"!:@]/g, + remove: /[*+~()'"!]/g, }); const metaSlug = markdownChildren.reduce((acc, child) => { @@ -26,10 +26,12 @@ export default function slugifyMarkdownHeadline( .filter((child) => typeof child === 'string') .map((string) => string.replace(FRAGMENT_REGEX, '')) .join(' '); + const slug = slugify(joinedChildren, { lower: true, trim: true, - remove: /[*+~.()'"!:@]/g, + remove: /[*+~()'"!]/g, + }); return slug; } From a67c7b1bd4a049cb44d5f51e4be61eb35d281dd9 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 12 May 2025 19:32:12 +0530 Subject: [PATCH 4/4] Fix error --- cypress/components/Headlines.cy.tsx | 6 +++--- lib/slugifyMarkdownHeadline.ts | 1 - 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/cypress/components/Headlines.cy.tsx b/cypress/components/Headlines.cy.tsx index c270214bb..dfa1a450a 100644 --- a/cypress/components/Headlines.cy.tsx +++ b/cypress/components/Headlines.cy.tsx @@ -95,9 +95,9 @@ describe('Headlines Component', () => { it('should be active if the URL has the hash', () => { /* Testing the active headline with Headline1 */ - const title = 'What is JSON Schema?' - const slug = slugifyMarkdownHeadline(title) - + const title = 'What is JSON Schema?'; + const slug = slugifyMarkdownHeadline(title); + // Update the existing mock router's properties mockRouter.asPath = `/#${slug}`; diff --git a/lib/slugifyMarkdownHeadline.ts b/lib/slugifyMarkdownHeadline.ts index a2b06ac42..ca3d33dd0 100644 --- a/lib/slugifyMarkdownHeadline.ts +++ b/lib/slugifyMarkdownHeadline.ts @@ -31,7 +31,6 @@ export default function slugifyMarkdownHeadline( lower: true, trim: true, remove: /[*+~()'"!]/g, - }); return slug; }