Skip to content

Curly brackets parse error? #5571

@berrylium0078

Description

@berrylium0078

Check List

  • I have already read Docs page & Troubleshooting page.
  • I have already searched existing issues and they are not help to me.
  • I examined error or warning messages and it's difficult to solve.
  • I am using the latest version of Hexo. (run hexo version to check)
  • My Node.js is matched the required version.

Expected behavior

---
title: Hello World
---

123

`{#}`

234

`{{x}}`

Should look like

123

{#}

234

{{x}}

Actual behavior

屏幕截图_20241103_180328

How to reproduce?

just

hexo init blog
cd blog

and edit source/_posts/hello-world.md

then

hexo s

Is the problem still there under Safe mode?

Yes!

Your Node.js & npm version

v23.1.0
10.9.0

Your Hexo and Plugin version

(node:24317) ExperimentalWarning: CommonJS module /usr/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /usr/lib/node_modules/npm/node_modules/supports-color/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
hexo-site@0.0.0 /home/netro/Documents/blog
├── hexo-generator-archive@2.0.0
├── hexo-generator-category@2.0.0
├── hexo-generator-index@4.0.0
├── hexo-generator-tag@2.0.0
├── hexo-renderer-ejs@2.0.0
├── hexo-renderer-marked@6.3.0
├── hexo-renderer-stylus@3.0.1
├── hexo-server@3.0.0
├── hexo-theme-landscape@1.0.0
└── hexo@7.3.0

Your package.json

{
  "name": "hexo-site",
  "version": "0.0.0",
  "private": true,
  "scripts": {
    "build": "hexo generate",
    "clean": "hexo clean",
    "deploy": "hexo deploy",
    "server": "hexo server"
  },
  "hexo": {
    "version": "7.3.0"
  },
  "dependencies": {
    "hexo": "^7.3.0",
    "hexo-deployer-git": "^4.0.0",
    "hexo-generator-archive": "^2.0.0",
    "hexo-generator-category": "^2.0.0",
    "hexo-generator-index": "^4.0.0",
    "hexo-generator-tag": "^2.0.0",
    "hexo-renderer-ejs": "^2.0.0",
    "hexo-renderer-markdown-it-plus": "^1.0.6",
    "hexo-renderer-stylus": "^3.0.1",
    "hexo-server": "^3.0.0",
    "hexo-theme-landscape": "^1.0.0",
    "hexo-theme-redefine": "^2.7.3",
    "katex": "^0.16.11",
    "markdown-it": "^14.1.0",
    "markdown-it-attrs": "^4.2.0",
    "markdown-it-imsize": "^2.0.1",
    "markdown-it-mathjax3": "^4.3.2",
    "markdown-it-task-lists": "^2.1.1",
    "markdown-it-toc": "^1.1.0"
  }
}

Your site's _config.yml (Optional)

No response

Others

Changing the second line to { #} would fix the problem. What a weird bug!

p.s. I encountered this bug when trying to use mathjax \def and a note block in the same file.

For example:

$\def\sqr#1{#1^2}$

{% note danger %}
danger note
{% endnote %}

Adding a space between the { and # also works in this scenario.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions