Closed Kocal closed 4 years ago
For now, you can use index.stly to override it, such as:
//index.stly
@import '~prismjs/themes/prism-twilight.css'
Since our code block background is always black, some theme might not be suitable.
AFAIK, VP's default theme doesn't support configuring Prism theme. I can't confirm whether it should be supported, but it's worthwhile to open an issue in VuePress, and we can follow the decision.
Yes, VP's default theme does not support configuring Prism theme, they directly use @import '~prismjs/themes/prism-tomorrow.css'
in styles/code.styl.
Using your solution won't work properly because Prism is still imported with <style src="...">
in this theme. It seems that Prism need to be imported with @import
in Stylus in the base theme in order to be overridable, see https://github.com/vuejs/vuepress/pull/1707.
I will open a new PR to remove <style>
and import Prism in file code.styl
, like it's done in VP's default theme.
Like this, end users will be able to override it in their index.styl
.
Summary
I didn't like Prism theme
okaidia
and I wanted to use another one, but it was not possible because the theme was hardcoded. I've added a Stylus variable$prismTheme
(defaultokaida
) and changed the way to include a prism theme (directly import it incode.styl
, like default Vuepress theme does).default theme:
(Don't take care of highlighted lines, it's part of #37 :sweat_smile:)
override theme:
I've also updated the documentation:
What kind of change does this PR introduce? (check at least one)
If changing the UI of default theme, please provide the before/after screenshot:
Does this PR introduce a breaking change? (check one)
If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:
fix #xxx[,#xxx]
, where "xxx" is the issue number)You have tested in the following browsers: (Providing a detailed version will be better.)
If adding a new feature, the PR's description includes:
To avoid wasting your time, it's best to open a feature request issue first and wait for approval before working on it.
Other information: