Skip to content

Linking multiple PDFs in one line causes parsing error #3631

Description

@theodorechu

🐛 Bug Report

Linking multiple PDFs in one line in a .md file causes parsing error.

Have you read the Contributing Guidelines on issues?

Yes

To Reproduce

  1. Create a folder in the static folder called content
  2. In the content, folder, run the following commands to download sample pdfs:
wget https://www.kungfoomanchu.com/guides/andy-klise-3x3x3-speedcubing-guide-v4.pdf
wget https://www.kungfoomanchu.com/guides/andy-klise-3x3x3-speedcubing-guide-v4-lefty.pdf
wget https://www.kungfoomanchu.com/guides/andy-klise-3x3x3-oll-v3.pdf
  1. Open a doc file and past the following on a new line. Then click the links to confirm that the PDFs are available:
- [3x3x3 speedcubing guide](/content/andy-klise-3x3x3-speedcubing-guide-v4.pdf)
- [3x3x3 speedcubing guide for lefties](/content/andy-klise-3x3x3-speedcubing-guide-v4-lefty.pdf)
- [OLL guide](/content/andy-klise-3x3x3-oll-v3.pdf)
  1. Open a doc file and paste the following in a new line:
Download the [3x3x3 speedcubing guide](/content/andy-klise-3x3x3-speedcubing-guide-v4.pdf), [3x3x3 speedcubing guide for lefties](/content/andy-klise-3x3x3-speedcubing-guide-v4-lefty.pdf), and the [OLL guide](/content/andy-klise-3x3x3-oll-v3.pdf). 
  1. Get this error (I used .template.md):
./docs/template.md
SyntaxError: /template.md: Expected corresponding JSX closing tag for <p> (8:248)

   6 |       components={components}>
   7 | 
>  8 | <p>{`Download the `}<a target="_blank" href={require('!file-loader?name=assets/files/[name]-[hash].[ext]!../static/content/andy-klise-3x3x3-speedcubing-guide-v4.pdf').default}  >{`3x3x3 speedcubing guide`}</a>{`3x3x3 speedcubing guide for lefties`}</a>{`OLL guide`}</a>{`, `}<a target="_blank" href={require('!file-loader?name=assets/files/[name]-[hash].[ext]!../static/content/andy-klise-3x3x3-speedcubing-guide-v4-lefty.pdf').default}  >{`, and the `}<a target="_blank" href={require('!file-loader?name=assets/files/[name]-[hash].[ext]!../static/content/andy-klise-3x3x3-oll-v3.pdf').default}  >{`. `}</p>
     |                                                                                                                                                                                                                                                         ^
   9 |     </MDXLayout>
  10 |   )
  11 | };
 @ ./.docusaurus/registry.js 1:10885-10930 1:10775-10859
 @ ./node_modules/@docusaurus/core/lib/client/exports/ComponentCreator.js
 @ ./.docusaurus/routes.js
 @ ./node_modules/@docusaurus/core/lib/client/clientEntry.js
 @ multi ./node_modules/react-dev-utils/webpackHotDevClient.js ./node_modules/@docusaurus/core/lib/client/clientEntry.js
  1. You can also delete a new line from the list and get a similar error:
- [3x3x3 speedcubing guide](/content/andy-klise-3x3x3-speedcubing-guide-v4.pdf) [3x3x3 speedcubing guide for lefties](/content/andy-klise-3x3x3-speedcubing-guide-v4-lefty.pdf)
- [OLL guide](/content/andy-klise-3x3x3-oll-v3.pdf)

will give this error:

./docs/template.md
SyntaxError: /template.md: Expected corresponding JSX closing tag for <li> (9:248)

   7 | 
   8 | <ul>
>  9 | <li parentName="ul"><a target="_blank" href={require('!file-loader?name=assets/files/[name]-[hash].[ext]!../static/content/andy-klise-3x3x3-speedcubing-guide-v4.pdf').default}  >{`3x3x3 speedcubing guide`}</a>{`3x3x3 speedcubing guide for lefties`}</a>{` `}<a target="_blank" href={require('!file-loader?name=assets/files/[name]-[hash].[ext]!../static/content/andy-klise-3x3x3-speedcubing-guide-v4-lefty.pdf').default}  ></li>
     |                                                                                                                                                                                                                                                         ^
  10 | <li parentName="ul"><a target="_blank" href={require('!file-loader?name=assets/files/[name]-[hash].[ext]!../static/content/andy-klise-3x3x3-oll-v3.pdf').default}  >{`OLL guide`}</a></li>
  11 | </ul>
  12 |     </MDXLayout>
 @ ./.docusaurus/registry.js 1:10885-10930 1:10775-10859
 @ ./node_modules/@docusaurus/core/lib/client/exports/ComponentCreator.js
 @ ./.docusaurus/routes.js
 @ ./node_modules/@docusaurus/core/lib/client/clientEntry.js
 @ multi ./node_modules/react-dev-utils/webpackHotDevClient.js ./node_modules/@docusaurus/core/lib/client/clientEntry.js

Expected behavior

I thought the markdown would parse normally.

Actual Behavior

I get a syntax error.

Your Environment

  • Docusaurus version used: alpha-66
  • Environment name and version (e.g. Chrome 78.0.3904.108, Node.js 10.17.0): Ubuntu WSL 18.04, Node 12.16.0
  • Operating system and version (desktop or mobile): desktop, Windows build 19041.572

Reproducible Demo

(Paste the link to an example repo, including a siteConfig.js, and exact instructions to reproduce the issue.)

https://github.com/TheodoreChu/docusaurus-bug-report-demos/blob/main/docs/pdf-bug.md

Temporary workaround

Link the pdf files on separate lines as in step 3.

Metadata

Metadata

Assignees

No one assigned

    Labels

    good first issueIf you are just getting started with Docusaurus, this issue should be a good place to begin.hacktoberfesthelp wantedAsking for outside help and/or contributions to this particular issue or PR.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions