mewsf commented on PR #790:
URL: https://github.com/apache/rocketmq-site/pull/790#issuecomment-4702195847
依照docusaurus官网的文档,在`docusaurus.config.js`修改`additionalLanguages`就能为代码高亮增加更多语言支持,
PrimJs也确实支持Java,但是不知什么原因导致一些语言在docusaurus仍然无法支持,推测是这个版本导入依赖时有问题,有些语言的格式化代码没有引入,但是更新docusaurus不太现实。文档中给出了一种手动增加受支持语言的办法,可以通过`npm
run swizzle @docusaurus/theme-classic
prism-include-languages`将导入其他语言的功能模块文件手动导出再进行修改。这个文件本身是根据`additionalLanguages`设置再导入其他语言的格式,内容如下
```js
import siteConfig from '@generated/docusaurus.config';
export default function prismIncludeLanguages(PrismObject) {
const {
themeConfig: {prism},
} = siteConfig;
const {additionalLanguages} = prism;
// Prism components work on the Prism instance on the window, while prism-
// react-renderer uses its own Prism instance. We temporarily mount the
// instance onto window, import components to enhance it, then remove it to
// avoid polluting global namespace.
// You can mutate PrismObject: registering plugins, deleting languages...
As
// long as you don't re-assign it
globalThis.Prism = PrismObject;
additionalLanguages.forEach((lang) => {
// eslint-disable-next-line global-require, import/no-dynamic-require
require(`prismjs/components/prism-${lang}`);
});
delete globalThis.Prism;
}
```
但是手动导出的文件需要手动引入prismjs模块依赖,为了简洁改为直接将`prism-java.js`添加再导入,方法略微有些dirty但是至少可用。
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]