发布为网站

English: English · 主题与外观 · MOC-中文文档

把当前库 构建为静态站点:同一套 Markdown、同一套主题语言、文件夹树即导航。

本 docs/ 帮助库就是为 Publish 准备的。配置文件:publish.config.json。

你将得到什么

能力状态
多页 HTML✅
文件夹导航树✅
页内大纲✅
本地关系图谱(右栏)✅
主题切换✅
多语言切换(locales)✅
[[wikilinks]] → 相对链接✅
本地预览服务器✅
站点全文搜索❌(后续可扩展)

诚实边界也写在 路线图。

包含 / 跳过什么

包含: 库内 Markdown(.md / .markdown / .mdown),以及页面需要的资源。

跳过目录: .git、.obsidian、.inimark、node_modules,以及 Publish 输出目录(out,通常是 dist)。

配置了 locales 时,落在所有语言 root 之外 的笔记不会发布(除非共享门户本身也在某个 root 里)。

配置项

字段含义本库
siteName站点名Inimark Docs
siteDescription描述(meta)见配置文件
defaultTheme默认主题见配置
lightTheme / darkTheme站点界面主题对见配置
lightCodeTheme / darkCodeTheme代码块高亮主题对见配置
baseHref部署前缀GitHub Pages 用 /Inimark/
out输出目录dist
home顶层首页笔记可与各语言 home 不同
locales可选多语言见下

baseHref 易踩坑

托管方式常见 baseHref
域名根 / 本地直接打开/
GitHub 项目 Pages user.github.io/Repo//Repo/
任意静态站的子路径/your-subpath/

前缀错了 → CSS 丢失、导航坏、图片全挂。若本机用 / 预览正常、线上空白无样式,先查 baseHref。

多语言(可选)

在 publish.config.json 中声明 locales 后,站点侧栏会出现语言切换;导航树会展开当前语言 root(不再显示 zh / en 外壳)。

"locales": {
  "default": "zh",
  "languages": [
    { "id": "zh", "label": "中文", "root": "zh", "home": "zh/00-由此开始/欢迎.md" },
    { "id": "en", "label": "English", "root": "en", "home": "en/00-Getting Started/Welcome.md" }
  ]
}

每篇笔记用 front matter 配对翻译:

---
title: 欢迎
lang: zh
translationKey: welcome
---
  • lang:语言 id(可省略,会按路径是否落在某个 root 下推断)

  • translationKey:跨语言共享键;切换语言时优先跳到同 key 的译本,否则回落到该语言的 home

Publish 表单主要改 siteName / out / baseHref / home / 界面主题 / 代码主题。locales 与 siteDescription 写在配置文件里,保存表单时会 保留。

操作步骤

三种入口的关系:

入口做什么站点产物是否一致
设置 → 发布构建 / 预览任意文库(含 docs/)是 — publishLibrary
设置 → 开发 → 发布 Docs同一管线构建 docs(主题写入 publish.config.json)是 — 同一 publishLibrary
pnpm docs:deploy将已有 docs/dist force-push 到 gh-pages使用最近一次构建产物(推荐用 Dev 构建)
pnpm docs:build仅用 CLI 重建 docs/dist同一套 SSG;自定义主题打包请用 Dev/发布

应用内 Publish(任意文库)

  1. 用 Inimark 打开文库(本帮助站:docs/)

  2. 打开 设置 → 发布

  3. 确认站点名、主题(界面 + 代码)、out、baseHref、首页

  4. 发布 写出 dist/,再 预览

  5. 把 dist/ 上传到任意静态托管 — GitHub Pages 用下面的 Dev + CLI 流程

Dev 构建 + CLI 部署(本仓库 GitHub Pages)

仅开发构建(关于 → 显示开发设置):

  1. 打开 设置 → 开发 → 发布 Docs

  2. 选择亮/暗界面主题与代码主题(写入 docs/publish.config.json)

  3. 构建(可选 预览)

  4. 在仓库根目录终端执行:pnpm docs:deploy — 推送已有 docs/dist(不重建,保留 Dev 产物)

需要本机已配置可 git push 的 GitHub 认证。若要用 CLI 重建再推:pnpm docs:deploy -- --rebuild。

命令行

# 仅构建 → docs/dist(CLI 管线)
pnpm docs:build

# 推送已有 docs/dist → origin/gh-pages(在 Dev 构建之后)
pnpm docs:deploy

# 可选:CLI 重建并推送
pnpm docs:deploy -- --rebuild

站点地址:https://dionysen.github.io/Inimark/ publish.config.json 中 baseHref 已设为 /Inimark/。

首次部署后,在 GitHub 仓库 Settings → Pages 将 Source 设为 Deploy from a branch,分支选 gh-pages / root。

其它托管

目标思路
Netlify / Cloudflare Pages拖 dist/,或接仓库 + 构建命令
任意 nginx / 对象存储把 dist/ 当网站根上传(注意 baseHref)
U 盘 / 离线文件夹仅当 baseHref 兼容时再直接打开 index.html

本仓库发布到 GitHub Pages 时,站点根路径是产品宣传主页(docs/landing);文档在 /docs/ 下(如 欢迎 / Welcome)。文档侧栏左上角提供「返回主页」,可回到宣传页。各语言仍以自己的欢迎页为文档入口。

写作约定(让站点更好读)

  • 用 文件夹编号 控制导航顺序(00- 01-…)

  • 每个主题 唯一标题,方便 [[双链]]

  • 中英平行树:zh/ 与 en/,同一 translationKey 配对,也可用别名互链

  • 善用清晰标题、Callout、表格 —— 见 Markdown语法

  • 文档入口是各语言欢迎页(本库:欢迎 / Welcome);站点根主页另见上文

以后如何扩展 Publish

当你需要搜索、SEO、版本切换时,可以:

  1. 增强 Inimark Publish(产品 dogfood),或

  2. 把同一批 Markdown 同步到独立文档站

现阶段策略:先用 Publish,有需求再扩展。

空白页、缺笔记等问题见 常见问题。


相关:设置总览 · 数据目录 · 功能对照表