markdown主题

This commit is contained in:
Liu 宇阳
2024-11-04 14:55:58 +08:00
parent d310afb0ac
commit 4027769276
3 changed files with 78 additions and 187 deletions

View File

@@ -1,204 +1,96 @@
.markdown-body { .markdown-body {
color: #595959; pre {
font-size: 15px; margin: 15px 0;
font-family: -apple-system, system-ui, BlinkMacSystemFont, Helvetica Neue, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
// background-image: linear-gradient(90deg, rgba(60, 10, 30, 0.04) 3%, rgba(0, 0, 0, 0) 3%), linear-gradient(360deg, rgba(60, 10, 30, 0.04) 3%, rgba(0, 0, 0, 0) 3%);
// background-size: 20px 20px;
// background-position: center center;
}
/* 段落 */ code.hljs {
.markdown-body p { border-radius: 10px;
color: #595959; font-weight: 400;
font-size: 15px; }
line-height: 2; }
font-weight: 400;
}
/* 段落间距控制 */ h1,
.markdown-body p+p { h2,
margin-top: 16px; h3,
} h4,
h5,
h6 {
@apply text-black transition-colors;
}
/* 标题的通用设置 */ h1 {
.markdown-body h1, @apply text-2xl my-4 pb-3 border-b border-[#eee];
.markdown-body h2,
.markdown-body h3,
.markdown-body h4,
.markdown-body h5,
.markdown-body h6 {
padding: 30px 0;
margin: 0;
color: #135ce0;
}
/* 一级标题 */ &::before {
.markdown-body h1 { content: "✨️";
position: relative; @apply pr-3;
text-align: center; }
font-size: 32px; }
margin: 50px 0;
padding: 0;
}
/* 一级标题前缀,用来放背景图,支持透明度控制 */ h2 {
// .markdown-body h1:before { @apply relative text-lg my-4 pl-5;
// position: absolute;
// content: "";
// top: -10px;
// left: 50%;
// width: 32px;
// height: 32px;
// transform: translateX(-50%);
// background-size: 100% 100%;
// opacity: .36;
// background-repeat: no-repeat;
// background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABfVBMVEX///8Ad/8AgP8AgP8AgP8Aff8AgP8Af/8AgP8AVf8Af/8Af/8AgP8AgP8Af/8Afv8AAP8Afv8Afv8Aef8AgP8AdP8Afv8AgP8AgP8Acf8Ae/8AgP8Af/8AgP8Af/8Af/8AfP8Afv8AgP8Af/8Af/8Afv8Afv8AgP8Afv8AgP8Af/8Af/8AgP8AgP8Afv8AgP8Af/8AgP8AgP8AgP8Ae/8Afv8Af/8AgP8Af/8AgP8Af/8Af/8Aff8Af/8Abf8AgP8Af/8AgP8Af/8Af/8Afv8AgP8AgP8Afv8Afv8AgP8Af/8Aff8AgP8Afv8AgP8Aff8AgP8AfP8AgP8Ae/8AgP8Af/8AgP8AgP8AgP8Afv8AgP8AgP8AgP8Afv8AgP8AgP8AgP8AgP8AgP8Af/8AgP8Af/8Af/8Aev8Af/8AgP8Aff8Afv8AgP8AgP8AgP8Af/8AgP8Af/8Af/8AgP8Afv8AgP8AgP8AgP8AgP8Af/8AeP8Af/8Af/8Af//////rzEHnAAAAfXRSTlMAD7CCAivatxIDx5EMrP19AXdLEwgLR+6iCR/M0yLRzyFF7JupSXn8cw6v60Q0QeqzKtgeG237HMne850/6Qeq7QaZ+WdydHtj+OM3qENCMRYl1B3K2U7wnlWE/mhlirjkODa9FN/BF7/iNV/2kASNZpX1Wlf03C4stRGxgUPclqoAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4gEaBzgZ4yeM3AAAAT9JREFUOMvNUldbwkAQvCAqsSBoABE7asSOBRUVVBQNNuy9996789+9cMFAMHnVebmdm+/bmdtbQv4dOFOW2UjPzgFyLfo6nweKfIMOBYWwFtmMPGz2Yj2pJI0JDq3udJW6VVbmKa9I192VQFV1ktXUAl5NB0cd4KpnORqsEO2ZIRpF9gJfE9Dckqq0KuZt7UAH5+8EPF3spjsRpCeQNO/tA/qDwIDA+OCQbBoKA8NOdjMySgcZGVM6jwcgRuUiSs0nlPFNSrEpJfU0jTLD6llqbvKxei7OzvkFNQohi0vAsj81+MoqsCaoPOQFgus/1LyxichW+hS2JWCHZ7VlF9jb187pIAYcHiViHAMnp5mTjJ8B5xeEXF4B1ze/fTh/C0h398DDI9HB07O8ci+vRBdvdGnfP4gBuM8vw7X/G3wDmFhFZEdxzjMAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTgtMDEtMjZUMDc6NTY6MjUrMDE6MDA67pVWAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE4LTAxLTI2VDA3OjU2OjI1KzAxOjAwS7Mt6gAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAAWdEVYdFRpdGxlAGp1ZWppbl9sb2dvIGNvcHlxapmKAAAAV3pUWHRSYXcgcHJvZmlsZSB0eXBlIGlwdGMAAHic4/IMCHFWKCjKT8vMSeVSAAMjCy5jCxMjE0uTFAMTIESANMNkAyOzVCDL2NTIxMzEHMQHy4BIoEouAOoXEXTyQjWVAAAAAElFTkSuQmCC);
// }
/* 二级标题 */ &::before {
.markdown-body h2 { content: "";
position: relative; @apply absolute left-0 top-[50%] -translate-y-1/2 w-2 h-full bg-primary;
font-size: 20px; }
border-left: 4px solid; }
padding: 0 0 0 10px;
margin: 30px 0;
}
/* 三级标题 */ h3 {
.markdown-body h3 { @apply relative text-lg my-3 pl-5;
font-size: 16px;
}
/* 无序列表 */ &::before {
.markdown-body ul { content: "#";
list-style: disc outside; @apply absolute left-0 top-[50%] -translate-y-1/2 text-primary;
margin-left: 2em; }
margin-top: 1em; }
}
/* 无序列表内容 */ h4,
.markdown-body li { h5,
line-height: 2; h6 {
color: #595959; @apply relative text-lg my-3;
margin-bottom: 0; }
list-style: inherit;
}
.markdown-body img { hr {
max-width: 100%; @apply my-5 border-[#eee] transition-colors;
} }
/* 已加载图片 */ p code,
.markdown-body img.loaded { ul code {
margin: 0 auto; @apply bg-primary text-white rounded-md py-1 px-2 text-sm transition-colors;
display: block; }
}
/* 引用 */ li {
.markdown-body blockquote { @apply my-2.5;
background: #fff9f9; }
margin: 2em 0;
padding: 2px 20px;
border-left: 4px solid #b2aec5;
}
/* 引用文字 */ a {
.markdown-body blockquote p { @apply text-primary
color: #666; }
line-height: 2;
}
/* 链接 */ p {
.markdown-body a { @apply leading-9 mb-2;
color: #036aca;
border-bottom: 1px solid rgba(3, 106, 202, .8);
font-weight: 400;
text-decoration: none;
}
/* 加粗 */ img {
.markdown-body strong { // 图片模糊
color: #036aca; @apply rounded-xl cursor-pointer transition-all;
} }
}
/* 加粗斜体 */ strong {
.markdown-body em strong { @apply text-[15px];
color: #036aca; }
}
/* 分隔线 */ tr,
.markdown-body hr { th,
border-top: 1px solid #135ce0; td {
} @apply border p-[10px_20px];
}
/* 代码 */ input[type="checkbox"] {
.markdown-body pre { width: 16px;
overflow: auto; height: 16px;
} border-radius: 4px;
position: relative;
.markdown-body pre, cursor: not-allowed;
.markdown-body code { }
overflow: auto;
position: relative;
line-height: 1.75;
font-family: Menlo, Monaco, Consolas, Courier New, monospace;
}
.markdown-body pre>code {
font-size: 12px;
padding: 15px 12px;
margin: 0;
word-break: normal;
display: block;
overflow-x: auto;
color: #DCDCDC;
background: #1E1E1E;
border-radius: 5px;
}
.markdown-body code {
word-break: break-word;
border-radius: 2px;
overflow-x: auto;
background-color: #fff5f5;
color: #ff502c;
font-size: .87em;
padding: .065em .4em;
}
/* 表格 */
.markdown-body table {
border-collapse: collapse;
margin: 1rem 0;
overflow-x: auto;
}
.markdown-body table th,
.markdown-body table td {
border: 1px solid #dfe2e5;
padding: .6em 1em;
}
.markdown-body table tr {
border-top: 1px solid #dfe2e5;
}
.markdown-body table tr:nth-child(2n) {
background-color: #f6f8fa;
}
/*
From: icewolf-sec (御坂19008号)
Description: 新增HTML5 键盘文字标签样式
*/
.markdown-body kbd {
color: white;
background-color: #135ce0;
border: 1px solid #135ce0;
border-radius: 5px;
padding: 2px;
font-weight: bold;
margin: auto 5px auto;
font-size: small;
} }

View File

@@ -1,7 +1,7 @@
@import url(./editor.scss); @import url(./editor.scss);
.bytemd { .bytemd {
height: 700px; height: 80vh;
border: none; border: none;
.bytemd-toolbar { .bytemd-toolbar {

View File

@@ -1,5 +1,4 @@
import { useEffect, useState } from 'react' import { Editor } from '@bytemd/react'
import { Editor, Viewer } from '@bytemd/react'
import 'bytemd/dist/index.css' import 'bytemd/dist/index.css'
import highlight from '@bytemd/plugin-highlight' import highlight from '@bytemd/plugin-highlight'
import 'highlight.js/styles/vs2015.css'; import 'highlight.js/styles/vs2015.css';