【hugo ox-hugo】使用 `ox-hugo` 导出 `.md` 时如何处理代码块高亮问题?

已解决!

是这样的, ox-hugo 转换代码块到 md 。 Hugo 渲染这份 md 文件的代码块,默认有一个内联的渲染样式,它和 highlight.js 的渲染是有冲突的 (至少我遇到了 :sweat_smile: )。

写了个脚本,清楚默认的内敛样式,就可以了。

// Disable defalut code-block style

let divs = document.getElementsByClassName('highlight')

Array.prototype.forEach.call(divs, item => {
    item.firstElementChild.style = ''
})


let pres = document.getElementsByTagName('pre')

Array.prototype.forEach.call(pres, item => {
    item.style = ''
})

效果可见 → Virgo Site :cowboy_hat_face:


具体描述 :blush:

使用 ox-hugo 导出 .org.md 文件时,代码块的渲染默认为 monokai 主题样式,而且是写在标签中的 style 中的,这样就会导致 highlight.js 设置的主题无法正确渲染。

想问一下,有没有办法禁止/切换 代码块的渲染主题?? 使其可以用 highlight.js 渲染。

肯定可以设置的,找一找配置呗。光是从 Org 转换 Markdown 不涉及到语法高亮,从 Markdown 到 HTML 才会加语法高亮,所以还应查下 Hugo 的配置。实在不行问问作者,ox-hugo 的作者很友善、hugo 的社区貌似也不小。

You can even ask him in this forum @kaushalmodi

The post starter encountered a problem, while exporting .org to .md with ox-hugo. The highlight style of code block was derived from theme of his Emacs. How to inhibit this behaviour?

That’s very odd. @loveminimal Can you open an issue on the ox-hugo repo with a minimal example on how to reproduce this issue? Ox-hugo only exports the content. So it’s not clear how any Emacs buffer highlighting gets exported.

我非常好奇,.org导出到.md怎么还能带出什么主题?不就是从org的代码块格式转换成markdown的代码块格式吗?跟主题有什么关系?我看了我自己的几十个org文件转换成的md文件,也没见到哪里有主题格式啊?

THX. Done :grin:

Hmm… It may be occured by Hugo Defalut MD Render System. Whatever, it be solved now. THX. :cowboy_hat_face: