@@ -2,6 +2,7 @@ import React, { useEffect, useRef } from "react";
22import classNames from "classnames" ;
33import Prism from "prismjs" ;
44import "prismjs/plugins/line-numbers/prism-line-numbers" ;
5+ import "prismjs/plugins/line-numbers/prism-line-numbers.css" ;
56import "prismjs/plugins/line-highlight/prism-line-highlight" ;
67import "prismjs/plugins/line-highlight/prism-line-highlight.css" ;
78import "prismjs/plugins/toolbar/prism-toolbar" ;
@@ -15,7 +16,7 @@ import styles from "./code.module.css";
1516// Initialize the cache for imported languages.
1617const languageImports = new Map ( ) ;
1718
18- const Code = ( { code, children, language, img, lines } ) => {
19+ const Code = ( { code, children, language, img, lines, numbered } ) => {
1920 // Create a ref for the code element.
2021 const codeRef = useRef ( null ) ;
2122
@@ -62,6 +63,9 @@ const Code = ({ code, children, language, img, lines }) => {
6263 let ConditionalRendering ;
6364 let customCode = code !== undefined ? code : children ;
6465 let languageClass = `language-${ language } ` ;
66+ const lineNumbersClass = classNames ( {
67+ "line-numbers" : children . props . numbered || numbered ,
68+ } ) ;
6569
6670 if ( children !== undefined && children . props !== undefined ) {
6771 customCode = children . props . children ;
@@ -72,7 +76,7 @@ const Code = ({ code, children, language, img, lines }) => {
7276 ConditionalRendering = (
7377 < section className = { styles . Container } >
7478 < Image src = { img } clean = { true } />
75- < pre >
79+ < pre className = { lineNumbersClass } >
7680 < code ref = { codeRef } className = { languageClass } >
7781 { customCode }
7882 </ code >
@@ -82,7 +86,7 @@ const Code = ({ code, children, language, img, lines }) => {
8286 } else if ( lines ) {
8387 ConditionalRendering = (
8488 < section className = { classNames ( styles . Container , styles . LineHighlight ) } >
85- < pre data-line = { lines } >
89+ < pre className = { lineNumbersClass } data-line = { lines } >
8690 < code ref = { codeRef } className = { languageClass } >
8791 { customCode }
8892 </ code >
@@ -92,7 +96,7 @@ const Code = ({ code, children, language, img, lines }) => {
9296 } else {
9397 ConditionalRendering = (
9498 < section className = { styles . Container } >
95- < pre >
99+ < pre className = { lineNumbersClass } >
96100 < code ref = { codeRef } className = { languageClass } >
97101 { customCode }
98102 </ code >
0 commit comments