blog-vue/shoka-blog/src/assets/styles/markdown.scss
@media (max-width: 567px) {

    .md h1,
    .md h2,
    .md h3,
    .md h4,
    .md h5,
    .md h6 {
        padding-left: 0.25rem;
    }
}

.md {
    font-family: Mulish, -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

.md img {
    width: 100%;
}

.md .links:last-child,
.md .tabs:last-child,
.md blockquote:last-child,
.md img:last-child,
.md ol:last-child,
.md pre:last-child,
.md table:last-child,
.md ul:last-child {
    margin-bottom: 0;
}

.md p {
    margin: 0 0 0.8rem;
}

.md a {
    color: var(--primary-color) !important;
}

.md a:hover {
    color: var(--color-blue) !important;
}

.md blockquote {
    padding: 10px 1rem !important;
    font-size: 90% !important;
    border-left: 0.2rem solid var(--grey-4) !important;
    border-left-color: var(--primary-color) !important;
    border-radius: 0.1875rem;
    background-color: var(--grey-2) !important;
    color: var(--grey-5) !important;
    word-wrap: break-word;
}

.md blockquote ul {
    margin: 0.625rem 0 !important;
}

.md blockquote ul li::before {
    width: 0.375rem !important;
    height: 0.375rem !important;
    top: 0.6875rem !important;
}

.md blockquote p {
    margin: 0 !important;
}

// 列表
.md dl,
.md ol,
.md ul {
    margin: 0 0 0.8em;
    padding: 0.1em 0.2em 0.1em 1.4em;
}

.md ol:not([start]) {
    counter-reset: counter;
}

.md ol>li::before {
    counter-increment: counter;
    content: counter(counter);
    position: absolute;
    width: 1.4em;
    height: 1.4em;
    border-radius: 50%;
    text-align: center;
    font-size: 0.8em;
    line-height: 1.4;
    top: 0.4em;
    left: -1.8em;
    background: var(--primary-color);
    color: var(--grey-1);
    cursor: pointer;
}

.md ol>li:hover::before {
    color: var(--grey-1);
    background: var(--color-pink);
}

.md li ul>li::before {
    background: var(--grey-1);
    border: 1px solid var(--primary-color);
}

.md li ol>li::before {
    content: counter(counter) ".";
    background: 0 0;
    color: var(--primary-color);
    font-size: 1em;
    line-height: 1;
}

.md li ol>li:hover::before {
    background: 0 0;
    color: var(--color-pink);
}

.md li {
    position: relative;
    margin: 0.2rem 0;
}

.md li:before {
    transition: all 0.2s ease-in-out 0s;
}

.md li p {
    margin: 0 0 0.5em;
}

.md dl dt {
    position: relative;
}

dt {
    font-weight: 700;
}

.md dl dd {
    padding-left: 0.9375em;
}

.md dl dt:hover::before,
.md ul>li:hover::before {
    background: var(--color-pink);
}

.md dl dt::before,
.md ul>li::before {
    content: "";
    position: absolute;
    width: 0.4em;
    height: 0.4em;
    background: var(--primary-color);
    border-radius: 50%;
    top: 0.75em;
    left: -1em;
}

// 表格
.md table:last-child {
    margin-bottom: 0;
}

.md table {
    border-collapse: collapse !important;
    border-spacing: 0;
    font-size: 0.875em;
    width: 100%;
    overflow: auto;
}

.md table th {
    font-weight: 700;
    padding-bottom: 0.625rem;
    text-align: center;
}

.md table td {
    border: 0.0625rem solid var(--grey-3);
    font-weight: 400;
    padding: 0.5rem;
    text-align: left;
    vertical-align: middle;
}

.md table tbody tr:hover {
    background: var(--grey-2);
}

// code样式
:not(pre)>code {
    color: var(--primary-color) !important;
    border-radius: 0.3rem !important;
    border: 0.0625rem solid rgba(0, 0, 0, .1);
    background-color: var(--grey-0) !important;
    padding: 0.2rem 0.3rem !important;
    word-wrap: break-word;
}

.md pre {
    position: relative;
    font-size: 85%;
    line-height: 1.45;
    color: #abb2bf;
    background: #282c34;
    margin-bottom: 1rem !important;
    padding: 3rem 1.5rem 1rem !important;
    border-radius: 5px !important;
    overflow: auto;
}

.v-md-pre-wrapper::after {
    position: absolute;
    top: 16px;
    left: 14px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fc625d;
    -webkit-box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
    box-shadow: 20px 0 #fdbc40, 40px 0 #35cd4b;
    content: ' ';
}

.md code {
    font-family: "consolas" !important;
    font-size: 0.9rem !important;
}

@media (max-width: 419px) {

    .v-md-pre-wrapper {
        margin: 0 !important;
        border-radius: 6px !important;
    }
}

@media (max-width: 767px) {
    .vuepress-markdown-body:not(.custom) {
        padding: 1.5rem 0.5rem !important;
    }
}

// 标记
.md mark {
    background-color: #dbfdad;
}

// 下划线
.md u {
    --line-color: var(--note-hover, var(--primary-color));
    text-decoration: none;
    text-decoration-style: wavy;
    text-decoration-line: underline;
    text-decoration-color: var(--line-color);
    border-bottom: none;
}

// 删除线
.md s {
    color: var(--grey-5);
    -webkit-text-decoration-color: var(--note-hover, var(--grey-5));
    text-decoration-color: var(--note-hover, var(--grey-5));
}

.md hr {
    margin: 20px auto;
    border: 2px dashed var(--primary-color) !important;
}

.vuepress-markdown-body {
    color: var(--text-color) !important;
    background: var(--grey-0) !important;
}

.vuepress-markdown-body tr:nth-child(2n) {
    background-color: var(--grey-2) !important;
}