gnolang / gno-by-example

Tutorials and snippets for learning Gno
https://gno-by-example.com
Apache License 2.0
4 stars 4 forks source link

Code blocks not escaped properly during tutorial generation #168

Open leohhhn opened 1 month ago

leohhhn commented 1 month ago

Description

As title says, code blocks, such as the following are not escaped properly and break the tutorial generation process:

gnokey maketx call ...
❌ Error encountered during tutorial generation SyntaxError: Invalid character. (13:4)
  11 | When this function is called, it will emit the following event:
  12 |
> 13 | \``\`bash
     |    ^
  14 | {
  15 |   "type": "GBE-chain-02-events",
  16 |   "pkg_path": "gno.land/r/demo/event",
    at Kq (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:23:498)
    at xz (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:25:794)
    at Object.Cz [as parse] (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:25:1194)
    at parse4 (/Users/sasurai/Desktop/gno/gbe/node_modules/prettier/index.mjs:22117:24)
    at coreFormat (/Users/sasurai/Desktop/gno/gbe/node_modules/prettier/index.mjs:22607:7)
    at formatWithCursor (/Users/sasurai/Desktop/gno/gbe/node_modules/prettier/index.mjs:22809:14)
    at Object.format2 (/Users/sasurai/Desktop/gno/gbe/node_modules/prettier/index.mjs:24194:25)
    at parseTutorial (/Users/sasurai/Desktop/gno/gbe/scripts/generate.ts:149:32)
    at generateTutorials (/Users/sasurai/Desktop/gno/gbe/scripts/generate.ts:261:34) {
  loc: { start: { line: 13, column: 4 }, end: { line: 13, column: 4 } },
  cause: Vm: Invalid character.
      at RB (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:21:119402)
      at YB (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:21:122980)
      at YU (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:21:191880)
      at $q (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:21:203680)
      at Xq (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:21:203346)
      at file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:25:1160
      at Zq (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:23:652)
      at Object.Cz [as parse] (file:///Users/sasurai/Desktop/gno/gbe/node_modules/prettier/plugins/typescript.mjs:25:1132)
      at parse4 (/Users/sasurai/Desktop/gno/gbe/node_modules/prettier/index.mjs:22117:24)
      at coreFormat (/Users/sasurai/Desktop/gno/gbe/node_modules/prettier/index.mjs:22607:7) {
    fileName: 'estree.ts',
    location: { start: [Object], end: [Object] }
  },
  codeFrame: '\x1B[0m \x1B[90m 11 |\x1B[39m \x1B[32mWhen this function is called, it will emit the following event:\x1B[39m\x1B[0m\n' +
    '\x1B[0m \x1B[90m 12 |\x1B[39m\x1B[0m\n' +
    '\x1B[0m\x1B[31m\x1B[1m>\x1B[22m\x1B[39m\x1B[90m 13 |\x1B[39m \x1B[32m\\``\x1B[39m\x1B[37m\x1B[41m\x1B[1m\\\x1B[22m\x1B[49m\x1B[39m\x1B[32m`bash\x1B[39m\x1B[0m\n' +
    '\x1B[0m \x1B[90m    |\x1B[39m    \x1B[31m\x1B[1m^\x1B[22m\x1B[39m\x1B[0m\n' +
    '\x1B[0m \x1B[90m 14 |\x1B[39m \x1B[32m{\x1B[39m\x1B[0m\n' +
    '\x1B[0m \x1B[90m 15 |\x1B[39m \x1B[32m  "type": "GBE-chain-02-events",\x1B[39m\x1B[0m\n' +
    '\x1B[0m \x1B[90m 16 |\x1B[39m \x1B[32m  "pkg_path": "gno.land/r/demo/event",\x1B[39m\x1B[0m'
}
✨  Done in 2.44s.
alexiscolin commented 1 month ago

@leohhhn Do you have the initial markdown you wanted to render? Have you escaped it properly?