Skip to content

⬅️ Back to Table of Contents

📄 String

📊 Analysis Summary

Metric Count
🔧 Functions 3
📦 Imports 8
📊 Variables & Constants 1
💠 JSX Elements 2

📚 Table of Contents

🛠️ File Location:

📂 packages/website/src/theme/CodeBlock/Content/String.tsx

📦 Imports

Name Source
CodeBlockMetadata @docusaurus/theme-common/internal
Props @theme/CodeBlock/Content/String
useThemeConfig @docusaurus/theme-common
CodeBlockContextProvider @docusaurus/theme-common/internal
createCodeBlockMetadata @docusaurus/theme-common/internal
useCodeWordWrap @docusaurus/theme-common/internal
CodeBlockLayout @theme/CodeBlock/Layout
React react

Variables & Constants

Name Type Kind Value Exported
eslintrcHashRegex RegExp const /eslintrcHash=(?<quote>["'])(?<eslintrcHash>.*?)\1/

JSX Elements

Component Type Props Children
CodeBlockContextProvider component metadata={metadata}, wordWrap={wordWrap}
CodeBlockLayout component eslintrcHash={eslintrcHash} none

Functions

CodeBlockString(props: Props): React.JSX.Element

Parameters:

  • props Props

Returns: React.JSX.Element

Calls:

  • useCodeBlockMetadata
  • useCodeWordWrap (from @docusaurus/theme-common/internal)
  • parseEslintrc
Code
export default function CodeBlockString(props: Props): React.JSX.Element {
  const metadata = useCodeBlockMetadata(props);
  const wordWrap = useCodeWordWrap();
  const eslintrcHash = parseEslintrc(props.metastring);

  return (
    <CodeBlockContextProvider metadata={metadata} wordWrap={wordWrap}>
      <CodeBlockLayout eslintrcHash={eslintrcHash} />
    </CodeBlockContextProvider>
  );
}

useCodeBlockMetadata(props: Props): CodeBlockMetadata

Parameters:

  • props Props

Returns: CodeBlockMetadata

Calls:

  • useThemeConfig (from @docusaurus/theme-common)
  • createCodeBlockMetadata (from @docusaurus/theme-common/internal)
Code
function useCodeBlockMetadata(props: Props): CodeBlockMetadata {
  const { prism } = useThemeConfig();

  return createCodeBlockMetadata({
    className: props.className,
    code: props.children,
    defaultLanguage: prism.defaultLanguage,
    language: props.language,
    magicComments: prism.magicComments,
    metastring: props.metastring,
    showLineNumbers: props.showLineNumbers,
    title: props.title,
  });
}

parseEslintrc(metastring: string): string

Parameters:

  • metastring string

Returns: string

Calls:

  • metastring?.match
Code
function parseEslintrc(metastring?: string): string {
  return metastring?.match(eslintrcHashRegex)?.groups?.eslintrcHash ?? '';
}

Generated by Syntax Scribe