From 5bdbe6b498e33ebcc54467d48df04d355fa02849 Mon Sep 17 00:00:00 2001 From: billsedison Date: Wed, 31 Aug 2022 10:11:00 +0800 Subject: [PATCH 1/2] Final fix: Landing page thrive update, Getting Started Guide update --- .../MarkdownDoc/MarkdownDoc.module.scss | 2 +- .../MarkdownDoc/TableOfContents.tsx | 25 +- .../getting-started/GettingStartedGuide.md | 266 +++++++++--------- .../articles.config.ts | 23 +- .../carousel-content.config.ts | 76 ++--- 5 files changed, 200 insertions(+), 192 deletions(-) diff --git a/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/MarkdownDoc.module.scss b/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/MarkdownDoc.module.scss index e8e157f78..e3ddad865 100644 --- a/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/MarkdownDoc.module.scss +++ b/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/MarkdownDoc.module.scss @@ -16,7 +16,7 @@ @include font-weight-normal; font-size: 14px; line-height: 18px; - color: $purple-120; + color: $silver-2; word-break: break-word; } diff --git a/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/TableOfContents.tsx b/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/TableOfContents.tsx index 28d1adcb9..20a674635 100644 --- a/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/TableOfContents.tsx +++ b/src-ts/tools/dev-center/dev-center-lib/MarkdownDoc/TableOfContents.tsx @@ -14,9 +14,11 @@ export const TableOfContents: React.FC = (props) => { ] = React.useState(-1) const { toc }: { toc: TOC } = props const items: TOC = React.useMemo(() => { - return toc.filter((item) => (item.level === 2 || item.level === 3)) + return toc.filter((item) => item.level === 2 || item.level === 3) }, [toc]) + const navRef: React.RefObject = React.createRef() + const findActiveIndex: () => void = React.useCallback(() => { for (let i: number = 0; i < items.length; i++) { const h: HTMLElement | null = document.getElementById( @@ -29,27 +31,40 @@ export const TableOfContents: React.FC = (props) => { document.documentElement.clientHeight / 2 ) { setActiveIndex(i) + const liNodes: NodeListOf | undefined = + navRef.current?.querySelectorAll('li') + if (navRef.current && liNodes) { + navRef.current.scrollTop = + liNodes[i].offsetTop > + document.documentElement.clientHeight - 100 + ? liNodes[liNodes.length - 1].offsetTop + : 0 + } } } - }, [items]) + }, [items, navRef]) useOnScroll({ onScroll: findActiveIndex }) return ( -