// STYLE 2: REDACTED — 机密文件解密版 · 白纸 + 打字机 + 大量涂黑
// 更像一份刚刚从档案库调出来、被部分解密的文件
const redactedStyles = {
page: {
background: "#2a2420",
color: "#14110f",
minHeight: "100vh",
padding: "32px 0",
fontFamily: "'EB Garamond','Noto Serif SC',serif",
},
paper: {
background: "#e8e2d0",
margin: "0 auto",
maxWidth: 1280,
minHeight: "90vh",
boxShadow: "0 30px 80px -20px rgba(0,0,0,0.8), 0 4px 0 rgba(0,0,0,0.3)",
position: "relative",
color: "#14110f",
},
};
const paperTexture = (
);
const RedactedHeader = () => (
{/* FOIA-style header */}
DOC. REF · DA/ARCH/2026/04
DECLASSIFIED — REDACTED IN PART
PAGE 01 OF ∞
FROM THE OFFICE OF
暗黑收集站 / Archival Section
收件人:
暗黑收集站
AI DARK FILE
收集世界上不愿被提起的事
日期: 2026.04.18
依据: 档案公开法 §VII
);
const RedactedNav = ({ active, onChange }) => (
{CATEGORIES.map((c, i) => {
const on = active === c.k;
return (
);
})}
);
// Typewriter article-style card
const RedactedCard = ({ item, index }) => {
// redact some words based on item.redactions spec: [paragraphIndex, wordStart, wordCount]
const excerptWords = item.excerpt.split(/(\s|,|。|、)/);
const redactIndices = new Set();
(item.redactions || []).forEach(([_, start, count]) => {
for (let i = 0; i < count; i++) redactIndices.add(start * 2 + i * 2);
});
return (
{/* angled stamp */}
{/* file bar */}
案卷 № {item.id}
CLASSIFICATION / {item.cat_en}
{item.title}
— {item.title_en}
{/* excerpt with redactions */}
{excerptWords.map((w, i) =>
redactIndices.has(i)
? {w}
: {w}
)}
{/* meta table */}
| DATE |
{item.date} |
WIT. |
{typeof item.witnesses === "number" ? item.witnesses : item.witnesses} |
| COORD |
{item.loc.includes("涂黑")
?
: item.loc}
|
CRED. |
|
| STATUS |
● {item.status_en} |
TAGS |
{item.tags.map(t => `#${t}`).join(" ")} |
);
};
const RedactedView = () => {
const [active, setActive] = React.useState("all");
const filtered = active === "all" ? CASES : CASES.filter(c => c.cat === active);
const sitePages = [
["首页","HOME","index.html"],["分类","CATEGORY","category.html"],
["档案库","ARCHIVE","archive.html"],["地图","MAP","map.html"],
["标签","TAG","tag.html"],["关于","ABOUT","about.html"],["检索","SEARCH","search.html"],
];
return (
{paperTexture}
{/* perforation holes on left edge */}
{Array.from({ length: 18 }).map((_, i) => (
))}
{/* meta strip */}
▸ {filtered.length} FILES RETURNED
SORT: MOST RECENT ⇂
总计 {SITE.total_files} 卷 · 未结 {SITE.total_unsolved}
LAST REVIEWED · 2026.04.18
{/* two-column case list */}
{filtered.map((item, i) => (
))}
{/* footer bar */}
// END OF RELEASE. 其余内容依 §VII-b 条款保留 //
© 2017—2026 · 暗黑收集站
);
};
window.RedactedView = RedactedView;