首页 文章

Pygments错误:别名没有词法分析器 - 代码块中的下划线

提问于
浏览
0

我正在与所有常见的嫌疑人一起开展github-pages项目 . 我正在尝试将我的降价从kramdown切换到redcarpet以更好地支持GFM进行本地开发 . 我有一个现有的项目只有一个麻烦的降价部分 . 它是一个单行代码块,其变量名称包含下划线 .

```function_field_name```

_config.yml

markdown: redcarpet

redcarpet:
  extensions: ["tables", "autolink", "strikethrough", "space_after_headers", "with_toc_data",  "no_intra_emphasis", "fenced_code_blocks"]

highlighter: pygments
safe: true

我收到以下错误:

转换错误:转换'queries.md'时出错 . jekyll 2.2.0 |错误:回溯(最近一次调用最后一次):文件“/Users/shawnjohnson/.rvm/gems/ruby-2.1.1/gems/pygments.rb-0.6.0/lib/pygments/mentos.py”,第303行, in start res = self.get_data(method,lexer,args,kwargs,text)File“/Users/shawnjohnson/.rvm/gems/ruby-2.1.1/gems/pygments.rb-0.6.0/lib/pygments/ mentos.py“,第171行,在get_data res = self.highlight_text(text,lexer,formatter_name,args,convert_keys(opts))文件”/Users/shawnjohnson/.rvm/gems/ruby-2.1.1/gems/pygments .rb-0.6.0 / lib / pygments / mentos.py“,第122行,在highlight_text lexer = self.return_lexer(lexer,args,kwargs,code)文件”/Users/shawnjohnson/.rvm/gems/ruby-2.1 .1 / gems / pygments.rb-0.6.0 / lib / pygments / mentos.py“,第79行,在return_lexer中返回lexers.get_lexer_by_name(词法分析器,**输入)文件”/Users/shawnjohnson/.rvm/gems/ ruby-2.1.1 / gems / pygments.rb-0.6.0 / vendor / pygments-main / pygments / lexers / init.py“,第98行,在get_lexer_by_name中引发ClassNotFound('找不到别名%r的'lexer'% alias )ClassNotFound:别名的乐趣没有词法分析器ction_field_name```'找到了

2 回答

  • 1

    你的反引号必须像这样定位:

    ``` javascript
    function_field_name
    
    
    但是对于背景,你将没有突出显示 . 首选高亮标记
    
    ```java
    {% highlight javascript %}
    function_field_name
    {% endhighlight %}
    

    另外:如果你想让kramdown成为GFM complient,只需将其添加到_config.yml即可

    markdown: kramdown
    
    kramdown:
      # use Github Flavored Markdown
      input: GFM
      # do not replace newlines by <br>s
      hard_wrap: false
    
  • 0

    我发现了什么问题,这是一个愚蠢的问题(:

    你看到日志: ClassNotFound: no lexer for alias 'function_field_name```' found ,其中 function_field_name```` 实际上是你在荧光笔语法中放置的内容 . 您应该使用javascript或其他语言,而不是function_field_name```` .

    Pygments给出了错误消息,因为没有名为' `function_field_name```` 的编程语言 . 我确定你刚刚开始使用pygments,你只是从其他地方复制了源代码 .

    为了使它更清楚,你应该使用

    {% highlight javascript %}
    function_field_name
    {% endhighlight %}
    

    不:

    {% highlight function_field_name```  %}
    function_field_name
    {% function_field_name```  %}
    

相关问题