完成帮助中心的改造

This commit is contained in:
chenjinyang
2026-01-26 13:49:43 +08:00
parent c878dc19d7
commit 4dd824d296
34 changed files with 1471 additions and 44 deletions

View File

@@ -0,0 +1,218 @@
const baiduCode = require('./config/baiduCode.js'); // 百度统计hm码
const htmlModules = require('./config/htmlModules.js');
module.exports = {
theme: 'vdoing', // 使用依赖包主题
// theme: require.resolve('../../vdoing'), // 使用本地主题 (先将vdoing主题文件下载到本地https://github.com/xugaoyi/vuepress-theme-vdoing)
title: "vuepress-theme-vdoing",
description: '一个基于VuePress的 知识管理&博客 主题',
// base: '/', // 默认'/'。如果你想将你的网站部署到如 https://foo.github.io/bar/,那么 base 应该被设置成 "/bar/",(否则页面将失去样式等文件)
base: '/help-center/vuepress-theme-vdoing-doc/docs/.vuepress/dist/',
theme: 'vdoing',
title: "经创HIS系统操作手册",
head: [ // 注入到页面<head> 中的标签,格式[tagName, { attrName: attrValue }, innerHTML?]
['link', { rel: 'icon', href: '/img/favicon.ico' }], //favicons资源放在public文件夹
['meta', { name: 'keywords', content: 'vuepress,theme,blog,vdoing' }],
['meta', { name: 'theme-color', content: '#11a8cd' }], // 移动浏览器主题颜色
// ['meta', { name: 'wwads-cn-verify', content: '6c4b761a28b734fe93831e3fb400ce87' }], // 广告相关,你可以去掉
// ['script', { src: 'https://cdn.wwads.cn/js/makemoney.js', type: 'text/javascript' }], // 广告相关,你可以去掉
],
// 排除特定目录不被打包
patterns: [
'**/*.md',
],
// 注意patterns 配置只影响 Markdown 文件,不影响 public 目录中的静态资源
// 主题配置
themeConfig: {
nav: [
// { text: '首页', link: '/' },
// {
// text: '指南', link: '/pages/a2f161/', items: [
// { text: '主题初衷与诞生', link: '/pages/52d5c3/' },
// { text: '介绍', link: '/pages/a2f161/' },
// { text: '快速上手', link: '/pages/793dcb/' },
// { text: '目录结构', link: '/pages/2f674a/' },
// { text: '核心配置和约定', link: '/pages/33d574/' },
// { text: '自动生成front matter', link: '/pages/088c16/' },
// { text: 'Markdown 容器', link: '/pages/d0d7eb/' },
// { text: 'Markdown 中使用组件', link: '/pages/197691/' },
// {
// text: '相关文章', items: [
// { text: '使目录栏支持h2~h6标题', link: '/pages/8dfab5/' },
// { text: '如何让你的笔记更有表现力', link: '/pages/dd027d/' },
// { text: '批量操作front matter工具', link: '/pages/2b8e22/' },
// { text: '部署', link: '/pages/0fc1d2/' },
// { text: '关于写文章和H1标题', link: '/pages/9ae0bd/' },
// { text: '关于博客搭建与管理', link: '/pages/26997d/' },
// { text: '在线编辑和新增文章的方法', link: '/pages/c5a54d/' },
// ]
// }
// ]
// },
// {
// text: '配置', link: '/pages/a20ce8/', items: [
// { text: '主题配置', link: '/pages/a20ce8/' },
// { text: '首页配置', link: '/pages/f14bdb/' },
// { text: 'front matter配置', link: '/pages/3216b0/' },
// { text: '目录页配置', link: '/pages/54651a/' },
// { text: '添加摘要', link: '/pages/1cc523/' },
// { text: '修改主题颜色和样式', link: '/pages/f51918/' },
// { text: '评论栏', link: '/pages/ce175c/' },
// ]
// },
// { text: '资源', link: '/pages/db78e2/' },
// { text: '案例', link: '/pages/5d571c/' },
// { text: '问答', link: '/pages/9cc27d/' },
// { text: '赞助', link: '/pages/1b12ed/' },
{ text: 'HIS', link: '/pages/520e67/' },
],
sidebarDepth: 2, // 侧边栏显示深度默认1最大2显示到h3标题
logo: '/img/logo.png', // 导航栏logo
// repo: 'xugaoyi/vuepress-theme-vdoing', // 导航栏右侧生成Github链接
searchMaxSuggestions: 10, // 搜索结果显示最大数
// lastUpdated: '上次更新', // 更新的时间,及前缀文字 string | boolean (取值为git提交时间)
// docsDir: 'docs', // 编辑的文件夹
// editLinks: true, // 编辑链接
// editLinkText: '编辑',
// 以下配置是Vdoing主题改动的和新增的配置
sidebar: { mode: 'structuring', collapsable: false }, // 侧边栏 'structuring' | { mode: 'structuring', collapsable: Boolean} | 'auto' | 自定义 温馨提示:目录页数据依赖于结构化的侧边栏数据,如果你不设置为'structuring',将无法使用目录页
// sidebarOpen: false, // 初始状态是否打开侧边栏默认true
updateBar: { // 最近更新栏
showToArticle: false, // 显示到文章页底部默认true
// moreArticle: '/archives' // “更多文章”跳转的页面,默认'/archives'
},
// titleBadge: false, // 文章标题前的图标是否显示默认true
// titleBadgeIcons: [ // 文章标题前图标的地址,默认主题内置图标
// '图标地址1',
// '图标地址2'
// ],
pageStyle: 'line', // 页面风格,可选值:'card'卡片 | 'line' 线未设置bodyBgImg时才生效 默认'card'。 说明card时背景显示灰色衬托出卡片样式line时背景显示纯色并且部分模块带线条边框
// contentBgStyle: 1,
category: false, // 是否打开分类功能默认true。 如打开会做的事情有1. 自动生成的frontmatter包含分类字段 2.页面中显示与分类相关的信息和模块 3.自动生成分类页面(在@pages文件夹。如关闭则反之。
tag: false, // 是否打开标签功能默认true。 如打开会做的事情有1. 自动生成的frontmatter包含标签字段 2.页面中显示与标签相关的信息和模块 3.自动生成标签页面(在@pages文件夹。如关闭则反之。
// archive: false, // 是否打开归档功能默认true。 如打开会做的事情有1.自动生成归档页面(在@pages文件夹。如关闭则反之。
author: { // 文章默认的作者信息可在md文件中单独配置此信息 String | {name: String, href: String}
name: 'JinYang Chen', // 必需
// href: 'https://github.com/xugaoyi' // 可选的
},
social: { // 社交图标,显示于博主信息栏和页脚栏
// iconfontCssFile: '//at.alicdn.com/t/font_1678482_u4nrnp8xp6g.css', // 可选阿里图标库在线css文件地址对于主题没有的图标可自由添加
// icons: [
// {
// iconClass: 'icon-youjian',
// title: '发邮件',
// link: 'mailto:894072666@qq.com'
// },
// {
// iconClass: 'icon-github',
// title: 'GitHub',
// link: 'https://github.com/xugaoyi'
// },
// {
// iconClass: 'icon-erji',
// title: '听音乐',
// link: 'https://music.163.com/#/playlist?id=755597173'
// }
// ]
// },
footer: { // 页脚信息
createYear: 2019, // 博客创建年份
copyrightInfo: 'Evan Xu | MIT License', // 博客版权信息支持a标签
},
htmlModules,
},
// 插件
plugins: [
// [require('./plugins/love-me'), { // 鼠标点击爱心特效
// color: '#11a8cd', // 爱心颜色,默认随机色
// excludeClassName: 'theme-vdoing-content' // 要排除元素的class, 默认空''
// }],
['fulltext-search'], // 全文搜索
// ['thirdparty-search', { // 可以添加第三方搜索链接的搜索框(原官方搜索框的参数仍可用)
// thirdparty: [ // 可选,默认 []
// {
// title: '在GitHub中搜索',
// frontUrl: 'https://github.com/search?q=', // 搜索链接的前面部分
// behindUrl: '' // 搜索链接的后面部分,可选,默认 ''
// },
// {
// title: '在npm中搜索',
// frontUrl: 'https://www.npmjs.com/search?q=',
// },
// {
// title: '在Bing中搜索',
// frontUrl: 'https://cn.bing.com/search?q='
// }
// ]
// }],
[
'vuepress-plugin-baidu-tongji', // 百度统计
{
hm: baiduCode || '01293bffa6c3962016c08ba685c79d78'
}
],
['one-click-copy', { // 代码块复制按钮
copySelector: ['div[class*="language-"] pre', 'div[class*="aside-code"] aside'], // String or Array
copyMessage: '复制成功', // default is 'Copy successfully and then paste it for use.'
duration: 1000, // prompt message display time.
showInMobile: false // whether to display on the mobile side, default: false.
}],
['demo-block', { // demo演示模块 https://github.com/xiguaxigua/vuepress-plugin-demo-block
settings: {
// jsLib: ['http://xxx'], // 在线示例(jsfiddle, codepen)中的js依赖
// cssLib: ['http://xxx'], // 在线示例中的css依赖
// vue: 'https://jsd.cdn.zzko.cn/npm/vue/dist/vue.min.js', // 在线示例中的vue依赖
jsfiddle: false, // 是否显示 jsfiddle 链接
codepen: true, // 是否显示 codepen 链接
horizontal: false // 是否展示为横向样式
}
}],
[
'vuepress-plugin-zooming', // 放大图片
{
selector: '.theme-vdoing-content img:not(.no-zoom)',
options: {
bgColor: 'rgba(0,0,0,0.6)'
},
},
],
[
'@vuepress/last-updated', // "上次更新"时间格式
{
transformer: (timestamp, lang) => {
const dayjs = require('dayjs') // https://day.js.org/
return dayjs(timestamp).format('YYYY/MM/DD, HH:mm:ss')
},
}
]
],
markdown: {
// lineNumbers: true,
extractHeaders: ['h2', 'h3', 'h4', 'h5', 'h6'], // 提取标题到侧边栏的级别,默认['h2', 'h3']
},
// 监听文件变化并重新构建
extraWatchFiles: [
'.vuepress/config.js',
'.vuepress/config/htmlModules.js',
]
}
}

