11import React from 'react'
2- import Highlight , { defaultProps } from 'prism-react-renderer'
32import styled from 'styled-components'
4- import duotoneLight from 'prism-react-renderer/themes/oceanicNext'
3+ import Highlight , { defaultProps } from 'prism-react-renderer'
4+ import codeTheme from 'prism-react-renderer/themes/oceanicNext'
5+ import formatDescription from '../../utils/formatDescription'
56
67const Pre = styled . pre `
78 font-family: 'Inconsolata', monospace;
@@ -29,59 +30,58 @@ export default function DescriptiveItem({ section }) {
2930 return (
3031 < div >
3132 { section . subsections . map ( secData => {
32- // console.log('secData: ', secData)
33- return (
34- < div
35- className = "description_container"
36- key = { secData . name }
37- >
38- < h4 > { secData . name } </ h4 >
33+ return (
34+ < div
35+ className = "description_container"
36+ key = { secData . name }
37+ >
38+ < h4 > { secData . name } </ h4 >
3939
40- { secData . description && (
41- < p > { secData . description } </ p >
42- ) }
40+ { secData . _rawDescriptionBlock && (
41+ < p > { formatDescription ( secData . _rawDescriptionBlock [ 0 ] ) } </ p >
42+ ) }
4343
44- { secData . code && (
45- < Highlight
46- { ...defaultProps }
47- code = { secData . code . code }
48- theme = { duotoneLight }
49- language = "jsx"
50- >
51- { ( { className, style, tokens, getLineProps, getTokenProps } ) => (
52- < Pre className = { className } style = { style } >
53- { tokens . map ( ( line , i ) => (
54- < div { ...getLineProps ( { line, key : i } ) } >
55- < LineNo > { i + 1 } </ LineNo >
56- { line . map ( ( token , key ) => (
57- < span { ...getTokenProps ( { token, key} ) } />
58- ) ) }
59- </ div >
60- ) ) }
61- </ Pre >
62- ) }
63- </ Highlight >
64- ) }
44+ { secData . code && (
45+ < Highlight
46+ { ...defaultProps }
47+ code = { secData . code . code }
48+ theme = { codeTheme }
49+ language = { secData . code . language }
50+ >
51+ { ( { className, style, tokens, getLineProps, getTokenProps } ) => (
52+ < Pre className = { className } style = { style } >
53+ { tokens . map ( ( line , i ) => (
54+ < div { ...getLineProps ( { line, key : i } ) } >
55+ < LineNo > { i + 1 } </ LineNo >
56+ { line . map ( ( token , key ) => (
57+ < span { ...getTokenProps ( { token, key} ) } />
58+ ) ) }
59+ </ div >
60+ ) ) }
61+ </ Pre >
62+ ) }
63+ </ Highlight >
64+ ) }
6565
66- { secData . external_links . length > 0 && (
67- < ul >
68- { secData . external_links . map ( link => (
69- < li key = { link . _id } >
70- < a
71- href = { link . url }
72- target = "_blank"
73- rel = "noopener noreferrer"
74- >
75- { link . description }
76- </ a >
77- </ li >
78- ) ) }
79- </ ul >
80- ) }
81- </ div >
82- )
83- } )
84- }
66+ { secData . external_links . length > 0 && (
67+ < ul >
68+ { secData . external_links . map ( link => (
69+ < li key = { link . _id } >
70+ < a
71+ href = { link . url }
72+ target = "_blank"
73+ rel = "noopener noreferrer"
74+ >
75+ { link . description }
76+ </ a >
77+ </ li >
78+ ) ) }
79+ </ ul >
80+ ) }
81+ </ div >
82+ )
83+
84+ } ) }
8585 </ div >
8686 )
8787}
0 commit comments