Skip to content

jsdoc-to-markdown generates invalid Markdown #268

@Anthony-Gaudino

Description

@Anthony-Gaudino

We have some source files which contain comments not associated with any code, this is common in ExtJS code, please see https://docs.sencha.com/extjs/7.4.0/classic/src/ComboBox.js.html#Ext.form.field.ComboBox-event-select

The error we have is this:

ERROR in ./docs/js_docs_student/overwrites/Select2.md

Module build failed (from ./node_modules/@docusaurus/mdx-loader/lib/index.js):
SyntaxError: /home/anthony/safe_docs/safe/docs/docs/js_docs_student/overwrites/Select2.md: Expected corresponding JSX closing tag for <a>. (39:28)

  37 | you cannot use the Next button to get to this select field. This functionality works as expected on iOS.event_">"focus
  38 | Fires when this field receives input focus. This happens both when you tap on the field and when you focus on the field by using
> 39 | next or tab on a keyboard.`}</p>
     |                             ^
  40 | <p>{`Please note that this event is not very reliable on Android. For example, if your Select field is second in your form panel,
  41 | you cannot use the Next button to get to this select field. This functionality works as expected on iOS." (this, e)`}</a></dt></p>
  42 | <dd></dd>
    at Object._raise (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:541:17)
    at Object.raiseWithData (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:534:17)
    at Object.raise (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:495:17)
    at Object.jsxParseElementAt (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:7439:16)
    at Object.jsxParseElementAt (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:7407:32)
    at Object.jsxParseElementAt (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:7407:32)
    at Object.jsxParseElementAt (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:7407:32)
    at Object.jsxParseElement (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:7465:17)
    at Object.parseExprAtom (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:7472:19)
    at Object.parseExprSubscripts (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:11584:23)
    at Object.parseUpdate (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:11564:21)
    at Object.parseMaybeUnary (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:11539:23)
    at Object.parseMaybeUnaryOrPrivate (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:11353:61)
    at Object.parseExprOps (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:11360:23)
    at Object.parseMaybeConditional (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:11330:23)
    at Object.parseMaybeAssign (/home/anthony/safe_docs/safe/docs/node_modules/@babel/parser/lib/index.js:11290:21)

Here's a minimal file which causes the issue:

Ext.define('Ext.field.Select2', {
   /**
    * @event change
    * Fires when an option selection has changed
    * @param {Ext.field.Select} this
    * @param {Ext.data.Model} newValue The corresponding record for the new value
    * @param {Ext.data.Model} oldValue The corresponding record for the old value
    */

   /**
    * @event focus
    * Fires when this field receives input focus. This happens both when you tap on the field and when you focus on the field by using
    * 'next' or 'tab' on a keyboard.
    *
    * Please note that this event is not very reliable on Android. For example, if your Select field is second in your form panel,
    * you cannot use the Next button to get to this select field. This functionality works as expected on iOS.
    * @param {Ext.field.Select} this This field
    * @param {Ext.event.Event} e
    */
});

The result Markdown file is this:

## Events

<dl>
<dt><a href="#change
Fires when an option selection has changedevent_">"change
Fires when an option selection has changed" (this, newValue, oldValue)</a></dt>
<dd></dd>
<dt><a href="#focus
Fires when this field receives input focus. This happens both when you tap on the field and when you focus on the field by using
next or tab on a keyboard.

Please note that this event is not very reliable on Android. For example, if your Select field is second in your form panel,
you cannot use the Next button to get to this select field. This functionality works as expected on iOS.event_">"focus
Fires when this field receives input focus. This happens both when you tap on the field and when you focus on the field by using
next or tab on a keyboard.

Please note that this event is not very reliable on Android. For example, if your Select field is second in your form panel,
you cannot use the Next button to get to this select field. This functionality works as expected on iOS." (this, e)</a></dt>
<dd></dd>
</dl>

<a name="change
Fires when an option selection has changedevent_"></a>

## "change
Fires when an option selection has changed" (this, newValue, oldValue)
**Kind**: event emitted  

| Param | Type | Description |
| --- | --- | --- |
| this | <code>Ext.field.Select</code> |  |
| newValue | <code>Ext.data.Model</code> | The corresponding record for the new value |
| oldValue | <code>Ext.data.Model</code> | The corresponding record for the old value |

<a name="focus
Fires when this field receives input focus. This happens both when you tap on the field and when you focus on the field by using
next or tab on a keyboard.

Please note that this event is not very reliable on Android. For example, if your Select field is second in your form panel,
you cannot use the Next button to get to this select field. This functionality works as expected on iOS.event_"></a>

## "focus
Fires when this field receives input focus. This happens both when you tap on the field and when you focus on the field by using
next or tab on a keyboard.

Please note that this event is not very reliable on Android. For example, if your Select field is second in your form panel,
you cannot use the Next button to get to this select field. This functionality works as expected on iOS." (this, e)
**Kind**: event emitted  

| Param | Type | Description |
| --- | --- | --- |
| this | <code>Ext.field.Select</code> | This field |
| e | <code>Ext.event.Event</code> |  |

**documentation generated on Thu, 09 Dec 2021 13:01:03 GMT**

I'm using the example plugin which adds the date.

Metadata

Metadata

Assignees

No one assigned

    Labels

    downstreamtemplateRequires a change to a dmd partial/helper

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions