diff --git a/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx b/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx
index 95453b1f..a1e872a9 100644
--- a/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx
+++ b/app/(docs)/@docs/[lang]/[pageId]/pageContent.tsx
@@ -23,6 +23,7 @@ import { useRouter } from "next/navigation";
import { revalidateChatAction } from "@/actions/revalidateChat";
import { RegenerateStreamEvent } from "@/api/chat/regenerate-section/route";
import { captureException } from "@sentry/nextjs";
+import { CurrentSectionContextProvider } from "@/markdown/term";
interface PageContentProps {
splitMdContent: SectionWithDiff[];
@@ -120,12 +121,14 @@ export function PageContent(props: PageContentProps) {
path={path}
/>
)}
- {/* ドキュメントのコンテンツ */}
-
+
+ {/* ドキュメントのコンテンツ */}
+
+
(null);
+export function CurrentSectionContextProvider({
+ sectionId,
+ children,
+}: {
+ sectionId: SectionId;
+ children: ReactNode;
+}) {
+ return (
+
+ {children}
+
+ );
+}
+
/**
* https://github.com/ut-code/utcode-learn/blob/main/src/components/Term/index.tsx をもとに独自実装
* Copyright (c) 2023 ut.code();
@@ -55,6 +76,7 @@ export default function Term(props: JSX.IntrinsicElements["q"] & ExtraProps) {
// @docs/lang/pageId/page.tsx で取得したものをcontextに渡してそれを取得する
const { lang, page, termDefinitions } =
useContext(TermDefinitionContext) ?? {};
+ const currentSectionId = useContext(CurrentSectionContext);
const langEntry = usePagesListForLang(lang);
@@ -159,6 +181,11 @@ export default function Term(props: JSX.IntrinsicElements["q"] & ExtraProps) {
);
}
+ if (currentSectionId === term.id) {
+ // このセクション自身へのリンクは表示しない
+ return props.children;
+ }
+
const pageEntry = langEntry?.pages.find((p) => p.slug === term.page);
return (