A dark theme (which also supports light mode, can you imagine that ~) of SiYuan Note.
It is now on the shelves of the Siyuan Notes Community Bazaar. If you like this theme, welcome to light up ⭐ for this project!
❗The functions have been migrated to plugins and disabled by default in this theme❗
webview
v2.8.10+
v1.9.3+
v2.8.10+
v1.9.3+
monaco-editor
v2.9.8+
v1.9.8+
v2.9.8+
v1.9.8+
jupyter-client
v2.10.2+
v1.10.1+
⚠️The functions have been migrated to plugins but can still be used in the theme⚠️
custom-fonts
custom-block
typewriter
Focus Setting
> Show Current Focus
function
Common 2:1 monospace font for Chinese and Western languages.: 仿宋
, 黑体
, 楷体
, 隶书
, 宋体
, 新宋体
, 幼圆
The 2:1 monospaced font in Chinese and Western characters used in the schematic diagram:
Sarasa Gothic Mono
GitHub - be5invis/Sarasa-GothicLxgwWenKai Mono
GitHub - lxgw/LxgwWenKaiFunction | Contributor | Project |
---|---|---|
inline comments and notes | langzhou | siyuan-note/siyuan-comment at main · langzhou/siyuan-note · GitHub |
list mind maps | royc01 | royc01/notion-theme: notion复刻 |
thxnder 💻 🐛 |
langzhou 💻 |
royc01 🤔 💻 |
UserZYF 📹 |
吃星尘的羊 🎨 |
PS: The table is generated automatically using All Contributors · GitHub, go to emoji key to see the contribution type.
Shortcut Keys | Operational objectives | Function |
---|---|---|
Middle Mouse Button ❗Disabled by default in the v2.8.10+ version of SiYuan |
entire window | open the block or hyperlink in a new window ❗Migrated to plugin Web Page View webview |
Right Mouse Button | slider on the right side of the document / current reading progress indicator | jump to where the document was last browsed |
Shift + Middle Mouse Button ❗Disabled by default in the v2.8.10+ version of SiYuan |
entire window | open the block in a new window and focus ❗Migrated to plugin Web Page View webview |
Alt + Middle Mouse Button ❗Disabled by default in the v2.9.8+ version of SiYuan |
entire window | open the Monaco Editor in a new window and edit the content ❗Migrated to plugin Integrated Edit Environment monaco-editor |
Shift + Alt + Middle Mouse Button ❗Disabled by default in the v2.9.8+ version of SiYuan |
entire window | open the Monaco Editor in a new window and edit the markdown source code ❗Migrated to plugin Integrated Edit Environment monaco-editor |
Ctrl/⌘ + Mouse Wheel ❗Disabled by default in the v2.9.8+ version of SiYuan |
entire window | adjust the edit area font size |
Ctrl/⌘ + Middle Mouse Button | hyperlink | set the custom block attributes |
Ctrl/⌘ + Middle Mouse Button | video block/audio block/iframe block | write the current timestamp to the clipboard |
Ctrl/⌘ + Left Mouse Button | video block/audio block/iframe block | jump to the point in time set by the custom block attribute time |
Ctrl/⌘ + Left Mouse Button | widget block/iframe block | reload the block contents |
Double-click with Left Mouse Button | widget block/iframe block | reload the block contents |
Ctrl/⌘ + F1 Requires to be enabled in a custom profile |
current document | render the custom style for all blocks in the current document |
Ctrl/⌘ + F5 | entire window | display block content in full screen |
Shift + Alt + B Requires to be enabled in a custom profile |
entire window | turn on/off the feature of tabs are arranged vertically |
Shift + Alt + E Requires to be enabled in a custom profile |
entire window | turn on/off the feature of displaying the mark text |
Shift + Alt + F Requires to be enabled in a custom profile |
entire window | turn on/off the focus mode (collapse/expand the feature panels) |
Shift + Alt + G Requires to be enabled in a custom profile |
entire window | turn on/off list guides (list, table list, mind map list) |
Shift + Alt + I Requires to be enabled in a custom profile |
entire window | turn on/off invert color mode |
Shift + Alt + L Requires to be enabled in a custom profile |
entire window | turn on/off record the current browsing location |
Shift + Alt + M Requires to be enabled in a custom profile |
entire window | turn on/off block menu enhancement |
Shift + Alt + N Requires to be enabled in a custom profile |
entire window | open the block where the cursor is located in a new window |
Shift + Alt + R Requires to be enabled in a custom profile |
entire window | use the web background images |
Shift + Alt + T Requires to be enabled in a custom profile |
entire window | turn on/off typewriter mode |
Shift + Alt + C Requires to be enabled in a custom profile |
current document | copy the full markdown text of the current document to the clipboard |
Shift + Alt + X Requires to be enabled in a custom profile |
current document | cut the full markdown text of the current document to the clipboard |
Shift + Alt + D Requires to be enabled in a custom profile |
current document | delete the full content of the current documen |
Shift + Alt + ↑ Requires to be enabled in a custom profile |
current document | collapse all sub-headings of the current document |
Shift + Alt + ↓ Requires to be enabled in a custom profile |
current document | expand all sub-headings of the current document |
Ctrl/⌘ + Shift + Alt + R Requires to be enabled in a custom profile |
entire window | use the custom background images |
Ctrl/⌘ + Shift + Alt + N Requires to be enabled in a custom profile |
entire window | open the block and focus where the cursor is located in a new window |
Ctrl/⌘ + Shift + Alt + L Requires to be enabled in a custom profile |
entire window | clear the current document browsing location history |
Ctrl/⌘ + Shift + Alt + O Requires to be enabled in a custom profile |
current document | copy the current document outline as an ordered list |
Ctrl/⌘ + Shift + Alt + U Requires to be enabled in a custom profile |
current document | copy the current document outline as an unordered list |
Ctrl/⌘ + Shift + Alt + T Requires to be enabled in a custom profile |
current document | copy the current document outline as a task list |
Shortcut Keys | Function |
---|---|
Alt + Z | toggle word wrap |
Ctrl/⌘ + Alt + P | window pin/unpin |
Ctrl/⌘ + O | open file in VS Code |
Ctrl/⌘ + Shift + O | open directory in VS Code |
Ctrl/⌘ + Alt + C | copy link |
Ctrl/⌘ + Shift + Alt + C | copy full link |
Operational objectives | Attribute Name | Attribute Value | Function |
---|---|---|---|
all types of blocks | font-family |
等线 方正舒体 方正姚体 仿宋 黑体 华文彩云 华文仿宋 华文琥珀 华文楷体 华文隶书 华文宋体 华文细黑 华文新魏 华文行楷 华文中宋 楷体 隶书 宋体 微软雅黑 新宋体 幼圆 |
Sets the font family used by the block. |
all types of blocks | render |
danmaku 弹幕 (You can separate multiple attribute values with spaces) |
Set the block to the scrolling danmaku block style. |
all types of blocks | render |
scroll 滚屏 滚动 (You can separate multiple attribute values with spaces) |
Set the vertical scroll bar for the overly long block. |
all types of blocks | render |
invert 反色 (You can separate multiple attribute values with spaces) |
Render all images as inverted colors. |
all types of blocks | mark |
display 显示 (You can separate multiple attribute values with spaces) |
Display marked text. |
document blocks | location |
block ID | The current document browsing location. |
document blocks | auto-num-h |
0 false 禁用 关闭 |
Disables automatic numbering of subheading in the document. |
document blocks | auto-num-f |
图 图片 Fig. figure Figure FIGURE |
Enable automatic numbering of pictures in the document. |
document blocks | auto-num-t |
表 表格 Tab. table Table TABLE |
Enable automatic numbering of tables in the document. |
document blocks | render |
id (You can separate multiple attribute values with spaces) |
Renders the ID of each block. |
document blocks | render |
href (You can separate multiple attribute values with spaces) |
Renders the URL of each hyperlink. |
document blocks | render |
index (You can separate multiple attribute values with spaces) |
Renders the ordinal number of the current block in the document. |
document blocks | render |
content (You can separate multiple attribute values with spaces) |
Renders the contents of the input box. |
document blocks | render |
outline (You can separate multiple attribute values with spaces) |
Renders the outline of a hovering block. |
non-document blocks | position |
top bottom |
Pin the block to the top/bottom of the parent container. |
non-document blocks | style |
CSS styles | Set a custom style for the block. |
non-document blocks | title |
Any value | Sets the title of the block. |
video blocks/audio blocks/widget blocks/iframe blocks | width |
100% |
Sets the width of the iframe window to the document width. |
video blocks/audio blocks | time |
ss ss.ms mm:ss mm:ss.ms hh:mm:ss hh:mm:ss.ms |
Timestamp. |
list blocks & document blocks | type |
table 表格 (You can separate multiple attribute values with spaces) |
Renders the list as a table. |
list blocks & document blocks | type |
脑图 map 导图 mind-map 思维导图 (You can separate multiple attribute values with spaces) |
Renders the list as a mind map. |
list blocks & document blocks | type |
看板 board (You can separate multiple attribute values with spaces) |
Renders the list as a board. |
table blocks | table-width |
auto 自动 (You can separate multiple attribute values with spaces) |
Enable table content wraps. |
table blocks | table-width |
equal 等宽 (You can separate multiple attribute values with spaces) |
Enable equal cell. |
paragraph blocks | type |
图标题 表标题 figure-title table-title (You can separate multiple attribute values with spaces) |
Figure titles/table titles are counted automatically. |
paragraph blocks | writing-mode |
horizontal-tb vertical-rl vertical-lr sideways-rl sideways-lr |
This is shown in the following table. |
assets/
: Asset file directorydata/**/assets/
emojis/
: Emoji file directorydata/emojis/
plugins/
: Plugin file directorydata/plugins/
snippets/
: Snippet file directorydata/snippets/
templates/
: Template file directorydata/templates/
widgets/
: Widget file directorydata/widgets/
appearance/
: Appearance file directoryconf/appearance/
export/
: Export file directorytemp/export/
history/
: History file directorytemp/history/
URL Scheme
) to the third-party resource displays icons.
brain:
TheBrainbookxnotepro:
BookxNote Procalibre:
calibre - E-book managementes:
Everythingevernote:
Evernotefile:
RFC 8089 - The "file" URI Schemehttp:
RFC 2616 - Hypertext Transfer Protocol -- HTTP/1.1https:
RFC 2818 - HTTP Over TLSjoplin:
Joplinlogseq:
Logseqlt:
liquidtextmailto:
RFC 6068 - The 'mailto' URI Schememarginnote3app:
Marginnoteobsidian:
Obsidianonenote:
OneNoteonenote:
OTP Authquicker:
Quickerrunpwsh:
runcmd:
url-run-commandsiyuan:
思源笔记sm:
Super Memorytg:
TickTickticktick:
TickTickvscode:
Visual Studio Codewsa:
适用于 Android 的 Windows 子系统zotero:
Zoterozotero://open-pdf/
id=<content block ID>
(at least one tab must already be open)
http(s)://host:port/stage/build/desktop/?id=20220128124308-bancmue
webview
.v2.8.10+
version of SiYuan.webview
.v2.8.10+
version of SiYuan.monaco-editor
.v2.9.8+
version of SiYuan.Markdown
source codesiyuan
hyperlink target to leaf blockMarkdown
source codeMarkdown
source codeMarkdown
source codeCSS
and JS
code snippet source codemonaco-editor
.v2.9.8+
version of SiYuan.Karmdown
source codesiyuan://
Karmdown
source codeKarmdown
source codev2.8.8+
version built-in this function.v2.9.8+
version of SiYuan.href
: A hyperlink to the block for which you want to set the block attributes.siyuan://blocks/20220213230830-g1amobi
title
: A set of key-value pairs in json
format.{"memo": "timestamp", "custom-time": "00:00:01"}
time
as a timestamp and writes it to the clipboard.time
.typewriter
.Focus Setting
> Show Current Focus
functionfont-family
: key等线
方正舒体
方正姚体
仿宋
黑体
华文彩云
华文仿宋
华文琥珀
华文楷体
华文隶书
华文宋体
华文细黑
华文新魏
华文行楷
华文中宋
楷体
隶书
宋体
微软雅黑
新宋体
幼圆
render
: keydanmaku
/ 弹幕
: value
scroll
/ 滚屏
/ 滚动
: value
invert
/ 反色
: value
mark
: keydisplay
/ 显示
: valuelocation
: keyauto-num-h
: key0
/ false
/ 禁用
/ 关闭
: valueauto-num-f
: key图
: value图片
: valueFig.
: valuefigure
: valueFigure
: valueFIGURE
: valueauto-num-t
: key表
: value表格
: valueTab.
: valuetable
: valueTable
: valueTABLE
: valuerender
: keyid
: value
index
: value
content
: value
outline
: value
position
: keytop
: value
bottom
: value
style
: keytitle
: keywidth
: key100%
: value
time
: key<timestamp>
: value
ss
: ss >= 0
ss.ms
: ss >= 0 && ms >= 0
mm:ss
: mm >= 0 && 0 <= ss <= 59
mm:ss.ms
: mm >= 0 && 0 <= ss <= 59 && ms >= 0
hh:mm:ss
: hh >= 0 && 0 <= mm <= 59 && 0 <= ss <= 59
hh:mm:ss.ms
: hh >= 0 && 0 <= mm <= 59 && 0 <= ss <= 59 && ms >= 0
type
: key表格
/ title
: value
脑图
/ 导图
/ 思维导图
/ map
/ mind-map
: value
看板
/ board
: value
图标题
/ figure-title
| 表标题
/ table-title
: value
table-width
: keyauto
/ 自动
: value
equal
/ 等宽
: value
writing-mode
: keyhorizontal-tb
vertical-rl
vertical-lr
sideways-rl
sideways-lr
custom.styles
in <workspace>/data/widgets/custom.js
.Custom configuration files | Product |
---|---|
<workspace>/data/widgets/custom.js |
Theme feature configuration, which overwrites the corresponding value in file <workspace>/conf/appearance/themes/Dark+/style/module/config.js |
<workspace>/data/widgets/custom.css |
Themes share style configuration, which overwrites the corresponding value in file <workspace>/conf/appearance/themes/Dark+/style/module/config.css |
<workspace>/data/widgets/custom-light.css |
Theme light color style configuration, which overwrites the corresponding value in file <workspace>/conf/appearance/themes/Dark+/style/config/light.css |
<workspace>/data/widgets/custom-dark.css |
Theme dark config style configuration, which overwrites the corresponding value in file <workspace>/conf/appearance/themes/Dark+/style/color/dark.css |
custom.js
/**
* File Path
* <workspace>/data/widgets/custom.js
* Example function:
* Custom background image list
* The directory of the light background image in the example is <workspace>/data/snippets/images/background-light
* The directory of the dark background image in the example is <workspace>/data/snippets/images/background-dark
*
* Turn on the Copy current document full-text shortcut (Shift + Alt + C)
*/
export const config = {
theme: {
background: {
image: {
custom: {
random: false,
default: true,
landscape: { // Landscape background image
light: [
'/snippets/images/background-light/landscape-background-1.png',
'/snippets/images/background-light/landscape-background-2.png',
'/snippets/images/background-light/landscape-background-3.png',
'/snippets/images/background-light/landscape-background-4.png',
],
dark: [
'/snippets/images/background-dark/landscape-background-1.png',
'/snippets/images/background-dark/landscape-background-2.png',
'/snippets/images/background-dark/landscape-background-3.png',
'/snippets/images/background-dark/landscape-background-4.png',
],
},
portrait: { // Portrait background image
light: [
'/snippets/images/background-light/portrait-background-1.png',
'/snippets/images/background-light/portrait-background-2.png',
'/snippets/images/background-light/portrait-background-3.png',
'/snippets/images/background-light/portrait-background-4.png',
],
dark: [
'/snippets/images/background-dark/portrait-background-1.png',
'/snippets/images/background-dark/portrait-background-2.png',
'/snippets/images/background-dark/portrait-background-3.png',
'/snippets/images/background-dark/portrait-background-4.png',
],
},
},
},
},
},
}
export async function callback(config) {
config.theme.hotkeys.doc.copy.enable = true;
}
For more configuration items, see config.js.
custom.css
/**
* File Path
* <workspace>/data/widgets/custom.css
* Example function:
* Custom the blank line prompt text
*/
:root[data-theme-mode=light],
:root[data-theme-mode=dark] {
/* Blank line prompt */
--custom-empty-p: "这里是空的 (´・-・)ノ㊫";
--custom-empty-c: "这里是空的 (´・-・)ノ↹";
--custom-empty-t: "这里是空的 (´・-・)ノ☑";
--custom-empty-u: "这里是空的 (´・-・)ノ◉";
--custom-empty-o: "这里是空的 (´・-・)ノ①";
}
For more configuration items, see config.css.
The above example is equivalent to the following code snippet:
:root[data-theme-mode=light][data-light-theme="Dark+"],
:root[data-theme-mode=dark][data-dark-theme="Dark+"] {
/* Blank line prompt */
--custom-empty-p: "这里是空的 (´・-・)ノ㊫";
--custom-empty-c: "这里是空的 (´・-・)ノ↹";
--custom-empty-t: "这里是空的 (´・-・)ノ☑";
--custom-empty-u: "这里是空的 (´・-・)ノ◉";
--custom-empty-o: "这里是空的 (´・-・)ノ①";
}
Code snippets can be set in Siyuan Settings > Appearance > Code Snippet > CSS.
custom-light.css
/**
* File Path
* <workspace>/data/widgets/custom-light.css
* Example function:
* Custom default light theme background image
* The path of the light background image in the example is
* <workspace>/data/widgets/background-light.png
* <workspace>/data/widgets/background-light-dialog.png
*/
:root[data-theme-mode=light] {
/* default background image for light color theme */
--custom-background-image: url("/widgets/background-light.png");
/* default dialog background image for light color theme */
--custom-background-image-dialog: url("/widgets/background-light-dialog.png");
}
For more configuration items, see config.css and light.css.
The above example is equivalent to the following code snippet:
:root[data-theme-mode=light][data-light-theme="Dark+"] {
/* default background image for light color theme */
--custom-background-image: url("/widgets/background-light.png");
/* default dialog background image for light color theme */
--custom-background-image-dialog: url("/widgets/background-light-dialog.png");
}
Code snippets can be set in Siyuan Settings > Appearance > Code Snippet > CSS.
custom-dark.css
/**
* File Path
* <workspace>/data/widgets/custom-dark.css
* Example function:
* Custom default dark theme background image
* The path of the dark background image in the example is
* <workspace>/data/widgets/background-dark.png
* <workspace>/data/widgets/background-dark-dialog.png
*/
:root[data-theme-mode=dark] {
/* default background image for dark color theme */
--custom-background-image: url("/widgets/background-dark.png");
/* default dialog background image for dark color theme */
--custom-background-image-dialog: url("/widgets/background-dark-dialog.png");
}
For more configuration items, see config.css and dark.css.
The above example is equivalent to the following code snippet:
:root[data-theme-mode=dark][data-dark-theme="Dark+"] {
/* default background image for dark color theme */
--custom-background-image: url("/widgets/background-dark.png");
/* default dialog background image for dark color theme */
--custom-background-image-dialog: url("/widgets/background-dark-dialog.png");
}
Code snippets can be set in Siyuan Settings > Appearance > Code Snippet > CSS.
The theme has been put on the shelves at SiYuan community bazaar and can be installed directly in the Bazaar.
Download the release package in Releases, unzip it and place it in the <workspace>/conf/appearance/themes/
directory of SiYuan Note.
Author | Project | License |
---|---|---|
Achuan-2 | Achuan-2/siyuan-themes-tsundoku-dark: a editor theme for siyuan note | GPL-3.0 license |
roeseth | roeseth/Siyuan-Golden-Topaz-Refined: A ported Golen Topaz theme for Siyuan note with tweaks | Unknown |
Morganwan90 | Morganwan90/Lightblue-siyuan-theme | Unknown |
Crowds21 | Crowds21/Cliff-Light | Unknown |
Zhangwuji | 希望能够增加根据大纲生成思维导图的功能 | Unknown |
Morganwan90 | Morganwan90/Darkblue-siyuan-theme | Unknown |
leolee9086 | leolee9086/cc-baselib | Unknown |
UserZYF | UserZYF/zhang-light | Unknown |
langzhou | langzhou/siyuan-note | Unknown |
royc01 | royc01/notion-theme | Unknown |
shawroger | 思源笔记渲染 SQL 文档路径代码 - 链滴 | Unknown |
ps: Sort in no particular order.
Author | Project | License |
---|---|---|
Microsoft | microsoft/monaco-editor | MIT License |
eligrey | eligrey/FileSaver.js | MIT License |
ps: Sort by introduction time.