mirror of
https://github.com/waynesutton/markdown-site.git
synced 2026-01-12 04:09:14 +00:00
Canonical URL fix for search engines (GitHub Issue #6) and other seo fixes"
This commit is contained in:
@@ -4,7 +4,45 @@ import remarkGfm from "remark-gfm";
|
||||
import remarkBreaks from "remark-breaks";
|
||||
import rehypeRaw from "rehype-raw";
|
||||
import rehypeSanitize, { defaultSchema } from "rehype-sanitize";
|
||||
import { Prism as SyntaxHighlighter } from "react-syntax-highlighter";
|
||||
import { PrismLight as SyntaxHighlighter } from "react-syntax-highlighter";
|
||||
// Import only needed languages for smaller bundle (INP optimization)
|
||||
import jsx from "react-syntax-highlighter/dist/esm/languages/prism/jsx";
|
||||
import tsx from "react-syntax-highlighter/dist/esm/languages/prism/tsx";
|
||||
import typescript from "react-syntax-highlighter/dist/esm/languages/prism/typescript";
|
||||
import javascript from "react-syntax-highlighter/dist/esm/languages/prism/javascript";
|
||||
import bash from "react-syntax-highlighter/dist/esm/languages/prism/bash";
|
||||
import json from "react-syntax-highlighter/dist/esm/languages/prism/json";
|
||||
import css from "react-syntax-highlighter/dist/esm/languages/prism/css";
|
||||
import markdown from "react-syntax-highlighter/dist/esm/languages/prism/markdown";
|
||||
import python from "react-syntax-highlighter/dist/esm/languages/prism/python";
|
||||
import sql from "react-syntax-highlighter/dist/esm/languages/prism/sql";
|
||||
import yaml from "react-syntax-highlighter/dist/esm/languages/prism/yaml";
|
||||
import go from "react-syntax-highlighter/dist/esm/languages/prism/go";
|
||||
import rust from "react-syntax-highlighter/dist/esm/languages/prism/rust";
|
||||
import diff from "react-syntax-highlighter/dist/esm/languages/prism/diff";
|
||||
|
||||
// Register languages
|
||||
SyntaxHighlighter.registerLanguage("jsx", jsx);
|
||||
SyntaxHighlighter.registerLanguage("tsx", tsx);
|
||||
SyntaxHighlighter.registerLanguage("typescript", typescript);
|
||||
SyntaxHighlighter.registerLanguage("ts", typescript);
|
||||
SyntaxHighlighter.registerLanguage("javascript", javascript);
|
||||
SyntaxHighlighter.registerLanguage("js", javascript);
|
||||
SyntaxHighlighter.registerLanguage("bash", bash);
|
||||
SyntaxHighlighter.registerLanguage("shell", bash);
|
||||
SyntaxHighlighter.registerLanguage("sh", bash);
|
||||
SyntaxHighlighter.registerLanguage("json", json);
|
||||
SyntaxHighlighter.registerLanguage("css", css);
|
||||
SyntaxHighlighter.registerLanguage("markdown", markdown);
|
||||
SyntaxHighlighter.registerLanguage("md", markdown);
|
||||
SyntaxHighlighter.registerLanguage("python", python);
|
||||
SyntaxHighlighter.registerLanguage("py", python);
|
||||
SyntaxHighlighter.registerLanguage("sql", sql);
|
||||
SyntaxHighlighter.registerLanguage("yaml", yaml);
|
||||
SyntaxHighlighter.registerLanguage("yml", yaml);
|
||||
SyntaxHighlighter.registerLanguage("go", go);
|
||||
SyntaxHighlighter.registerLanguage("rust", rust);
|
||||
SyntaxHighlighter.registerLanguage("diff", diff);
|
||||
import { Copy, Check, X } from "lucide-react";
|
||||
import { useTheme } from "../context/ThemeContext";
|
||||
import NewsletterSignup from "./NewsletterSignup";
|
||||
|
||||
@@ -54,14 +54,15 @@ export default function DocsLayout({
|
||||
|
||||
return (
|
||||
<div className={`docs-layout ${!hasRightSidebar ? "no-toc" : ""}`}>
|
||||
{/* Left sidebar - docs navigation */}
|
||||
{/* Main content - placed first in DOM for SEO (H1 loads before sidebar H3) */}
|
||||
{/* CSS position: fixed handles visual positioning of sidebars */}
|
||||
<main className="docs-content">{children}</main>
|
||||
|
||||
{/* Left sidebar - docs navigation (after main content in DOM for SEO) */}
|
||||
<aside className="docs-sidebar-left">
|
||||
<DocsSidebar currentSlug={currentSlug} />
|
||||
</aside>
|
||||
|
||||
{/* Main content */}
|
||||
<main className="docs-content">{children}</main>
|
||||
|
||||
{/* Right sidebar - AI chat toggle + table of contents */}
|
||||
{hasRightSidebar && (
|
||||
<aside className="docs-sidebar-right">
|
||||
|
||||
@@ -197,7 +197,9 @@ export default function Layout({ children }: LayoutProps) {
|
||||
src={siteConfig.logo}
|
||||
alt={siteConfig.name}
|
||||
className="top-nav-logo"
|
||||
style={{ height: siteConfig.innerPageLogo.size }}
|
||||
width={siteConfig.innerPageLogo.size}
|
||||
height={siteConfig.innerPageLogo.size}
|
||||
style={{ height: siteConfig.innerPageLogo.size, width: "auto" }}
|
||||
/>
|
||||
</Link>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user