From 889e5633f88bda80009d9e9a20d1b6fc3e64f50e Mon Sep 17 00:00:00 2001 From: Hossein Mehrabi Date: Wed, 31 May 2023 23:39:55 +0330 Subject: [PATCH] feat: add light prism theme for code blocks --- .../src/theme-config/base.ts | 5 +- .../src/client/prism/light-theme.ts | 77 +++++++++++++++++++ 2 files changed, 79 insertions(+), 3 deletions(-) create mode 100644 packages/logos-docusaurus-theme/src/client/prism/light-theme.ts diff --git a/packages/logos-docusaurus-preset/src/theme-config/base.ts b/packages/logos-docusaurus-preset/src/theme-config/base.ts index d88de84..04e8b93 100644 --- a/packages/logos-docusaurus-preset/src/theme-config/base.ts +++ b/packages/logos-docusaurus-preset/src/theme-config/base.ts @@ -1,7 +1,6 @@ import { ThemeConfig } from '@docusaurus/preset-classic' -const lightCodeTheme = require('prism-react-renderer/themes/github') -// const darkCodeTheme = require('prism-react-renderer/themes/vsDark') +const lightCodeTheme = require('@acid-info/logos-docusaurus-theme/lib/client/prism/light-theme') const darkCodeTheme = require('@acid-info/logos-docusaurus-theme/lib/client/prism/dark-theme') export const baseThemeConfig: ThemeConfig = { @@ -23,7 +22,7 @@ export const baseThemeConfig: ThemeConfig = { copyright: `Logos, ${new Date().getFullYear()}`, }, prism: { - theme: lightCodeTheme, + theme: lightCodeTheme.default, darkTheme: darkCodeTheme.default, }, } diff --git a/packages/logos-docusaurus-theme/src/client/prism/light-theme.ts b/packages/logos-docusaurus-theme/src/client/prism/light-theme.ts new file mode 100644 index 0000000..3e757f4 --- /dev/null +++ b/packages/logos-docusaurus-theme/src/client/prism/light-theme.ts @@ -0,0 +1,77 @@ +// Original: https://raw.githubusercontent.com/PrismJS/prism-themes/master/themes/prism-ghcolors.css +const theme = { + plain: { + color: '#393A34', + backgroundColor: 'transparent', + }, + styles: [ + { + types: ['comment', 'prolog', 'doctype', 'cdata'], + style: { + color: '#999988', + fontStyle: 'italic', + }, + }, + { + types: ['namespace'], + style: { + opacity: 0.7, + }, + }, + { + types: ['string', 'attr-value'], + style: { + color: '#e3116c', + }, + }, + { + types: ['punctuation', 'operator'], + style: { + color: '#393A34', + }, + }, + { + types: [ + 'entity', + 'url', + 'symbol', + 'number', + 'boolean', + 'variable', + 'constant', + 'property', + 'regex', + 'inserted', + ], + style: { + color: '#36acaa', + }, + }, + { + types: ['atrule', 'keyword', 'attr-name', 'selector'], + style: { + color: '#00a4db', + }, + }, + { + types: ['function', 'deleted', 'tag'], + style: { + color: '#d73a49', + }, + }, + { + types: ['function-variable'], + style: { + color: '#6f42c1', + }, + }, + { + types: ['tag', 'selector', 'keyword'], + style: { + color: '#00009f', + }, + }, + ], +} + +export default theme