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

下载md格式的专栏,代码块没有语法高亮显示 #45

Open
hiifong opened this issue Jun 21, 2022 · 16 comments
Open

下载md格式的专栏,代码块没有语法高亮显示 #45

hiifong opened this issue Jun 21, 2022 · 16 comments
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@hiifong
Copy link

hiifong commented Jun 21, 2022

image

@hiifong
Copy link
Author

hiifong commented Jun 21, 2022

部分代码块没有语法高亮

@nicoxiang
Copy link
Owner

手动加上代码块语言是不是就好了?

@hiifong
Copy link
Author

hiifong commented Jun 21, 2022

手动加上代码块语言是不是就好了?

是的

@nicoxiang
Copy link
Owner

nicoxiang commented Jun 21, 2022

这个不太好实现,我看他接口返回的文章 content 里没有代码块语言的信息,不知道极客时间是怎么识别的,还是说都是统一用的一种,我先打个 help wanted 标签吧

@nicoxiang nicoxiang added enhancement New feature or request help wanted Extra attention is needed labels Jun 21, 2022
@ZJRui
Copy link

ZJRui commented Aug 24, 2022

为啥我总是请求超时

@nicoxiang
Copy link
Owner

nicoxiang commented Aug 25, 2022

为啥我总是请求超时

下载什么类型课程的时候? @ZJRui
可以贴下错误信息

@hiifong
Copy link
Author

hiifong commented Nov 7, 2022

@nicoxiang

编程语言可以通过data-code-language属性获取。
image

@nicoxiang
Copy link
Owner

@hiifong thanks,我后面有空了看下好不好加上

@nicoxiang
Copy link
Owner

@hiifong 好像不是很好拿到,markdown的生成用的是接口返回的文章内容,并不是来自页面html,所以好像没法拿到这个html属性。

@hiifong
Copy link
Author

hiifong commented Dec 4, 2022

@hiifong 好像不是很好拿到,markdown的生成用的是接口返回的文章内容,并不是来自页面html,所以好像没法拿到这个html属性。

接口返回文章的内容是什么格式的?可以给一下接口吗?

@hiifong
Copy link
Author

hiifong commented Dec 5, 2022

接口: https://github.com/nicoxiang/geektime-downloader/blob/main/internal/geektime/client.go#L21

返回值中文章内容的字段: https://github.com/nicoxiang/geektime-downloader/blob/main/internal/geektime/response/struct_v1_article.go#L26

image
可以通过返回的<code class="language-javascript">的class属性获取编程语言,把language-去掉就是代码块的编程语言

@nicoxiang
Copy link
Owner

@hiifong 感谢,我有空再细看下,如果有兴趣的话也欢迎 PR,markdown 用的是 html-to-markdown 的一个项目,应该是可以通过自定义一些 rule 实现的

@nicoxiang
Copy link
Owner

nicoxiang commented Feb 21, 2023

@hiifong 我自己找了一个专栏里的几篇文章,接口的返回体里 <code> 标签是没有language class 的,但是网页上看 data-code-language 属性是有值的,应该是做了自动识别的,所以这个暂时没有好的方法实现

@hiifong
Copy link
Author

hiifong commented Feb 21, 2023

@hiifong 我自己找了一个专栏里的几篇文章,接口的返回体里 <code> 标签是没有language class 的,但是网页上看 data-code-language 属性是有值的,应该是做了自动识别的,所以这个暂时没有好的方法实现

或许可以设置一个默认语言

@nicoxiang
Copy link
Owner

设置全局的默认语言不太好

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants