docute icon indicating copy to clipboard operation
docute copied to clipboard

Cannot read property 'highlight' of undefined - when using an indented code block

Open wsw70 opened this issue 7 years ago • 4 comments

This bug was initially submitted with marked.js (https://github.com/markedjs/marked/issues/1348) but it seems the problem is finally with Docute. Please also see the comment at https://github.com/markedjs/marked/issues/1348#issuecomment-426269743

Description

Using the example HTML file with a specific README.md, the site is not rendered and the console mentions

Uncaught (in promise) TypeError: Cannot read property 'highlight' of undefined
Please report this to https://github.com/markedjs/marked.
    at U.n.code (docute.js:1)
    at V.tok (docute.js:1)
    at V.parse (docute.js:1)
    at Function.V.parse (docute.js:1)
    at rt (docute.js:1)
    at docute.js:1

Reproduction

Expose the following two files via a web server (devd in my case), the HTML file is the first example given in Docute.

The error is on the block containing code

  • index.html
<!DOCTYPE>
<html>
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <title>My Docs</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/docute@4/dist/docute.css">
  </head>
  <body>
    <div id="docute"></div>
    <script src="https://cdn.jsdelivr.net/npm/docute@4/dist/docute.js"></script>
    <script>
      new Docute({
        target: '#docute'
      })
    </script>
  </body>
</html>
  • README.md (please take the source code, as the version below is rendered by GitHub and i do not know how to make it raw (non-rendered) data)

--- snip --- text

code

text --- snip ---

wsw70 avatar Oct 02 '18 09:10 wsw70

Please let me know if the landing place of the bug is correct or not.

wsw70 avatar Oct 02 '18 13:10 wsw70

My guess is that the problem lies in the /src/utils/markedRenderer.js file since it overrides marked's renderer.

styfle avatar Oct 02 '18 13:10 styfle

which version are you using? it is supposed to be fixed in 4.0.7

egoist avatar Oct 03 '18 13:10 egoist

@egoist I use the one from the example HTML (https://cdn.jsdelivr.net/npm/docute@4/dist/docute.js). At the end of that file (it is minified so I am not sure where to look) I see er.version="4.0.6"

On the other hand

$ npm view docute version
4.0.7

so I will be better off using an installed version (which leaves the question of the CSS open but it is another problem)

wsw70 avatar Oct 03 '18 13:10 wsw70