分类经验

从项目日志中萃取的「怎么组织内容」经验。


文件夹即模板

经验: 壳按文件夹路径自动分配布局,不需要独立的映射配置文件。

  • 入流亡所策展/策展文本/ → 对话模板(人物颜色、时间戳)
  • 入流亡所策展/术语库/ → 术语模板(定义 + 出处 + 关联)
  • 系统/ → 系统文档(无特殊渲染)

日志条目: 2026-05-24 · 架构 + 壳 · 技术验证(data-slug 按路径匹配)


术语按项目隔离

经验: 每个策展项目的术语放在自己的 术语库/ 下。不设全局术语库(跨项目术语用标签关联)。

  • 原因:图谱节点太多会杂乱,项目隔离保持图谱可读
  • 跨项目关联:用 frontmatter tags: [入流亡所] 做标签筛选

日志条目: 2026-05-24 · 架构 + 壳 · 审固 #5 多项目策略


三层内容结构

经验: 每个策展项目下三层:

  1. 定题说明.md — 项目边界、人物、尺度
  2. 原始材料/ — 不改动的源文件
  3. 策展文本/ — 结构化后的正文

必要时加 术语库/。不要在这三层之外再建子文件夹。

日志条目: 入流亡所策展项目实践(2026-05-14 ~ 2026-05-24)


空右栏检测用 DOM 内容,不用 slug 模式

经验: CSS :has() 检测右栏是否有内容(graph/backlinks)比 slug 路径匹配更稳定。slug 是路径约定,:has() 是事实状态。路径约定可能变(项目改名),事实状态不会。

适用场景: Quartz 右栏显隐;任何基于 DOM 内容有无判断布局的场景。

日志条目: 2026-05-24 · 架构 + 壳 · 技术验证 #3(tag/folder/404 页右栏空)

CSS 文件按作用域分层

经验: 样式修改不要全堆在一个文件里:

  1. custom.scss — 全局布局 + 视觉风格覆盖,按区块分区(0-15 号注释)
  2. components/styles/topbar.scss — 组件专属样式
  3. Quartz 源码 scss — 不直接改,只在 custom.scss 中用 !important 覆盖

分层后修改时能快速定位,不会误改其他区域。

日志条目: 2026-05-24 · 布局重构(custom.scss + topbar.scss + footer.scss 三层覆盖)


组件 scss 加载顺序陷阱

经验: Quartz 组件 scss(如 footer.scss、sidebar-zones.scss)在 custom.scss 之后加载。同选择器同属性时,组件 scss 会覆盖 custom.scss。

对策:

  • 提高具体度(加父选择器前缀)
  • 或用 !important(确保 custom.scss 规则优先)

日志条目: 2026-05-24 · 布局重构(footer margin-bottom:4rem 覆盖 height:40px)