View File

@@ -0,0 +1,79 @@
/** 插入自定义html模块 (可用于插入广告模块等)
* {
* homeSidebarB: htmlString, 首页侧边栏底部
*
* sidebarT: htmlString, 全局左侧边栏顶部
* sidebarB: htmlString, 全局左侧边栏底部
*
* pageT: htmlString, 全局页面顶部
* pageB: htmlString, 全局页面底部
* pageTshowMode: string, 页面顶部-显示方式:未配置默认全局;'article' => 仅文章页①; 'custom' => 仅自定义页①
* pageBshowMode: string, 页面底部-显示方式:未配置默认全局;'article' => 仅文章页①; 'custom' => 仅自定义页①
*
* windowLB: htmlString, 全局左下角②
* windowRB: htmlString, 全局右下角②
* }
*
* ①注:在.md文件front matter配置`article: false`的页面是自定义页,未配置的默认是文章页(首页除外)。
* ②注windowLB 和 windowRB1.展示区块最大宽高200px*400px。2.请给自定义元素定一个不超过200px*400px的宽高。3.在屏幕宽度小于960px时无论如何都不会显示。
*/
module.exports = {
// 万维广告
pageT: `
<div class="wwads-cn wwads-horizontal page-wwads" data-id="136"></div>
<style>
.page-wwads{
width:100%!important;
min-height: 0;
margin: 0;
}
.page-wwads .wwads-img img{
width:80px!important;
}
.page-wwads .wwads-poweredby{
width: 40px;
position: absolute;
right: 25px;
bottom: 3px;
}
.wwads-content .wwads-text, .page-wwads .wwads-text{
height: 100%;
padding-top: 5px;
display: block;
}
</style>
`,
// 赞助商广告
sidebarT: `
<a href="http://apifox.cn/a103xugaoyi" target="_blank">
<img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/blog-gitalk-comment@master/img/431669861564_.2470ykdcpbds.jpg" alt="npm" class="no-zoom" style="width: 100%;border-radius: 2px;">
<p style="text-align: center;margin: 0;color: #999;font-size: 12px;">(进入注册为作者充电)</p>
</a>`,
// windowRB: `
// <div class="wwads-cn wwads-vertical windowRB" data-id="136" style="max-width:160px;
// min-width: auto;min-height:auto;"></div>
// <style>
// .windowRB{ padding: 0;}
// .windowRB .wwads-img{margin-top: 10px;}
// .windowRB .wwads-content{margin: 0 10px 10px 10px;}
// .custom-html-window-rb .close-but{
// display: none;
// }
// </style>
// `
}
// module.exports = {
// homeSidebarB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// sidebarT: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// sidebarB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// pageT: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// pageB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// windowLB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// windowRB: `<div style="width:100%;height:100px;color:#fff;background: #eee;">自定义模块测试</div>`,
// }

