9.15
This commit is contained in:
3
.obsidian/community-plugins.json
vendored
3
.obsidian/community-plugins.json
vendored
@@ -8,5 +8,6 @@
|
||||
"univer",
|
||||
"remember-cursor-position",
|
||||
"obsidian-image-auto-upload-plugin",
|
||||
"obsidian-git"
|
||||
"obsidian-git",
|
||||
"obsidian-importer"
|
||||
]
|
||||
@@ -1202,6 +1202,20 @@
|
||||
"id": "5734f3d8-8151-4c4a-871f-8af22a021f59",
|
||||
"createdAt": 1757767892802,
|
||||
"updatedAt": 1757767892802
|
||||
},
|
||||
{
|
||||
"isEncrypted": 1,
|
||||
"EncryptedData": "1c5b149800389013520c989416c3e522:cc8a2e0709a9bb93bfb549e43fd4eb9a7a9f360cc15f477b862980f78f2c24710e3e9969a9730f4b3ccd5228d0f3ef931a63289ccded91dc3e9174b788bf4076dd1b48c6b6bf517474502d02680c10abe4b78f5a06026f4c3d1769c4e4451ed56b0c9d4f57edff993b9913e9b364754cf179d2163d8ce4707936f4a022567b060840ca2017576f723764fd25b0c9688b73e88cc85aa3b1e5559d11a268b937c8caa7591738283aeb92e9701de3554cffd70931cd0a2202aad60d99b7877bc2f3bf5693962802f5c8907f75873002b6c06b50bfd8d3416231935c995838a40b23fbd995a68792f62f2f9edadf7137326212ff76f3febab192b52d1f71714728c04b47eb160c99e3f28a2b22a50a76c9c754f0c42ee59f85669c0fcbb2e4604830ff7b40cade10c146616a936922388cdf173a53db6337828b7bf6f1389de650c005b001d786afc104b7c8da71b4820fdac31abd1e56e8d84c40eb4b6dd731f7a0f294c8de3c71d127df480e9baf0cc452d7d07789cf88a83e703a4e1dee55b20d1ce6f26bd93b34be21e634e881d5cc1b68d1be53d43a1156a47e0e6d66ee2856624cfff1e2fa5b4b572282db0a7d6c3904db47101742f1b8c54009b6c61ca5153cbe2d9c5bcb3031cbec542d1af9d86d1bf639b6a0fd9dcac71b6c5f526edafff6752cef0f9992005486dcb4033494d94f98f39dda01109c5d2694880a3634facf64f7e751f3edbe491bf7b38b55781c4e029c49b4d0c7d5e2c3959db920e68b80f0afe267062c27f6db38114e186e3f61fec22e0399c0223a03df52c7f991ceeb1efff752e62ebd14a513d4617323b72aeff03af2c4e45347351410e98af0cf05d77616828c8f41fe5f4d9a3d5ad915b148491175571d4bd263538c61f2bdee",
|
||||
"fileName": "20250914192135951.png",
|
||||
"width": 240,
|
||||
"height": 240,
|
||||
"extname": ".png",
|
||||
"imgUrl": "https://www.binghuai.xyz/markdown/20250914192135951.png",
|
||||
"type": "aliyun",
|
||||
"shortUrl": "",
|
||||
"id": "ca28ec29-c2fb-4cd0-b605-ab192ae650a6",
|
||||
"createdAt": 1757848896396,
|
||||
"updatedAt": 1757848896396
|
||||
}
|
||||
]
|
||||
}
|
||||
234
.obsidian/plugins/obsidian-importer/main.js
vendored
Normal file
234
.obsidian/plugins/obsidian-importer/main.js
vendored
Normal file
File diff suppressed because one or more lines are too long
10
.obsidian/plugins/obsidian-importer/manifest.json
vendored
Normal file
10
.obsidian/plugins/obsidian-importer/manifest.json
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"id": "obsidian-importer",
|
||||
"name": "Importer",
|
||||
"version": "1.6.22",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "Import data from Notion, Evernote, Apple Notes, Microsoft OneNote, Google Keep, Bear, Roam, and HTML files.",
|
||||
"author": "Obsidian",
|
||||
"authorUrl": "https://obsidian.md",
|
||||
"isDesktopOnly": false
|
||||
}
|
||||
87
.obsidian/plugins/obsidian-importer/styles.css
vendored
Normal file
87
.obsidian/plugins/obsidian-importer/styles.css
vendored
Normal file
@@ -0,0 +1,87 @@
|
||||
.modal.mod-importer {
|
||||
max-height: var(--modal-height);
|
||||
padding: var(--size-4-4) 0 0 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
.modal.mod-importer .modal-title {
|
||||
padding: 0 var(--size-4-4);
|
||||
}
|
||||
.modal.mod-importer .modal-content {
|
||||
overflow: auto;
|
||||
padding: var(--size-4-4);
|
||||
margin-bottom: calc(var(--input-height) + var(--size-4-8));
|
||||
border-top: var(--border-width) solid var(--background-modifier-border);
|
||||
}
|
||||
.modal.mod-importer .modal-button-container {
|
||||
margin: 0 0 0 calc(var(--size-4-4) * -1);
|
||||
padding: var(--size-4-4);
|
||||
gap: var(--size-4-2);
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
background-color: var(--background-primary);
|
||||
border-top: var(--border-width) solid var(--background-modifier-border);
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.importer-progress-bar {
|
||||
width: 100%;
|
||||
height: 8px;
|
||||
background-color: var(--background-secondary);
|
||||
overflow: hidden;
|
||||
box-shadow: inset 0px 0px 0px 1px var(--background-modifier-border);
|
||||
border-radius: var(--radius-s);
|
||||
}
|
||||
|
||||
.importer-progress-bar-inner {
|
||||
width: 0;
|
||||
height: 100%;
|
||||
background-color: var(--interactive-accent);
|
||||
}
|
||||
|
||||
.importer-status {
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
padding: var(--size-4-2) 0;
|
||||
}
|
||||
|
||||
.importer-stats-container {
|
||||
display: flex;
|
||||
justify-content: space-evenly;
|
||||
margin-top: var(--size-4-5);
|
||||
margin-bottom: var(--size-4-5);
|
||||
}
|
||||
|
||||
.importer-stat {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.importer-stat-count {
|
||||
font-size: var(--font-ui-large);
|
||||
}
|
||||
|
||||
.importer-log {
|
||||
overflow: auto;
|
||||
flex-grow: 1;
|
||||
font-family: var(--font-monospace);
|
||||
font-size: var(--font-ui-smaller);
|
||||
color: var(--text-muted);
|
||||
border: 1px solid var(--background-modifier-border);
|
||||
padding: var(--size-4-4);
|
||||
background-color: var(--background-secondary);
|
||||
border-radius: var(--radius-s);
|
||||
max-height: 300px;
|
||||
user-select: text;
|
||||
}
|
||||
|
||||
.importer-log .list-item {
|
||||
display: inline-block;
|
||||
line-height: var(--line-height-normal);
|
||||
white-space: pre;
|
||||
margin: var(--size-2-1);
|
||||
}
|
||||
|
||||
.importer-error {
|
||||
color: var(--text-error);
|
||||
}
|
||||
@@ -1 +1 @@
|
||||
{"月度/8月/8月.md":{"scroll":385.7604,"cursor":{"from":{"ch":5,"line":392},"to":{"ch":14,"line":392}}},"材料/服务器.md":{"scroll":30.1953,"cursor":{"from":{"ch":58,"line":43},"to":{"ch":58,"line":43}}},"月度/9月/9月.md":{"scroll":59.2834,"cursor":{"from":{"ch":43,"line":76},"to":{"ch":43,"line":76}}},"月度/7月/7月.md":{"scroll":138.3906,"cursor":{"from":{"ch":29,"line":147},"to":{"ch":29,"line":147}}},"月度/6月/6月.md":{"scroll":58.2917,"cursor":{"from":{"ch":72,"line":63},"to":{"ch":72,"line":63}}},"月度/5月/5月.md":{"scroll":93.1957,"cursor":{"from":{"ch":20,"line":105},"to":{"ch":20,"line":105}}},"月度/4月/4月.md":{"scroll":120.1806,"cursor":{"from":{"ch":20,"line":139},"to":{"ch":20,"line":139}}},"月度/3月/3月.md":{"scroll":32.7083,"cursor":{"from":{"ch":6,"line":39},"to":{"ch":6,"line":39}}},"月度/7月/7月工作总结及8月工作计划.md":{"scroll":0,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/6月/6月份晨午检bug修复.md":{"scroll":307.9981,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/7月/设备管理中心研发记录.md":{"scroll":110.1015,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/8月/CA身份认证app/CA身份认证app流程图.md":{"scroll":5.8654,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/常见病/20250903常见病优化沟通.md":{"scroll":0.7205,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/汇海/对接主机/2.0/不登录模式接口文档.md":{"scroll":0,"cursor":{"from":{"ch":61,"line":2},"to":{"ch":61,"line":2}}},"月度/9月/汇海/对接主机/2.0/登录算法和密钥.md":{"scroll":0.1746,"cursor":{"from":{"ch":0,"line":9},"to":{"ch":0,"line":9}}}}
|
||||
{"月度/8月/8月.md":{"scroll":385.7604,"cursor":{"from":{"ch":5,"line":392},"to":{"ch":14,"line":392}}},"材料/服务器.md":{"scroll":30.1953,"cursor":{"from":{"ch":58,"line":43},"to":{"ch":58,"line":43}}},"月度/9月/9月.md":{"scroll":193.938,"cursor":{"from":{"ch":0,"line":222},"to":{"ch":0,"line":222}}},"月度/7月/7月.md":{"scroll":138.3906,"cursor":{"from":{"ch":29,"line":147},"to":{"ch":29,"line":147}}},"月度/6月/6月.md":{"scroll":58.2917,"cursor":{"from":{"ch":72,"line":63},"to":{"ch":72,"line":63}}},"月度/5月/5月.md":{"scroll":93.1957,"cursor":{"from":{"ch":20,"line":105},"to":{"ch":20,"line":105}}},"月度/4月/4月.md":{"scroll":120.1806,"cursor":{"from":{"ch":20,"line":139},"to":{"ch":20,"line":139}}},"月度/3月/3月.md":{"scroll":32.7083,"cursor":{"from":{"ch":6,"line":39},"to":{"ch":6,"line":39}}},"月度/7月/7月工作总结及8月工作计划.md":{"scroll":0,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/6月/6月份晨午检bug修复.md":{"scroll":307.9981,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/7月/设备管理中心研发记录.md":{"scroll":110.1015,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/8月/CA身份认证app/CA身份认证app流程图.md":{"scroll":5.8654,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/常见病/20250903常见病优化沟通.md":{"scroll":0.7205,"cursor":{"from":{"ch":0,"line":0},"to":{"ch":0,"line":0}}},"月度/9月/汇海/对接主机/2.0/不登录模式接口文档.md":{"scroll":0,"cursor":{"from":{"ch":61,"line":2},"to":{"ch":61,"line":2}}},"月度/9月/汇海/对接主机/2.0/登录算法和密钥.md":{"scroll":0.1746,"cursor":{"from":{"ch":0,"line":9},"to":{"ch":0,"line":9}}}}
|
||||
35
.obsidian/workspace.json
vendored
35
.obsidian/workspace.json
vendored
@@ -11,10 +11,14 @@
|
||||
"id": "c7bc73ee9f913d5a",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "empty",
|
||||
"state": {},
|
||||
"type": "markdown",
|
||||
"state": {
|
||||
"file": "月度/9月/9月.md",
|
||||
"mode": "source",
|
||||
"source": false
|
||||
},
|
||||
"icon": "lucide-file",
|
||||
"title": "新标签页"
|
||||
"title": "9月"
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -74,7 +78,7 @@
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 200
|
||||
"width": 275.5
|
||||
},
|
||||
"right": {
|
||||
"id": "05ec8585e34884ac",
|
||||
@@ -90,12 +94,13 @@
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "月度/9月/9月.md",
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "大纲"
|
||||
"title": "9月 的大纲"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -156,12 +161,12 @@
|
||||
"title": "标签"
|
||||
}
|
||||
}
|
||||
],
|
||||
"currentTab": 1
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 261.5
|
||||
"width": 330.5,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
@@ -175,11 +180,17 @@
|
||||
"command-palette:打开命令面板": false,
|
||||
"obsidian-excalidraw-plugin:新建绘图文件": false,
|
||||
"univer:Univer": false,
|
||||
"obsidian-git:Open Git source control": false
|
||||
"obsidian-git:Open Git source control": false,
|
||||
"obsidian-importer:Open Importer": false
|
||||
}
|
||||
},
|
||||
"active": "c7bc73ee9f913d5a",
|
||||
"lastOpenFiles": [
|
||||
"材料/配置/新建 文本文档.html",
|
||||
"材料/配置/新建 文本文档.txt",
|
||||
"材料/配置/自定义短横线.md",
|
||||
"材料/配置/自定义短横线.html",
|
||||
"月度/9月/9月.md",
|
||||
"月度/9月/调查问卷.md",
|
||||
"未命名.base",
|
||||
"月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~F552E.tmp",
|
||||
@@ -188,7 +199,6 @@
|
||||
"月度/9月/常见病/20250903常见病优化沟通.md",
|
||||
"月度/7月/ca会议纪要.md",
|
||||
"月度/9月/常见病/4.2025年全国学生常见病和影响因素监测与干预项目工作手册0903.docx",
|
||||
"月度/9月/9月.md",
|
||||
"月度/封面.base",
|
||||
"月度/9月/关于北体大-乌市体育调研工作会议.md",
|
||||
"月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 .docx",
|
||||
@@ -196,9 +206,6 @@
|
||||
"月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~9BCC8.tmp",
|
||||
"月度/9月/汇海/对接主机/2.0/登录算法和密钥.md",
|
||||
"月度/9月/汇海/对接主机/2.0/主机登录模式API接口文档2.0 ~CFAF6.tmp",
|
||||
"月度/9月/汇海/对接主机/2.0/~$登录模式API接口文档2.0 .docx",
|
||||
"月度/9月/汇海/对接主机/2.0/华夏汇海体测系统接口V2.0 .docx",
|
||||
"月度/9月/汇海/对接主机/2.0/~$汇海体测系统接口V2.0 .docx",
|
||||
"月度/9月/汇海/解析汇海设备请求.md",
|
||||
"月度/9月/汇海/体质测试数据上传接口文档.md",
|
||||
"月度/9月/汇海/华夏汇海技术对接交流会议纪要.md",
|
||||
@@ -214,8 +221,6 @@
|
||||
"月度/8月/CA身份认证app/CA身份认证app流程图.md",
|
||||
"月度/7月/设备管理中心研发记录.md",
|
||||
"月度/7月/华为服务器测试报告.md",
|
||||
"月度/7月/7月工作总结及8月工作计划.md",
|
||||
"月度/7月/7月份晨午检bug修复.md",
|
||||
"图片/9月.png",
|
||||
"月度/未命名.canvas",
|
||||
"图片/8月.png",
|
||||
|
||||
@@ -218,5 +218,5 @@ MaterialApp(
|
||||
<span style="color:#ffc000 !important;">石榴籽具体落实</span>
|
||||
- 家校协同:体测通过石榴籽平台,使老师,家长能用。班主任,体育教师,家长能注册(孩子暂时不考虑)。能够选择学校,选择班级。重点是家校通知(致家长一封信,学生餐单,视力检测通知,体测结果通知,布置打卡任务【每个层级看到的消息通知不一样】),一周开发出来。
|
||||
[[家校通需求]]
|
||||
|
||||
[家校通-功能需求说明书(手写版-v1.0)](https://doc.weixin.qq.com/doc/w3_AZcAuwb0ADQCNJJlyCrRBQB2dJudw?scode=ACcAjgdrAA03e12Xn4AZcAuwb0ADQ&version=5.0.0.8002&platform=win)
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
1.
|
||||
216
材料/配置/新建 文本文档.html
Normal file
216
材料/配置/新建 文本文档.html
Normal file
File diff suppressed because one or more lines are too long
328
材料/配置/自定义短横线.md
Normal file
328
材料/配置/自定义短横线.md
Normal file
@@ -0,0 +1,328 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>文字内联短横线生成器</title>
|
||||
<style>
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
|
||||
}
|
||||
|
||||
body {
|
||||
background: linear-gradient(135deg, #6a11cb 0%, #2575fc 100%);
|
||||
color: #333;
|
||||
line-height: 1.6;
|
||||
padding: 20px;
|
||||
min-height: 100vh;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.container {
|
||||
width: 100%;
|
||||
max-width: 600px;
|
||||
background: white;
|
||||
border-radius: 15px;
|
||||
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.25);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
header {
|
||||
background: linear-gradient(90deg, #2575fc 0%, #6a11cb 100%);
|
||||
color: white;
|
||||
padding: 25px 30px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size: 1.8rem;
|
||||
margin-bottom: 5px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.subtitle {
|
||||
font-size: 1rem;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.controls {
|
||||
padding: 25px 30px;
|
||||
background: #f9f9f9;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.control-group {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.control-group:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
font-weight: 600;
|
||||
color: #2c3e50;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.value-display {
|
||||
background: #2575fc;
|
||||
color: white;
|
||||
padding: 3px 12px;
|
||||
border-radius: 12px;
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
input[type="range"] {
|
||||
width: 100%;
|
||||
height: 8px;
|
||||
-webkit-appearance: none;
|
||||
background: #e0e0e0;
|
||||
border-radius: 4px;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
input[type="range"]::-webkit-slider-thumb {
|
||||
-webkit-appearance: none;
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
background: #2575fc;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
input[type="color"] {
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
border: 2px solid #e0e0e0;
|
||||
border-radius: 8px;
|
||||
cursor: pointer;
|
||||
background: white;
|
||||
padding: 3px;
|
||||
}
|
||||
|
||||
.preview {
|
||||
padding: 30px;
|
||||
text-align: left;
|
||||
background: white;
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.preview-title {
|
||||
font-weight: 600;
|
||||
color: #7f8c8d;
|
||||
margin-bottom: 20px;
|
||||
text-align: center;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
.preview-content {
|
||||
font-size: 1.2rem;
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
#inline-hr {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.code-output {
|
||||
margin-top: 30px;
|
||||
padding: 20px;
|
||||
background: #2c3e50;
|
||||
color: white;
|
||||
border-radius: 8px;
|
||||
font-family: 'Courier New', monospace;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
text-align: left;
|
||||
font-size: 0.9rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.copy-btn {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 14px;
|
||||
background: linear-gradient(90deg, #2575fc 0%, #6a11cb 100%);
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 8px;
|
||||
font-size: 1rem;
|
||||
font-weight: 600;
|
||||
cursor: pointer;
|
||||
margin-top: 15px;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
|
||||
.copy-btn:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 5px 15px rgba(38, 117, 252, 0.4);
|
||||
}
|
||||
|
||||
.copy-btn:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
footer {
|
||||
text-align: center;
|
||||
padding: 20px;
|
||||
color: #7f8c8d;
|
||||
font-size: 0.9rem;
|
||||
background: #f9f9f9;
|
||||
}
|
||||
|
||||
.usage {
|
||||
padding: 15px 30px;
|
||||
background: #e8f4fc;
|
||||
border-top: 1px solid #c3e1f7;
|
||||
}
|
||||
|
||||
.usage h3 {
|
||||
color: #2575fc;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.usage p {
|
||||
margin-bottom: 10px;
|
||||
font-size: 0.95rem;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<header>
|
||||
<h1>文字内联短横线生成器</h1>
|
||||
<p class="subtitle">适用于Obsidian及其他Markdown编辑器</p>
|
||||
</header>
|
||||
|
||||
<div class="controls">
|
||||
<div class="control-group">
|
||||
<label>
|
||||
横线长度
|
||||
<span id="length-value" class="value-display">150px</span>
|
||||
</label>
|
||||
<input type="range" id="hr-length" min="20" max="300" value="150">
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>
|
||||
线条粗细
|
||||
<span id="thickness-value" class="value-display">3px</span>
|
||||
</label>
|
||||
<input type="range" id="hr-thickness" min="1" max="10" value="3">
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="hr-color">线条颜色</label>
|
||||
<input type="color" id="hr-color" value="#3498db">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="preview">
|
||||
<div class="preview-title">预览效果</div>
|
||||
<div class="preview-content">
|
||||
<p>这是一段示例文字<span id="inline-hr"></span>横线跟在文字后面。</p>
|
||||
<p>另一行示例<span id="inline-hr2"></span>这是另一条横线。</p>
|
||||
</div>
|
||||
|
||||
<div class="code-output" id="code-output">
|
||||
<!-- 代码将在这里显示 -->
|
||||
</div>
|
||||
|
||||
<button class="copy-btn" id="copy-btn">复制HTML代码</button>
|
||||
</div>
|
||||
|
||||
<div class="usage">
|
||||
<h3>使用说明</h3>
|
||||
<p>1. 调整上方控件自定义横线样式</p>
|
||||
<p>2. 点击复制按钮获取代码</p>
|
||||
<p>3. 在Obsidian中:</p>
|
||||
<p> - 使用阅读视图:直接粘贴HTML代码</p>
|
||||
<p> - 使用编辑视图:粘贴代码后,Obsidian会自动渲染</p>
|
||||
</div>
|
||||
|
||||
<footer>
|
||||
<p>内联短横线生成器 | 专为Obsidian优化</p>
|
||||
</footer>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
// 获取DOM元素
|
||||
const lengthSlider = document.getElementById('hr-length');
|
||||
const thicknessSlider = document.getElementById('hr-thickness');
|
||||
const colorPicker = document.getElementById('hr-color');
|
||||
const inlineHr = document.getElementById('inline-hr');
|
||||
const inlineHr2 = document.getElementById('inline-hr2');
|
||||
const codeOutput = document.getElementById('code-output');
|
||||
const copyBtn = document.getElementById('copy-btn');
|
||||
const lengthValue = document.getElementById('length-value');
|
||||
const thicknessValue = document.getElementById('thickness-value');
|
||||
|
||||
// 更新自定义横线
|
||||
function updateHr() {
|
||||
const length = lengthSlider.value;
|
||||
const thickness = thicknessSlider.value;
|
||||
const color = colorPicker.value;
|
||||
|
||||
// 更新显示的值
|
||||
lengthValue.textContent = `${length}px`;
|
||||
thicknessValue.textContent = `${thickness}px`;
|
||||
|
||||
// 应用样式到横线
|
||||
inlineHr.style.width = `${length}px`;
|
||||
inlineHr.style.height = `${thickness}px`;
|
||||
inlineHr.style.backgroundColor = color;
|
||||
inlineHr.style.border = 'none';
|
||||
inlineHr.style.borderRadius = '2px';
|
||||
inlineHr.style.margin = '0 5px';
|
||||
inlineHr.style.verticalAlign = 'middle';
|
||||
|
||||
// 第二个横线示例
|
||||
inlineHr2.style.width = `${length}px`;
|
||||
inlineHr2.style.height = `${thickness}px`;
|
||||
inlineHr2.style.backgroundColor = color;
|
||||
inlineHr2.style.border = 'none';
|
||||
inlineHr2.style.borderRadius = '2px';
|
||||
inlineHr2.style.margin = '0 5px';
|
||||
inlineHr2.style.verticalAlign = 'middle';
|
||||
|
||||
// 更新代码输出
|
||||
codeOutput.textContent = `<span style="display: inline-block; width: ${length}px; height: ${thickness}px; background: ${color}; vertical-align: middle; margin: 0 5px;"></span>`;
|
||||
}
|
||||
|
||||
// 复制代码到剪贴板
|
||||
function copyToClipboard() {
|
||||
const text = codeOutput.textContent;
|
||||
navigator.clipboard.writeText(text).then(() => {
|
||||
// 改变按钮文本提示用户
|
||||
copyBtn.textContent = '已复制!';
|
||||
setTimeout(() => {
|
||||
copyBtn.textContent = '复制HTML代码';
|
||||
}, 2000);
|
||||
}).catch(err => {
|
||||
console.error('复制失败: ', err);
|
||||
});
|
||||
}
|
||||
|
||||
// 添加事件监听器
|
||||
lengthSlider.addEventListener('input', updateHr);
|
||||
thicknessSlider.addEventListener('input', updateHr);
|
||||
colorPicker.addEventListener('input', updateHr);
|
||||
copyBtn.addEventListener('click', copyToClipboard);
|
||||
|
||||
// 初始化
|
||||
updateHr();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user