Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

新增代码块显示编程语言的功能 #780

Open
3 tasks done
pxBang opened this issue Apr 1, 2024 · 8 comments
Open
3 tasks done

新增代码块显示编程语言的功能 #780

pxBang opened this issue Apr 1, 2024 · 8 comments
Labels
Feature Request New feature or request

Comments

@pxBang
Copy link

pxBang commented Apr 1, 2024

Issue Checklist

Expected behavior

截屏2024-04-01 16 56 27

图中为butterfly主题某一博客下,代码块显示出YAML编程语言

Actual behavior

截屏2024-04-01 17 00 18

在markdown文本编辑如上图所示

截屏2024-04-01 16 58 31

而在网页中显示如上图,无法显示cpp语言类型。

Steps to reproduce the behavior

既然butterfly主题有该功能,next凭什么没有呢?🐶,希望能增加新功能,将指定编程语言显示在代码块上,从而便于读者第一时间确认代码块的语言类型

Other Information

No response

@pxBang pxBang added the Feature Request New feature or request label Apr 1, 2024
Copy link

welcome bot commented Apr 1, 2024

Thanks for opening this issue, maintainers will get back to you as soon as possible!

@stevenjoezhang
Copy link
Member

butterfly主题有该功能,next凭什么没有呢?❌
next特立独行,不盲从✅

主要是如果你指定了代码块的文件名,例如

```yml _config.yml
```

那么代码块上方会显示_config.yml而不是代码块的语言。把它放在哪还需要进一步研究。

@pxBang
Copy link
Author

pxBang commented Apr 1, 2024

butterfly主题有该功能,next凭什么没有呢?❌ next特立独行,不盲从✅

主要是如果你指定了代码块的文件名,例如

```yml _config.yml

那么代码块上方会显示`_config.yml`而不是代码块的语言。把它放在哪还需要进一步研究。

我平时在markdown格式下使用```代码块时,习惯于只标明代码语言(并不会额外指定代码块文件名等),这可能和我的使用习惯有关,所以我并没有注意到这个问题:多个参数时,如何识别显示正确的参数。 但我想,简单粗暴就都显示或者干脆不显示;希望正确显示代码语言,那就建立一个代码语言库,显示的时候搜索一下有没有参数属于这个库,确认属于这个库就显示这个代码语言。

总而言之,这只是我的简单思考后的想法,可能并不实用,我只是希望next不要落后于butterfly🐶希望读者在阅读代码块时能第一时间确认代码语言

@stevenjoezhang
Copy link
Member

不是这个意思,Hexo当然是知道代码语言的,不然都没法进行高亮。主要是这个位置已经另作他用了,如果要显示语言的话放在哪里是个问题。

@pxBang
Copy link
Author

pxBang commented Apr 1, 2024

不是这个意思,Hexo当然是知道代码语言的,不然都没法进行高亮。主要是这个位置已经另作他用了,如果要显示语言的话放在哪里是个问题。

哦哦,之前我理解错误了。

我觉得这个左上角的位置显示代码块的文件名并不常用吧?至少在我使用的时候是这样,并不知道大家的使用习惯。

如果有空位能加上代码语言就够了,对我来说,放在哪里都一样,都足够我确认代码语言。放在哪里只是美观问题。如果一个空位也没有,那确实没办法了

@stevenjoezhang
Copy link
Member

stevenjoezhang commented Apr 1, 2024

截屏2024-04-01 21 31 47 类似这个样子可以不?不过prismjs主题比较杂,不是很好适配,我先在highlight.js上试一试

@pxBang
Copy link
Author

pxBang commented Apr 1, 2024

截屏2024-04-01 21 31 47 类似这个样子可以不?不过prismjs主题比较杂,不是很好适配,我先在highlight.js上试一试

这挺cool的!至少我愿意接受这个样式!

@sghuang19
Copy link
Member

sghuang19 commented Aug 15, 2024

同意题主的观点,个人认为这个位置要么什么都不显示,要么显示语言名称更合理。

如果作者真的有意强调一串代码所属的文件,往往是在代码块开头通过注释列出。

可以考虑再增加一个显示语言名称的选项:

  • 默认为 false
  • 或者默认为 true,但是如果也设置了文件名,则优先显示文件名,这样依然向下兼容

这个功能如果要做的话该怎么实现?通过一个 filter 来操作生成的 HTML 吗?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Request New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants