chore(工作区): 全量入库 + 补齐 .gitignore(以工作区为准)
- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次) - .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…), 目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪 - .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/) - .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*) - .gitignore 补:备份件(*.bak-*) - 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
This commit is contained in:
1 parent
30b46dbd0c
commit
c1b5e4d966
735 files changed
+153192
-2415
No files matched your search
@@ -0,0 +1,126 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<title>Topic — Interactive Explainer</title>
|
||||
<style>
|
||||
:root{
|
||||
--bg:#ffffff; --panel:#f5f6f8; --text:#1b1f24; --muted:#6b7280;
|
||||
--accent:#2563eb; --line:#d8dce3; --warn:#d97706; --warn-bg:#fff7ed;
|
||||
}
|
||||
@media (prefers-color-scheme: dark){
|
||||
:root{
|
||||
--bg:#0f1115; --panel:#171a21; --text:#e6e8ec; --muted:#9aa3af;
|
||||
--accent:#5b8cff; --line:#2a2f39; --warn:#f59e0b; --warn-bg:#2a2113;
|
||||
}
|
||||
}
|
||||
*{box-sizing:border-box}
|
||||
body{margin:0;background:var(--bg);color:var(--text);
|
||||
font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;}
|
||||
header{padding:28px 20px 16px;border-bottom:1px solid var(--line);}
|
||||
header h1{margin:0 0 4px;font-size:24px}
|
||||
header p{margin:0;color:var(--muted);font-size:14px}
|
||||
main{max-width:760px;margin:0 auto;padding:20px}
|
||||
.summary{background:var(--panel);border:1px solid var(--line);border-radius:12px;
|
||||
padding:16px;margin:16px 0}
|
||||
.summary h2{margin:0 0 8px;font-size:15px;color:var(--mcent);text-transform:uppercase;
|
||||
letter-spacing:.04em;color:var(--muted)}
|
||||
.diagram{margin:16px 0}
|
||||
.diagram svg{width:100%;height:auto;display:block}
|
||||
/* Tabs */
|
||||
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:18px 0 8px}
|
||||
.tab{padding:8px 14px;border:1px solid var(--line);background:var(--panel);
|
||||
color:var(--text);border-radius:8px;cursor:pointer;font-size:14px}
|
||||
.tab[aria-selected="true"]{border-color:var(--accent);color:var(--accent);font-weight:600}
|
||||
.panel{display:none;border:1px solid var(--line);border-radius:10px;padding:16px;
|
||||
background:var(--panel)}
|
||||
.panel.active{display:block;animation:fade .3s ease}
|
||||
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
|
||||
/* Accordion */
|
||||
details{border:1px solid var(--line);border-radius:10px;padding:0 14px;margin:8px 0;
|
||||
background:var(--panel)}
|
||||
details summary{cursor:pointer;padding:12px 0;font-weight:600;list-style:none}
|
||||
details summary::-webkit-details-marker{display:none}
|
||||
details[open] summary{color:var(--accent)}
|
||||
details p{margin:0 0 12px;color:var(--text)}
|
||||
/* Least-certain callout */
|
||||
.warn{background:var(--warn-bg);border:1px solid var(--warn);border-radius:10px;
|
||||
padding:12px 14px;margin:18px 0;color:var(--text)}
|
||||
.warn b{color:var(--warn)}
|
||||
footer{color:var(--muted);font-size:13px;padding:16px 20px 40px;
|
||||
border-top:1px solid var(--line);max-width:760px;margin:0 auto}
|
||||
a{color:var(--accent)}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header>
|
||||
<h1>Topic Title</h1>
|
||||
<p>One-line plain-language subtitle.</p>
|
||||
</header>
|
||||
<main>
|
||||
<!-- Rung 1: STE100 summary, paste verbatim -->
|
||||
<section class="summary">
|
||||
<h2>Rung 1 — Plain summary</h2>
|
||||
<p>Write 3–8 short sentences here. Active voice. One idea per sentence.
|
||||
No metaphors. This is the controlled-English core of the explainer.</p>
|
||||
</section>
|
||||
|
||||
<!-- Rung 2: diagram with least-certain flag -->
|
||||
<section class="diagram">
|
||||
<h2 style="font-size:15px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em">Rung 2 — Diagram</h2>
|
||||
<svg viewBox="0 0 680 220" role="img" aria-label="topic diagram">
|
||||
<rect x="20" y="80" width="150" height="56" rx="10" fill="none"
|
||||
stroke="var(--accent)" stroke-width="2"/>
|
||||
<text x="95" y="113" text-anchor="middle" fill="var(--text)">Step A</text>
|
||||
<line x1="170" y1="108" x2="250" y2="108" stroke="var(--line)" stroke-width="2"/>
|
||||
<rect x="250" y="80" width="150" height="56" rx="10" fill="none"
|
||||
stroke="var(--accent)" stroke-width="2"/>
|
||||
<text x="325" y="113" text-anchor="middle" fill="var(--text)">Step B</text>
|
||||
<!-- least-certain node: dashed + muted -->
|
||||
<line x1="400" y1="108" x2="480" y2="108" stroke="var(--line)" stroke-width="2"
|
||||
stroke-dasharray="6 4"/>
|
||||
<rect x="480" y="80" width="170" height="56" rx="10" fill="none"
|
||||
stroke="var(--warn)" stroke-width="2" stroke-dasharray="6 4" opacity="0.85"/>
|
||||
<text x="565" y="108" text-anchor="middle" fill="var(--warn)">Uncertain</text>
|
||||
<text x="565" y="156" text-anchor="middle" fill="var(--warn)" font-size="12">⚠ least certain</text>
|
||||
</svg>
|
||||
</section>
|
||||
|
||||
<!-- Rung 3: interactive tabs -->
|
||||
<div class="tabs" role="tablist">
|
||||
<button class="tab" role="tab" aria-selected="true" data-target="p1">Part 1</button>
|
||||
<button class="tab" role="tab" aria-selected="false" data-target="p2">Part 2</button>
|
||||
<button class="tab" role="tab" aria-selected="false" data-target="p3">Part 3</button>
|
||||
</div>
|
||||
<div class="panel active" id="p1"><p>Expand Part 1 here. Keep it short and factual.</p></div>
|
||||
<div class="panel" id="p2"><p>Expand Part 2 here.</p></div>
|
||||
<div class="panel" id="p3"><p>Expand Part 3 here.</p></div>
|
||||
|
||||
<!-- Accordion for detail drilling -->
|
||||
<details>
|
||||
<summary>Deep dive: how it works</summary>
|
||||
<p>Put the mechanism breakdown here. One paragraph per <code>details</code>.</p>
|
||||
</details>
|
||||
|
||||
<!-- Least-certain callout (must surface the flagged node) -->
|
||||
<div class="warn">
|
||||
<b>⚠ Least certain:</b> State the one assumption or missing measurement here. Link it to
|
||||
the dashed node in the diagram above.
|
||||
</div>
|
||||
</main>
|
||||
<footer>
|
||||
Sources / verify: <a href="https://www.asd-ste100.org/assets/files/ASD-STE100_ISSUE9.pdf">ASD-STE100 Issue 9 (PDF)</a>
|
||||
</footer>
|
||||
<script>
|
||||
document.querySelectorAll('.tab').forEach(function(t){
|
||||
t.addEventListener('click', function(){
|
||||
document.querySelectorAll('.tab').forEach(function(x){x.setAttribute('aria-selected','false')});
|
||||
document.querySelectorAll('.panel').forEach(function(p){p.classList.remove('active')});
|
||||
t.setAttribute('aria-selected','true');
|
||||
document.getElementById(t.dataset.target).classList.add('active');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user