File tree Expand file tree Collapse file tree 4 files changed +13
-5
lines changed Expand file tree Collapse file tree 4 files changed +13
-5
lines changed Original file line number Diff line number Diff line change @@ -79,7 +79,11 @@ export class SectionItem extends React.Component<ContentItemProps> {
7979 </ Header >
8080 </ MiddlePanel >
8181 </ Row >
82- < AdvancedMarkdown source = { description || '' } htmlWrap = { middlePanelWrap } />
82+ < AdvancedMarkdown
83+ parentId = { this . props . item . id }
84+ source = { description || '' }
85+ htmlWrap = { middlePanelWrap }
86+ />
8387 { externalDocs && (
8488 < Row >
8589 < MiddlePanel >
Original file line number Diff line number Diff line change @@ -9,6 +9,7 @@ import { StoreConsumer } from '../StoreBuilder';
99
1010export interface AdvancedMarkdownProps extends BaseMarkdownProps {
1111 htmlWrap ?: ( part : JSX . Element ) => JSX . Element ;
12+ parentId ?: string ;
1213}
1314
1415export class AdvancedMarkdown extends React . Component < AdvancedMarkdownProps > {
@@ -28,7 +29,7 @@ export class AdvancedMarkdown extends React.Component<AdvancedMarkdownProps> {
2829 throw new Error ( 'When using components in markdown, store prop must be provided' ) ;
2930 }
3031
31- const renderer = new MarkdownRenderer ( options ) ;
32+ const renderer = new MarkdownRenderer ( options , this . props . parentId ) ;
3233 const parts = renderer . renderMdWithComponents ( source ) ;
3334
3435 if ( ! parts . length ) {
Original file line number Diff line number Diff line change @@ -46,7 +46,8 @@ export class MarkdownRenderer {
4646 private headingEnhanceRenderer : marked . Renderer ;
4747 private originalHeadingRule : typeof marked . Renderer . prototype . heading ;
4848
49- constructor ( public options ?: RedocNormalizedOptions ) {
49+ constructor ( public options ?: RedocNormalizedOptions , public parentId ?: string ) {
50+ this . parentId = parentId ;
5051 this . parser = new marked . Parser ( ) ;
5152 this . headingEnhanceRenderer = new marked . Renderer ( ) ;
5253 this . originalHeadingRule = this . headingEnhanceRenderer . heading . bind (
@@ -63,7 +64,9 @@ export class MarkdownRenderer {
6364 ) : MarkdownHeading {
6465 name = unescapeHTMLChars ( name ) ;
6566 const item : MarkdownHeading = {
66- id : parentId ? `${ parentId } /${ safeSlugify ( name ) } ` : `section/${ safeSlugify ( name ) } ` ,
67+ id : parentId
68+ ? `${ parentId } /${ safeSlugify ( name ) } `
69+ : `${ this . parentId || 'section' } /${ safeSlugify ( name ) } ` ,
6770 name,
6871 level,
6972 items : [ ] ,
Original file line number Diff line number Diff line change @@ -41,7 +41,7 @@ export class MenuBuilder {
4141 initialDepth : number ,
4242 options : RedocNormalizedOptions ,
4343 ) : ContentItemModel [ ] {
44- const renderer = new MarkdownRenderer ( options ) ;
44+ const renderer = new MarkdownRenderer ( options , parent ?. id ) ;
4545 const headings = renderer . extractHeadings ( description || '' ) ;
4646
4747 if ( headings . length && parent && parent . description ) {
You can’t perform that action at this time.
0 commit comments