View File

@@ -0,0 +1,59 @@
/**
* to主题使用者你可以去掉本文件的所有代码
*/
export default ({
Vue, // VuePress 正在使用的 Vue 构造函数
options, // 附加到根实例的一些选项
router, // 当前应用的路由实例
siteData, // 站点元数据
isServer // 当前应用配置是处于 服务端渲染 还是 客户端
}) => {
// 用于监控在路由变化时检查广告拦截器 (to主题使用者你可以去掉本文件的所有代码)
if (!isServer) {
router.afterEach(() => {
//check if wwads' fire function was blocked after document is ready with 3s timeout (waiting the ad loading)
docReady(function () {
setTimeout(function () {
if (window._AdBlockInit === undefined) {
ABDetected();
}
}, 3000);
});
// 删除事件改为隐藏事件
setTimeout(() => {
const pageAD = document.querySelector('.page-wwads');
if (!pageAD) return;
const btnEl = pageAD.querySelector('.wwads-hide');
if (btnEl) {
btnEl.onclick = () => {
pageAD.style.display = 'none';
}
}
// 显示广告模块
if (pageAD.style.display === 'none') {
pageAD.style.display = 'flex';
}
}, 900);
})
}
}
function ABDetected() {
const h = "<style>.wwads-horizontal,.wwads-vertical{background-color:#f4f8fa;padding:5px;min-height:120px;margin-top:20px;box-sizing:border-box;border-radius:3px;font-family:sans-serif;display:flex;min-width:150px;position:relative;overflow:hidden;}.wwads-horizontal{flex-wrap:wrap;justify-content:center}.wwads-vertical{flex-direction:column;align-items:center;padding-bottom:32px}.wwads-horizontal a,.wwads-vertical a{text-decoration:none}.wwads-horizontal .wwads-img,.wwads-vertical .wwads-img{margin:5px}.wwads-horizontal .wwads-content,.wwads-vertical .wwads-content{margin:5px}.wwads-horizontal .wwads-content{flex:130px}.wwads-vertical .wwads-content{margin-top:10px}.wwads-horizontal .wwads-text,.wwads-content .wwads-text{font-size:14px;line-height:1.4;color:#0e1011;-webkit-font-smoothing:antialiased}.wwads-horizontal .wwads-poweredby,.wwads-vertical .wwads-poweredby{display:block;font-size:11px;color:#a6b7bf;margin-top:1em}.wwads-vertical .wwads-poweredby{position:absolute;left:10px;bottom:10px}.wwads-horizontal .wwads-poweredby span,.wwads-vertical .wwads-poweredby span{transition:all 0.2s ease-in-out;margin-left:-1em}.wwads-horizontal .wwads-poweredby span:first-child,.wwads-vertical .wwads-poweredby span:first-child{opacity:0}.wwads-horizontal:hover .wwads-poweredby span,.wwads-vertical:hover .wwads-poweredby span{opacity:1;margin-left:0}.wwads-horizontal .wwads-hide,.wwads-vertical .wwads-hide{position:absolute;right:-23px;bottom:-23px;width:46px;height:46px;border-radius:23px;transition:all 0.3s ease-in-out;cursor:pointer;}.wwads-horizontal .wwads-hide:hover,.wwads-vertical .wwads-hide:hover{background:rgb(0 0 0 /0.05)}.wwads-horizontal .wwads-hide svg,.wwads-vertical .wwads-hide svg{position:absolute;left:10px;top:10px;fill:#a6b7bf}.wwads-horizontal .wwads-hide:hover svg,.wwads-vertical .wwads-hide:hover svg{fill:#3E4546}</style><a href='https://wwads.cn/page/whitelist-wwads' class='wwads-img' target='_blank' rel='nofollow'><img src='https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store@master/blog/wwads.2a3pidhlh4ys.webp' width='130'></a><div class='wwads-content'><a href='https://wwads.cn/page/whitelist-wwads' class='wwads-text' target='_blank' rel='nofollow'>为了本站的长期运营,请将我们的网站加入广告拦截器的白名单,感谢您的支持!<span style='color: #11a8cd'>如何添加白名单?</span></a><a href='https://wwads.cn/page/end-user-privacy' class='wwads-poweredby' title='万维广告 让广告更优雅,且有用' target='_blank'><span>广告</span></a></div><a class='wwads-hide' onclick='parentNode.remove()' title='隐藏广告'><svg xmlns='http://www.w3.org/2000/svg' width='6' height='7'><path d='M.879.672L3 2.793 5.121.672a.5.5 0 11.707.707L3.708 3.5l2.12 2.121a.5.5 0 11-.707.707l-2.12-2.12-2.122 2.12a.5.5 0 11-.707-.707l2.121-2.12L.172 1.378A.5.5 0 01.879.672z'></path></svg></a>";
const wwadsEl = document.getElementsByClassName("wwads-cn");
const wwadsContentEl = document.querySelector('.wwads-content');
if (wwadsEl[0] && !wwadsContentEl) {
wwadsEl[0].innerHTML = h;
}
};
//check document ready
function docReady(t) {
"complete" === document.readyState ||
"interactive" === document.readyState
? setTimeout(t, 1)
: document.addEventListener("DOMContentLoaded", t);
}

