diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..fba79e3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2024 yoghurtlee-thu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..d81d9d3 --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +

简体中文

+

Typora Theme - Marble

+

一款简约柔和的 Typora 主题

+
+
+ +## 简介 + +我一直很喜欢 Typora 的[Lapis主题](https://github.com/YiNNx/typora-theme-lapis),最近闲来无事时打开 Lapis 的 CSS 文件,把字体改成了我最喜欢的霞鹜文楷。突然想到,既然要改,那为什么不改得彻底一点? + +于是,鼓捣了一晚上之后,就有了这个主题。 + +我本身不会 CSS (是的你没听错,我完全不会 CSS),主题 CSS 文件基本上是对 Lapis 的魔改。而我本身很喜欢比较自然的配色,因此参考 Lapis(天青石),将这个主题命名为 Marble(大理石)。 + +## 预览 + +这里是一份预览图片。 + + + +## 特点 + +### 字体与配色 + +Marble 主题支持英文和简体中文,正文字体中文使用[霞鹜文楷](https://github.com/lxgw/LxgwWenKai),英文使用[Cantarell](https://fonts.google.com/specimen/Cantarell)。 + +Marble 主题采用自然柔和的主题配色。背景颜色为大理石色,文字颜色为深灰色,块元素的背景颜色为略深于背景的灰色。 + +### 代码块 + +代码字体使用 [Jetbrains Mono](https://www.jetbrains.com/lp/mono/)。代码块配色主要基于 Lapis 主题,使用了一些矿石的颜色进行修改,例如玫瑰石膏、青金石、蓝宝石、白垩石、黄铁矿和绿松石等。由于我并不熟悉前端开发加之审美水平有限,可能不是很好看,欢迎大家提出修改意见。 + +## 安装 + +目前主题在 [Github](https://github.com/yoghurtlee-thu/typora-theme-marble) 和 [Gitee](https://gitee.com/yoghurtlee-thu/typora-theme-marble) 均有开源,大家可以自行选择下载源。 + +1. Clone 此仓库,或从 Latest Release 中下载 `typora-theme-marble.zip`并解压。 +2. 打开 Typora 菜单的主题部分,点击“打开主题文件夹”按钮。 +3. 将 `marble.css` 文件和 `marble` 文件夹复制到 Typora 的主题文件夹中。 +4. 重启 Typora,然后从主题列表中选择 **Marble** 即可。 + +## To-Do List + +- [ ] 黑暗模式支持 +- [ ] 优化主题配色,更加真实地做出矿石的感觉 +- [ ] 优化代码配色 +- [ ] 参考其他优秀主题进行样式改良 +- [ ] 将主题提交至 Typora 主题商店 +- [ ] …… + +## 贡献 + +本主题最初仅供个人使用,主题样式基于作者个人的喜好进行调整;同时本主题完全基于 Windows 11 23H2 系统编写,未在其他系统进行测试,因此在 MacOS 和 Linux 上可能存在未知的样式问题。 + +由于作者暂时没有主题维护能力,因此对于出现的问题仅能保证尽力修复。若有社区大佬愿意出手相助,不胜感激(合十)。 + +欢迎您在 Github/Gitee 提出 Issue/Pull Request。您也可以通过邮件chlorine3545@163.com联系我,感谢您宝贵的意见和建议。 + +## 致谢 + +- 样式代码基于[YiNNx](https://github.com/YiNNx)的[Lapis主题](https://github.com/YiNNx/typora-theme-lapis)。 +- 中文字体采用好看的开源字体[霞鹜文楷 LXGW](https://github.com/lxgw/LxgwWenKai)。 +- 感谢 ChatGPT 和 Github Copilot 的鼎力相助(逃 + +## 许可 + +Marble 主题在 MIT License 下开源。[这里](https://github.com/YiNNx/typora-theme-lapis/blob/main/License)是原主题 Lapis 的 MIT License 地址。 diff --git a/imgs/img1.png b/imgs/img1.png new file mode 100644 index 0000000..5c7baac Binary files /dev/null and b/imgs/img1.png differ diff --git a/imgs/img1.webp b/imgs/img1.webp new file mode 100644 index 0000000..b757e2e Binary files /dev/null and b/imgs/img1.webp differ diff --git a/marble.css b/marble.css new file mode 100644 index 0000000..f6f36ad --- /dev/null +++ b/marble.css @@ -0,0 +1,922 @@ +/*Typora : Marble (: ʯ)| ַ: https://github.com/yoghurtlee-thu/typora-theme-marble https://gitee.com/yoghurtlee-thu/typora-theme-marble */ + +/*Typora Theme: Marble | https://github.com/yoghurtlee-thu/typora-theme-marble https://gitee.com/yoghurtlee-thu/typora-theme-marble */ + +:root { + --text-color: #2b353af5; + /* ıɫ Text */ + --primary-color: #000000; + /* ɫ Primary Color */ + --bg-color: #f8f8f8db; + --side-bar-bg-color: var(--bg-color); + /* ɫ Background */ + + --marker-color: #020101; + /* List Marker */ + --highlight-color: #ffffe0; + /* Highlight */ + --header-span-color: #A9A9A9; + /* H2 » h2 Span Color */ + --block-bg-color: #e8e8e8d0; + /* Ԫرɫ Block Background */ + --img-shadow-color: #e3e8f0; + + /* Overwrite of Typora Base Color */ + --search-hit-bg-color: var(--select-text-bg-color); + --search-select-bg-color: #1a1a1a; + --control-text-hover-color: #c4d2e7; + --rawblock-edit-panel-bd: var(--block-bg-color); + --item-hover-bg-color: rgb(246 248 250); + --active-file-bg-color: var(--block-bg-color); +} + +@media print { + :root { + --text-color: rgb(0, 0, 0); + } + + ::-webkit-scrollbar-thumb { + background-color: transparent !important; + } +} + +/* + * Cantarell, ϼĿ GB JetBrains Mono + * Font-face for Cantarell, LXGWWenKai GB and JetBrains Mono + */ + +@font-face { + font-family: "Cantarell"; + src: url('marble/Cantarell-VF-fixed.otf'); +} + +@font-face { + font-family: "JetBrainsMono"; + src: url('marble/JetBrainsMono-Regular.ttf'); +} + +@font-face { + font-family: "LXGWWenKaiGB"; + src: url('marble/LXGWWenKaiGB-Regular.ttf'); +} + +@font-face { + font-family: "LXGWWenKaiGB"; + src: url('marble/LXGWWenKaiGB-Bold.ttf'); + font-weight: bold; +} + +/* + * ʽ + * Basic Style + */ + +#write { + max-width: 950px; + font-size: 1.1rem; + color: var(--text-color); + line-height: 1.6; + word-spacing: 0px; + letter-spacing: 0px; + word-break: break-word; + word-wrap: break-word; + text-align: justify; + + font-family: 'Cantarell', 'LXGWWenKaiGB', 'JetBrainsMono'; + margin-bottom: 20rem; +} + +.searchpanel-search-option-btn { + position: absolute; + width: 24px; + height: 16px; + right: 5px; + top: 5px; + z-index: 99; + cursor: pointer; + margin-top: 1px; + padding: 1px; + border-radius: 3px; + line-height: 10px; + border: 1px solid #ddd; + border-color: var(--active-toggle-btn-color); +} + +#write strong { + color: var(--primary-color); + text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1); +} + +/* Link */ + +#write a { + color: var(--primary-color); +} + +#write .md-p a, +#write .md-heading a { + word-wrap: break-word; + text-decoration: underline solid; + margin: 2px; +} + +#write h2.md-heading a { + text-decoration: underline; + border-bottom: 0; + text-decoration-thickness: 1.2px; + text-underline-offset: 2px; +} + +[md-inline=url], +[md-inline=link]>.md-content, +[md-inline=image]>.md-meta { + word-break: break-all; + font-weight: normal; + font-family: 'JetBrainsMono'; + padding-left: 0.15rem; + padding-right: 0rem; + color: var(--marker-color); +} + + +/* + * Ŀ¼ + * TOC + */ + +.md-toc-content { + font-family: 'Cantarell', 'LXGWWenKaiGB'; +} + +.md-toc-content:empty:before { + color: var(--primary-color); +} + +#write div.md-toc-tooltip { + font-family: 'Cantarell', 'LXGWWenKaiGB'; + color: var(--primary-color); + position: static; + margin-top: 10px; + background-color: var(--block-bg-color); + line-height: 1.6rem; + padding: 0.3rem 0.75rem; + border-top: none; + border-radius: .5rem; +} + +.md-toc:focus .md-toc-content { + border-color: var(--bg-color); + margin: 9px -1px; + margin-top: 9px; +} + +.md-toc .md-toc-content { + border-color: var(--bg-color); + margin: 9px 0px; + margin-top: 8px; +} + + +/* mark */ + +mark { + background: var(--highlight-color); + padding: 1px .15rem; + border-radius: 1px; + color: inherit; +} + +/* + * + * Paragraph + */ + +#write+p, +#write blockquote p { + font-size: 1.1rem; + padding-top: .2rem; + padding-bottom: .2rem; + margin: 0; + line-height: 1.8rem; + color: var(--text-color); +} + +/* + * + * Header + */ + +#write h2, +#write h3, +#write h4, +#write h5, +#write h6 { + font-weight: strong; +} + +#write h1, +#write h2, +#write h3, +#write h4, +#write h5, +#write h6 { + font-family: 'Cantarell', 'LXGWWenKaiGB'; + padding: 0px; + color: var(--primary-color); +} + +#write h1 { + text-align: center; +} + +#write h2 { + color: var(--primary-color); + padding: 1px 0px; + display: inline-block; + background-image: linear-gradient(to left, transparent, var(--block-bg-color), transparent); + background-repeat: no-repeat; + background-size: 120% 1.2px; + background-position: center bottom; + /*һdzĽ»*/ +} + +#write h2 a { + color: var(--bg-color); + border-bottom-color: var(--bg-color) !important; +} + +#write h2 strong { + color: var(--bg-color); +} + +#write h2 code { + color: var(--bg-color); + background-color: var(--header-span-color); +} + +#write h1 { + font-size: 2.2em; +} + +#write h2 { + font-size: 2rem; +} + +#write h3 { + font-size: 1.8rem; +} + +#write h4 { + font-size: 1.6rem; +} + +#write h5 { + font-size: 1.4rem; +} + +#write h6 { + font-size: 1.2rem; +} + +#write h1 { + padding-top: 0.9rem; + margin-bottom: 1.6rem; +} + +#write h2 { + margin: 0.5em 0 0.5em; +} + +#write h3 { + margin: 0.45em 0 0.45em; +} + +#write h4 { + margin: 0.5em 0 0.5em; +} + +#write h5 { + margin: 0.5em 0 0.5em; +} + +#write h6 { + margin: 0.5em 0 0.5em; +} + +blockquote h3.md-focus:before, +blockquote h4.md-focus:before, +blockquote h5.md-focus:before, +blockquote h6.md-focus:before { + left: -1.3rem; +} + +/*Ϊ˷, 2~6ǰһС*/ + +#write h2::before { + content: "H2"; + vertical-align: super; + font-size: 0.35em; + margin-right: 0.4em; +} + +#write h3::before { + content: "H3"; + vertical-align: super; + font-size: 0.35em; + margin-right: 0.4em; +} + +#write h4::before { + content: "H4"; + vertical-align: super; + font-size: 0.35em; + margin-right: 0.4em; +} + +#write h5::before { + content: "H5"; + vertical-align: super; + font-size: 0.35em; + margin-right: 0.4em; +} + +#write h6::before { + content: "H6"; + vertical-align: super; + font-size: 0.35em; + margin-right: 0.4em; +} + +/* + * List + */ + +::marker { + font-weight: bold; + color: var(--marker-color); +} + +li.md-list-item { + margin: 0.5rem 0; +} + +#write ul, +#write ol { + margin-top: 8px; + margin-bottom: 8px; + padding-left: 20px; +} + +#write ul { + list-style-type: disc; +} + +#write em { + padding: 0 3px 0 0; +} + +#write ul ul { + list-style-type: square; +} + +#write ol { + list-style-type: decimal; +} + +#write li section { + margin-top: 5px; + margin-bottom: 5px; + line-height: 1.7rem; + text-align: justify; + color: var(--text-color); + font-weight: 500; +} + +/* + * + * Quote + */ +#write blockquote { + display: block; + font-size: .9em; + overflow: auto; + padding: 15px 30px 15px 42px; + margin-bottom: 20px; + margin-top: 20px; + background: var(--block-bg-color); + position: relative; +} + +#write blockquote::before { + content: ">"; + /*һС>*/ + font-size: 2.3em; + position: absolute; + left: 20px; + /* λ */ + top: 50%; + /* ʾ */ + transform: translateY(-55%); + /* ڴֱ */ + color: #E0E0E0; +} + +/* + * Inline code + */ + +#write code { + color: var(--primary-color); + font-size: 94%; + font-weight: normal; + word-wrap: break-word; + padding: 2px 4px 2px; + border-radius: 3px; + margin: 2px; + background-color: var(--block-bg-color); + font-family: 'JetBrainsMono'; + word-break: break-all; +} + +/* + * Img + */ + +#write img { + margin: 0 auto; + max-width: 100%; +} + +#write p>.md-image:only-child:not(.md-img-error) img, +#write p>img:only-child { + filter: drop-shadow(var(--img-shadow-color) 0px 6px 6px); + display: block; + margin: 0 auto; + padding: 1rem; +} + +/* + * Table + */ +#write table { + display: table; + text-align: justify; + overflow-x: auto; + border-collapse: collapse; + border-spacing: 0px; + font-size: 1em; + margin: 0px 0px 20px; + width: 100%; +} + +#write tbody { + border: 0; +} + +#write table tr { + border: 0; + border-top: 1px solid #ccc; +} + +#write table tr th, +#write table tr td { + font-size: 1rem; + border: 1px solid #d9dfe4; + padding: 5px 10px; + text-align: justify; +} + +#write table tr th { + font-family: LXGWWenKaiGB; + text-align: center; + min-width: 10rem; + font-weight: bold; + color: var(--primary-color); +} + +#write table tr td:hover, +#write table tr th:hover { + background-color: var(--block-bg-color); +} + +table td { + min-width: 32px; +} + +.md-table-resize-popover { + width: auto !important; +} + +/* Footnote */ + +sup.md-footnote { + background-color: var(--block-bg-color); + color: var(--primary-color); +} + +.md-def-name { + color: var(--primary-color); +} + +/* + * Math Script + */ + +.md-inline-math script { + color: var(--primary-color); +} + +.md-rawblock-control:not(.md-rawblock-tooltip) { + background: var(--bg-color); + color: var(--md-char-color); +} + + +.code-tooltip { + box-shadow: none; +} + +.md-rawblock-tooltip.md-rawblock-control { + border-radius: 1rem; +} + +.md-rawblock .md-rawblock-tooltip { + inset: auto 0.3rem auto auto; + transform: translateY(-120%); +} + +/* + * Comment + */ +.md-comment { + color: #a8a8a9; + opacity: 1; + font-family: 'JetBrainsMono'; +} + +/* + * Dividing line + */ +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1.4px solid; + border-image: linear-gradient(to right, transparent 10%, #D0DDE6 25%, #D0DDE6 75%, transparent 90%) 1; + border-radius: 2px; + /* ָ */ +} + +/* Checkbox */ + +#write input[type=checkbox] { + width: 0; +} + +.task-list-item input::before { + content: ""; + display: inline-block; + width: 1.0125rem; + height: 1.0125rem; + vertical-align: middle; + text-align: center; + border: 1px solid var(--marker-color); + border-radius: 1.2rem; + background-color: #fdfdfd; + margin-left: -0.1rem; + margin-right: 0.1rem; + margin-top: -.6rem; +} + +.task-list-item input:checked::before { + content: '???'; + font-weight: bold; + -webkit-text-stroke: 1px var(--primary-color); + color: var(--primary-color); + background-color: var(--bg-color); + font-size: 0.75rem; + line-height: 0.8rem; +} + +blockquote .task-list-item input::before { + margin-top: .2rem; +} + +/* + * Sidebar + */ +#typora-sidebar { + font-family: 'Cantarell', 'LXGWWenKaiGB'; + height: 100%; + color: var(--text-color); + font-size: 0.92rem; + background-color: var(--bg-color); +} + +#sidebar-content.sidebar-content { + margin-top: .5rem; +} + +.html-for-mac #write input[type=checkbox] { + margin-top: 0.65rem; +} + +.html-for-mac #write .task-list-item input::before { + margin-top: -.85rem; +} + + +/* + * Sidebar - FileNode + */ + +.active-tab-files #info-panel-tab-file .info-panel-tab-border, +.active-tab-outline #info-panel-tab-outline .info-panel-tab-border, +.ty-show-search #info-panel-tab-search .info-panel-tab-border { + border-radius: 10px; + height: 1px; + background-color: var(--primary-color); +} + +.file-node-content { + color: var(--primary-color); + line-height: 1.6rem; +} + +span.file-node-title-name-part { + color: var(--text-color); +} + +span.file-node-title-ext-part { + color: var(--text-color); +} + +.file-node-icon { + padding-right: 0.2rem; +} + +.file-tree-node.active>.file-node-background { + border-left: 4px solid var(--primary-color); + border-color: var(--primary-color); +} + +/* + * Sidebar - Outline + */ + +#outline-content { + height: 100%; + overflow-x: hidden; + line-height: 1.6rem; + font-size: .96rem; +} + +#outline-content .outline-active, +.pin-outline .outline-active { + color: var(--primary-color); +} + +.outline-item { + padding-left: 2em; +} + +.outline-item>.outline-expander:before { + transform: translateY(-1px) !important; +} + +/* Meta Block */ + +pre.md-meta-block { + font-family: 'JetBrainsMono'; + color: var(--primary-color); + background: #f6f8fa; + padding: 1.5rem; + margin: -37px 0rem 3.8rem; + filter: drop-shadow(var(--img-shadow-color) 0px 3px 3px); +} + +pre.md-fences-advanced.md-focus .md-fences-adv-panel { + border-radius: .8rem; +} + +/* + * Scrollbar + */ + +#outline-content::-webkit-scrollbar { + width: .5rem; +} + +#file-library::-webkit-scrollbar { + width: .5rem; +} + +::-webkit-scrollbar-track { + border-radius: 10px; +} + +::-webkit-scrollbar-thumb { + border-radius: 10px; + background: rgba(179, 179, 179, 0.425); +} + +::-webkit-scrollbar { + width: 1rem; +} + +/* + * + * Code Block - Style + */ + +.md-fences:before { + content: ' '; + display: block; + width: 100%; + background-size: 40px; + background-repeat: no-repeat; + background-color: #d9d9d9; + margin-bottom: -7px; + border-radius: 5px; + background-position: 10px 10px; +} + +.CodeMirror-wrap .CodeMirror-scroll { + overflow-x: auto; +} + +.md-fences .cm-s-inner.CodeMirror { + margin: 1.5rem 0; +} + +.cm-s-inner.CodeMirror { + padding: 1.2rem .8rem; + color: #4f5467; + font-family: 'JetBrainsMono'; + border-radius: 10px; + background-color: #f4f4f4; + line-height: 1.6rem; +} + +.CodeMirror-gutters { + border-right: 1px solid #a2b6d452; + background: inherit; + white-space: nowrap; +} + +pre.CodeMirror-line { + padding: 0 1.2rem; +} + +.CodeMirror-linenumber { + padding: 0 3px 0 5px; + text-align: right; + color: #3498db; +} + +/* ؼ - ʯ */ +.cm-s-inner .cm-keyword { + color: #87d4eb !important; +} + +/* - ɫ */ +.cm-s-inner .cm-operator { + color: #43464B !important; +} + +/* öͷļǩԡ - ˮ */ +.cm-s-inner .cm-variable, +.cm-s-inner .cm-builtin, +.cm-s-inner .cm-header, +.cm-s-inner .cm-tag, +.cm-s-inner .cm-property, +.cm-s-inner .cm-quote { + color: #9932CC !important; +} + +/* 2 - ʯ */ +.cm-s-inner .cm-variable-2 { + color: #30d5b1 !important; +} + +/* 3͡ԭ - ʯ */ +.cm-s-inner .cm-variable-3, +.cm-s-inner .cm-type, +.cm-s-inner .cm-atom { + color: #3c7ce3 !important; +} + +/* - õʯ */ +.cm-s-inner .cm-number { + color: #e5c0ff !important; +} + +/* 塢޶ - ʯ */ +.cm-s-inner .cm-def, +.cm-s-inner .cm-qualifier { + color: #1357a5c2 !important; +} + +/* ַ - */ +.cm-s-inner .cm-string { + color: #8B4513 !important; +} + +/* ַ2 - ʯ */ +.cm-s-inner .cm-string-2 { + color: #30D5C8 !important; +} + +/* ע - */ +.cm-s-inner .cm-comment { + color: #C0C0C0 !important; +} + +/* Ԫ - ɫ */ +.cm-s-inner .cm-meta { + color: #B8860B !important; +} + +/* - ˮ */ +.cm-s-inner .cm-attribute { + color: #9932CC !important; +} + +/* - õ */ +.cm-s-inner .cm-error { + color: #FFFFFF !important; + background-color: #D02537 !important; +} + +/* ƥ - ʯ */ +.cm-s-inner .CodeMirror-matchingbracket { + text-decoration: underline; + color: #ffffffc3 !important; +} + +.CodeMirror div.CodeMirror-cursor { + border-left: 1px solid #3498db; + z-index: 3; +} + +.cm-s-inner div.CodeMirror-selected { + background: rgba(52, 152, 219, 0.2) !important; +} + +.cm-s-inner.CodeMirror-focused div.CodeMirror-selected { + background: rgba(52, 152, 219, 0.2) !important; +} + +.cm-s-inner .CodeMirror-selected, +.cm-s-inner .CodeMirror-selectedtext { + background-color: rgba(52, 152, 219, 0.0) !important; +} + +.cm-s-inner .CodeMirror-line::-moz-selection, +.cm-s-inner .CodeMirror-line>span::-moz-selection, +.cm-s-inner .CodeMirror-line>span>span::-moz-selection { + background-color: rgba(52, 152, 219, 0.2); +} + +.cm-s-inner .CodeMirror-line::selection, +.cm-s-inner .CodeMirror-line>span::selection, +.cm-s-inner .CodeMirror-line>span>span::selection { + background-color: rgba(52, 152, 219, 0.2); +} + +.md-rawblock .md-rawblock-tooltip { + inset: auto 0.3rem auto auto; + transform: translateY(-120%); +} + +.megamenu-menu-header { + border: none; + color: var(--text-color); +} + +.megamenu-menu-header #megamenu-back-btn, +.megamenu-menu-header .megamenu-menu-header-title-back, +.megamenu-menu-header .megamenu-menu-header-title-menu { + color: var(--text-color); +} + +.megamenu-menu { + background-color: var(--bg-color); + color: var(--text-color); + box-shadow: none !important; +} + +header, +#megamenu-content { + background-color: var(--bg-color); + background-image: none !important; +} + +.md-search-hit { + background-color: var(--search-hit-bg-color); +} + +#recent-file-panel tbody tr:nth-child(2n-1) { + background-color: var(--recent-file-panel-n-bg-color); + color: var(--recent-file-panel-n-color); +} \ No newline at end of file diff --git a/marble/Cantarell-VF-fixed.otf b/marble/Cantarell-VF-fixed.otf new file mode 100644 index 0000000..f31dd7f Binary files /dev/null and b/marble/Cantarell-VF-fixed.otf differ diff --git a/marble/JetBrainsMono-Regular.ttf b/marble/JetBrainsMono-Regular.ttf new file mode 100644 index 0000000..dff66cc Binary files /dev/null and b/marble/JetBrainsMono-Regular.ttf differ diff --git a/marble/LXGWWenKaiGB-Bold.ttf b/marble/LXGWWenKaiGB-Bold.ttf new file mode 100644 index 0000000..8f62832 Binary files /dev/null and b/marble/LXGWWenKaiGB-Bold.ttf differ diff --git a/marble/LXGWWenKaiGB-Light.ttf b/marble/LXGWWenKaiGB-Light.ttf new file mode 100644 index 0000000..1c02f3d Binary files /dev/null and b/marble/LXGWWenKaiGB-Light.ttf differ diff --git a/marble/LXGWWenKaiGB-Regular.ttf b/marble/LXGWWenKaiGB-Regular.ttf new file mode 100644 index 0000000..db25588 Binary files /dev/null and b/marble/LXGWWenKaiGB-Regular.ttf differ diff --git a/marble_demo.md b/marble_demo.md new file mode 100644 index 0000000..450016b --- /dev/null +++ b/marble_demo.md @@ -0,0 +1,63 @@ +[TOC] + +# Typora Theme - Marble + +## 主题特点 + +- 采用**自然矿石色系配色**,视觉效果柔和。[^1] +- 字体较为美观 + - 采用*霞鹜文楷*取代~~思源宋体~~作为中文字体,英文使用[Cantarell](https://fonts.google.com/specimen/Cantarell)字体。 + - 代码字体使用 ==Jetbrains Mono==。链接:https://www.jetbrains.com/lp/mono/ + + +[^1]:脚注:我们在代码注释中列出了一些元素的配色来源。 + +--- + +> 下面是其他的样式演示: + +对于`main()`一类的行内代码和$\mathrm{e}^{\mathrm{i} \pi} + 1 = 0$一类的行内公式,Marble 有良好的渲染。公式块和代码块也是如此。 + +### 公式块 + +$$ +\Gamma (z) := \int _{0} ^{+ \infty} x^{z - 1} \mathrm{e} ^ {-x} \mathrm{d}x,\mathrm{Re}(z) > 0. +$$ + + + +### 代码块 + +```c++ +#include // 引入头文件 +using namespace std; + +int main() +{ + cout << "hello world!" << endl; + return 0; +} +``` + +### 表格 + +| 编程语言 | 类型 | 发布年份 | 主要用途 | 代码示例 | +| ---------- | ------ | -------- | ------------------ | -------------------------------------- | +| Python | 解释型 | 1991 | 通用编程、数据科学 | `print("Hello, World!")` | +| Java | 编译型 | 1995 | 跨平台应用开发 | `System.out.println("Hello, World!");` | +| C++ | 编译型 | 1983 | 系统编程、游戏开发 | `cout << "Hello, World!" << endl;` | +| JavaScript | 解释型 | 1995 | 前端开发、后端开发 | `console.log("Hello, World!");` | +| Ruby | 解释型 | 1995 | Web开发、脚本编程 | `puts "Hello, World!"` | +| Swift | 编译型 | 2014 | iOS/macOS应用开发 | `print("Hello, World!")` | + +### 图像 + +![IMG-收集一些最近发现的网站-20240128120132107](../Obsidian/%E9%85%8D%E5%A5%97%E6%96%87%E4%BB%B6%E5%A4%B9/Attachments/blog&%E9%9A%8F%E7%AC%94/%E6%B5%AE%E7%94%9F%E6%95%A3%E8%AE%B0/%E5%8D%9A%E5%AE%A2%E5%91%A8%E5%88%8A/%E6%94%B6%E9%9B%86%E4%B8%80%E4%BA%9B%E6%9C%80%E8%BF%91%E5%8F%91%E7%8E%B0%E7%9A%84%E7%BD%91%E7%AB%99/IMG-%E6%94%B6%E9%9B%86%E4%B8%80%E4%BA%9B%E6%9C%80%E8%BF%91%E5%8F%91%E7%8E%B0%E7%9A%84%E7%BD%91%E7%AB%99-20240128120132107.webp) + +1. Marble 的意思是大理石,这个词概括了主题的风格,也致敬了原本的 Lapis 主题。 +2. 但是我们的主题还有需要改进的地方。 + +- [ ] 对黑暗模式的支持 +- [ ] 样式的进一步改良 +- [ ] 向 Typora 主题商店提交这一主题 +- [ ] ……