View File

@@ -0,0 +1,12 @@
const path= require('path');
const LoveMyPlugin = (options={}) => ({
define () {
const COLOR = options.color || "rgb(" + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + ")"
const EXCLUDECLASS = options.excludeClassName || ''
return {COLOR, EXCLUDECLASS}
},
enhanceAppFiles: [
path.resolve(__dirname, 'love-me.js')
]
});
module.exports = LoveMyPlugin;

View File

@@ -0,0 +1,62 @@
export default () => {
if (typeof window !== "undefined") {
(function(e, t, a) {
function r() {
for (var e = 0; e < s.length; e++) s[e].alpha <= 0 ? (t.body.removeChild(s[e].el), s.splice(e, 1)) : (s[e].y--, s[e].scale += .004, s[e].alpha -= .013, s[e].el.style.cssText = "left:" + s[e].x + "px;top:" + s[e].y + "px;opacity:" + s[e].alpha + ";transform:scale(" + s[e].scale + "," + s[e].scale + ") rotate(45deg);background:" + s[e].color + ";z-index:99999");
requestAnimationFrame(r)
}
function n() {
var t = "function" == typeof e.onclick && e.onclick;
e.onclick = function(e) {
// 过滤指定元素
let mark = true;
EXCLUDECLASS && e.path && e.path.forEach((item) =>{
if(item.nodeType === 1) {
typeof item.className === 'string' && item.className.indexOf(EXCLUDECLASS) > -1 ? mark = false : ''
}
})
if(mark) {
t && t(),
o(e)
}
}
}
function o(e) {
var a = t.createElement("div");
a.className = "heart",
s.push({
el: a,
x: e.clientX - 5,
y: e.clientY - 5,
scale: 1,
alpha: 1,
color: COLOR
}),
t.body.appendChild(a)
}
function i(e) {
var a = t.createElement("style");
a.type = "text/css";
try {
a.appendChild(t.createTextNode(e))
} catch(t) {
a.styleSheet.cssText = e
}
t.getElementsByTagName("head")[0].appendChild(a)
}
// function c() {
// return "rgb(" + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + "," + ~~ (255 * Math.random()) + ")"
// }
var s = [];
e.requestAnimationFrame = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame ||
function(e) {
setTimeout(e, 1e3 / 60)
},
i(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),
n(),
r()
})(window, document)
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -0,0 +1,126 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta
name="viewport"
content="width=device-width, initial-scale=1.0"
>
<meta
http-equiv="X-UA-Compatible"
content="ie=edge"
>
<title>Markmap</title>
<style>
* {
margin: 0;
padding: 0;
}
#mindmap {
display: block;
width: 100vw;
height: 100vh;
}
</style>
</head>
<body>
<svg id="mindmap"></svg>
<script src="https://jsd.cdn.zzko.cn/npm/d3@5"></script>
<script src="https://jsd.cdn.zzko.cn/npm/markmap-lib@0.8.0/dist/browser/view.min.js"></script>
<script>
((a, t, e, n) => {
const {
Markmap: s,
loadPlugins: o
} = window.markmap;
(t ? t(o, e, n) : Promise.resolve()).then(() => {
window.mm = s.create("svg#mindmap", null, a)
})
})({
"t": "heading",
"d": 1,
"p": {},
"v": "markmap-lib",
"c": [{
"t": "heading",
"d": 2,
"p": {},
"v": "Links",
"c": [{
"t": "list_item",
"d": 3,
"p": {},
"v": "<a href=\"https://markmap.js.org/\" target=\"_blank\" rel=\"noopener noreferrer\">https://markmap.js.org/</a>"
}, {
"t": "list_item",
"d": 3,
"p": {},
"v": "<a href=\"https://github.com/gera2ld/markmap-lib\" title=\"\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub</a>"
}]
}, {
"t": "heading",
"d": 2,
"p": {},
"v": "Related",
"c": [{
"t": "list_item",
"d": 3,
"p": {},
"v": "<a href=\"https://github.com/gera2ld/coc-markmap\" title=\"\" target=\"_blank\" rel=\"noopener noreferrer\">coc-markmap</a>"
}, {
"t": "list_item",
"d": 3,
"p": {},
"v": "<a href=\"https://github.com/gera2ld/gatsby-remark-markmap\" title=\"\" target=\"_blank\" rel=\"noopener noreferrer\">gatsby-remark-markmap</a>"
}]
}, {
"t": "heading",
"d": 2,
"p": {},
"v": "Features",
"c": [{
"t": "list_item",
"d": 3,
"p": {},
"v": "links"
}, {
"t": "list_item",
"d": 3,
"p": {},
"v": "<strong>inline</strong> <del>text</del> <em>styles</em>"
}, {
"t": "list_item",
"d": 3,
"p": {},
"v": "multiline<br/>text"
}, {
"t": "list_item",
"d": 3,
"p": {},
"v": "<code>inline code</code>"
}, {
"t": "list_item",
"d": 3,
"p": {},
"v": "<pre><code class=\"language-js\">console.log('code block');\n</code></pre>"
}, {
"t": "list_item",
"d": 3,
"p": {},
"v": "MathJax - <code>\\(x = {-b \\pm \\sqrt{b^2-4ac} \\over 2a}\\)</code>"
}]
}]
}, (a, t, e) => a(t, e), ["mathJax", "prism"], {
"mathJax": true,
"prism": true
})
</script>
</body>
</html>

View File

@@ -0,0 +1,93 @@
// .home-wrapper .banner .banner-conent .hero h1{
// font-size 2.8rem!important
// }
// //
// table
// width auto
// .page >*:not(.footer),.card-box
// box-shadow: none!important
// .page
// @media (min-width $contentWidth + 80)
// padding-top $navbarHeight!important
// .home-wrapper .banner .banner-conent
// padding 0 2.9rem
// box-sizing border-box
// .home-wrapper .banner .slide-banner .slide-banner-wrapper .slide-item a
// h2
// margin-top 2rem
// font-size 1.2rem!important
// p
// padding 0 1rem
//
.gt-container
.gt-ico-tip
&::after
content: '( Win + . ) or ( + + ) open Emoji'
color: #999
.gt-meta
border-color var(--borderColor)!important
.gt-comments-null
color var(--textColor)
opacity .5
.gt-header-textarea
color var(--textColor)
background rgba(180,180,180,0.1)!important
.gt-btn
border-color $accentColor!important
background-color $accentColor!important
.gt-btn-preview
background-color rgba(255,255,255,0)!important
color $accentColor!important
a
color $accentColor!important
.gt-svg svg
fill $accentColor!important
.gt-comment-content,.gt-comment-admin .gt-comment-content
background-color rgba(150,150,150,0.1)!important
&:hover
box-shadow 0 0 25px rgba(150,150,150,.5)!important
.gt-comment-body
color var(--textColor)!important
// qq
.qq
position: relative;
.qq::after
content: "";
background: $accentColor;
color:#fff;
padding: 0 5px;
border-radius: 10px;
font-size:12px;
position: absolute;
top: -4px;
right: -35px;
transform:scale(0.85);
// demo
body .vuepress-plugin-demo-block__wrapper
&,.vuepress-plugin-demo-block__display
border-color rgba(160,160,160,.3)
.vuepress-plugin-demo-block__footer:hover
.vuepress-plugin-demo-block__expand::before
border-top-color: $accentColor !important;
border-bottom-color: $accentColor !important;
svg
fill: $accentColor !important;
//
.suggestions
overflow: auto
max-height: calc(100vh - 6rem)
@media (max-width: 719px) {
width: 90vw;
min-width: 90vw!important;
margin-right: -20px;
}
.highlight
color: $accentColor
font-weight: bold

View File

@@ -0,0 +1,62 @@
// vdoing使
//***vdoing-***//
// //
// $bannerTextColor = #fff // 首页banner区()
// $accentColor = #11A8CD
// $arrowBgColor = #ccc
// $badgeTipColor = #42b983
// $badgeWarningColor = darken(#ffe564, 35%)
// $badgeErrorColor = #DA5961
// //
// $navbarHeight = 3.6rem
// $sidebarWidth = 18rem
// $contentWidth = 860px
// $homePageWidth = 1100px
// $rightMenuWidth = 230px //
// //
// $lineNumbersWrapperWidth = 2.5rem
//
// .theme-mode-light
// --bodyBg: rgba(255,255,255,1)
// --mainBg: rgba(255,255,255,1)
// --sidebarBg: rgba(255,255,255,.8)
// --blurBg: rgba(255,255,255,.9)
// // --textColor: #004050
// --textLightenColor: #0085AD
// --borderColor: rgba(0,0,0,.15)
// --codeBg: #f6f6f6
// --codeColor: #525252
// codeThemeLight()
// //
// .theme-mode-dark
// --bodyBg: rgba(30,30,34,1)
// --mainBg: rgba(30,30,34,1)
// --sidebarBg: rgba(30,30,34,.8)
// --blurBg: rgba(30,30,34,.8)
// --textColor: rgb(140,140,150)
// --textLightenColor: #0085AD
// --borderColor: #2C2C3A
// --codeBg: #252526
// --codeColor: #fff
// codeThemeDark()
// //
// .theme-mode-read
// --bodyBg: rgba(245,245,213,1)
// --mainBg: rgba(245,245,213,1)
// --sidebarBg: rgba(245,245,213,.8)
// --blurBg: rgba(245,245,213,.9)
// --textColor: #004050
// --textLightenColor: #0085AD
// --borderColor: rgba(0,0,0,.15)
// --codeBg: #282c34
// --codeColor: #fff
// codeThemeDark()

View File

@@ -0,0 +1,5 @@
---
title: 模块职责
date: 2026-01-16 13:47:45
permalink: /pages/520e67/
---

View File

@@ -0,0 +1,5 @@
---
title: 模块介绍
date: 2026-01-16 14:15:43
permalink: /pages/8a740c/
---

View File

@@ -0,0 +1,5 @@
---
title: 模块介绍
date: 2026-01-26 10:54:41
permalink: /pages/71f9ee/
---

View File

@@ -0,0 +1,6 @@
---
archivesPage: true
title: 博客文章
permalink: /blog/
article: false
---

View File

@@ -0,0 +1,165 @@
---
home: true
heroImage: /img/logo.png
heroText: 欢迎使用经创HIS系统
tagline: 经创HIS系统操作手册
actionText: 开始使用 →
actionLink: /pages/520e67/
bannerBg: none # auto => 网格纹背景(有bodyBgImg时无背景),默认 | none => 无 | '大图地址' | background: 自定义背景样式 提示如发现文本颜色不适应你的背景时可以到palette.styl修改$bannerTextColor变量
features: # 可选的
# - title: 知识管理
# details: 包含三种典型的知识管理形态:结构化、碎片化、体系化。轻松打造属于你自己的知识管理平台
# - title: 简洁高效
# details: 以 Markdown 为中心的项目结构,内置自动化工具,以更少的配置完成更多的事。配合多维索引快速定位每个知识点
# - title: 沉浸式阅读
# details: 专为阅读设计的UI配合多种颜色模式、可关闭的侧边栏和导航栏带给你一种沉浸式阅读体验
# 文章列表显示方式: detailed 默认,显示详细版文章列表(包括作者、分类、标签、摘要、分页等)| simple => 显示简约版文章列表(仅标题和日期)| none 不显示文章列表
postList: none
---
<style>
.become-sponsor {
padding: 8px 20px;
display: inline-block;
color: #11a8cd;
border-radius: 30px;
box-sizing: border-box;
border: 1px solid #11a8cd;
}
</style>
<br/>
<p align="center">
<!-- <a href="https://www.npmjs.com/package/vuepress-theme-vdoing" target="_blank"><img src="https://img.shields.io/npm/v/vuepress-theme-vdoing" alt="npm" class="no-zoom"></a>
<a href="https://www.npmjs.com/package/vuepress-theme-vdoing" target="_blank"><img src="https://img.shields.io/npm/dt/vuepress-theme-vdoing" alt="npm" class="no-zoom"></a>
<a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank"><img src='https://img.shields.io/github/stars/xugaoyi/vuepress-theme-vdoing' alt='GitHub stars' class="no-zoom"></a>
<a href="https://github.com/xugaoyi/vuepress-theme-vdoing" target="_blank"><img src='https://img.shields.io/github/forks/xugaoyi/vuepress-theme-vdoing' alt='GitHub forks' class="no-zoom"></a> -->
</p>
<br/>
<!-- <p align="center" style="color: #999;">
赞助商 (进入注册为主题作者充电)
</p>
<p align="center">
<a href="http://apifox.cn/a103xugaoyi" target="_blank"><img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/blog-gitalk-comment@master/img/441669861566_.2bedplbm21hc.jpg" alt="npm" class="no-zoom" style="width: 300px;border-radius: 2px;"></a>
</p> -->
<!-- ## 🎖特别用户
::: cardList 3
```yaml
# - name: OpenHarmony
# desc: 开放原子开源基金会
# link: https://docs.openharmony.cn/pages/000000/
# bgColor: '#f1f1f1'
# textColor: '#2A3344'
- name: MyBatis-Plus官网
desc: 🚀为简化开发而生
link: https://baomidou.com/
bgColor: '#f1f1f1'
textColor: '#2A3344'
# - name: Deepin 社区
# desc: Deepin 应用开发技术分享、DTK开发经验等
# link: https://docs.deepin.org
# bgColor: '#f1f1f1'
# textColor: '#2A3344'
# - name: VForm官网
# desc: 低代码表单优选方案,拖拽式设计,一键生成源码
# link: http://www.vform666.com
# bgColor: '#f1f1f1'
# textColor: '#2A3344'
```
::: -->
<br/>
<!-- ## 🎉上新推荐
* `v1.12.x`
- 新增配置项`pageStyle`,用于切换页面的风格样式,可选`卡片``线条`风格。[详情](/pages/a20ce8/#pagestyle)
- 新增配置项`bodyBgImgInterval`,用于在设置了多张背景大图时修改大图切换的时间间隔。[详情](/pages/a20ce8/#bodybgimginterval)
- 新增配置项`defaultMode`,用于修改默认外观模式(v1.12.3)。[详情](/pages/a20ce8/#defaultmode)
* `v1.11.x`:新增配置项`extendFrontmatter`用于扩展自动生成front matter。[详情](/pages/a20ce8/#extendfrontmatter)
* `v1.10.x`新增右侧目录栏对h2~h6标题的适配并优化了UI[详情](/pages/8dfab5/)
* `v1.9.x`新增配置文件对TypeScript的支持参考[config.ts](https://github.com/xugaoyi/vuepress-theme-vdoing/blob/master/docs/.vuepress/config.ts)。新增[标题标记](/pages/3216b0/#titletag)
* `v1.8.x`:新增 Markdown中使用的组件[代码块选项卡](/pages/197691/#代码块选项卡)
* `v1.7.x`:新增 [自定义html模块](/pages/a20ce8/#自定义html模块) 配置,可用于插入广告模块。
* `v1.6.x`:支持[`四级目录`](/pages/33d574/#级别说明),提高[站点结构](/pages/33d574/#级别说明)可塑性。
* `v1.5.x`:新增[`笔记`容器](/pages/d0d7eb/),轻松插入笔记框。
* `v1.4.x`:新增了文章内容区块的 [背景底纹配置](/pages/a20ce8/#文章内容块的背景底纹),让你的文章看起来像笔记本的风格~
* `v1.2.x`这个版本对整体的UI细节做了很多优化比如标签栏和分类栏等
* `v1.1.x`:从这个版本开始主题新增`超好用``高颜值`的Markdown容器快去 [体验](/pages/d0d7eb/) 吧~
更多上新请查阅:[**更新日志**](https://github.com/xugaoyi/vuepress-theme-vdoing/releases) -->
<br/>
<!-- ## ⚡️未来...
::: tip
期待 [VuePress v2.0](https://github.com/vuepress/vuepress-next) 以及 [VitePress](https://github.com/vuejs/vitepress) 的正式发布...
届时VuePress 1.x 编译慢的缺点将得到极大的改善。我将会视情况把主题升级至 VuePress v2.0 或 VitePress。还希望大家多多 [:sparkling_heart:支持](/pages/1b12ed/) 哟,持续关注吧~
::: -->
<br/>
<!-- ## 💎 公众号
`有趣研究社`是本人对各种有趣的、好玩的、沙雕的创意和想法以在线小网站或者文章的形式表达出来,比如:
- [小霸王游戏机](https://game.xugaoyi.com)
- [爱国头像生成器](https://avatar.xugaoyi.com/)
- [到账语音生成器](https://zfb.xugaoyi.com/)
还有更多好玩的等你去探索吧~
::: center
<img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/image_store@master/blog/qrcode.zdqv9mlfc0g.jpg" style="width:190px;" />
:::
<br/> -->
<!-- ## ⚡ 反馈与交流
在使用过程中有任何问题和想法,请给我提 [Issue](https://github.com/xugaoyi/vuepress-theme-vdoing/issues)
你也可以在Issue查看别人提的问题和给出解决方案。
或者加入我们的交流群:
<table>
<tbody>
<tr>
<td align="center" valign="middle">
<img src="https://jsd.cdn.zzko.cn/gh/xugaoyi/blog-gitalk-comment@master/img/0.4pp7r95mdai0.jpeg" class="no-zoom" style="width:120px;margin: 10px;">
<p>vdoing微信群(添加我微信备注"进群")</p>
</td>
<td align="center" valign="middle">
<img :src="$withBase('/img/qrcode/qqq.webp')" alt="群号: 694387113" class="no-zoom" style="width:120px;margin: 10px;">
<p>vdoing QQ群: 694387113</p>
</td>
</tr>
</tbody>
</table> -->
<!-- AD -->
<!-- <div class="wwads-cn wwads-horizontal page-wwads" data-id="136"></div> -->
<style>
.page-wwads{
width:100%!important;
min-height: 0;
margin: 0;
}
.page-wwads .wwads-img img{
width:80px!important;
}
.page-wwads .wwads-poweredby{
width: 40px;
position: absolute;
right: 25px;
bottom: 3px;
}
.wwads-content .wwads-text, .page-wwads .wwads-text{
height: 100%;
padding-top: 5px;
display: block;
}
</style>