lwg34226 downloadsView a monthly calendar backed by local Markdown files and edit entries in the native editor.
A lightweight, offline monthly calendar for Obsidian. Each month is a single local Markdown file. The desktop view shows days 1–15 on the left and the rest on the right; phone-sized panels show one chronological column. Click a date to edit its content in the native Markdown editor.
Download main.js, manifest.json, and styles.css from the latest release. Create .obsidian/plugins/monthly-markdown-calendar/ inside your vault and place the three files directly in that folder. Reload Obsidian, enable Monthly Markdown Calendar under Settings → Community plugins, and run its 打开月度日历 (Open monthly calendar) command. The ribbon calendar icon opens the same view.
The community listing is undergoing automated review. Availability in the in-app directory depends on that review.
Calendar/YYYY-MM.md. Change the folder in the plugin settings if needed.## 2026-11-07. Add paragraphs, lists, links, and tasks below it. See the example month.+ button to open the native editor at that date. Missing files and sections offer an explicit creation dialog; existing content is never overwritten.No accounts, network requests, telemetry, ads, background sync, self-updates, or files outside the vault are used by this plugin. It reads only the selected monthly file. Embedded media is displayed as links rather than fetched in the calendar. Clicking an external link is an explicit user action.
Requires Obsidian 1.7.2 or later. The interface currently uses Chinese labels. Mobile layouts have been checked at narrow desktop viewports; physical iOS and Android devices have not been tested. This is an independent community project, not an official Obsidian product.
Use Node.js 24, run npm ci, then npm run check for the official recommended lint rules, API type checking, 20 tests, and the production build. npm run preview opens a simulated host for local UI development. The review notes and test report describe the validation scope.
一个轻量的 Obsidian 月历。桌面左侧为 1–15 日,右侧为 16 日至月底;手机和窄面板自动按日期显示单列。数据保存在普通 Markdown 文件中,点击日期使用 Obsidian 原生编辑器。
默认路径为 Calendar/YYYY-MM.md,例如 Calendar/2026-11.md。
# 2026-11
## 2026-11-01
整理本月研究计划,可以写多行。
- 阅读 [[论文笔记]]
- [ ] 完成初稿
- [x] 备份数据
## 2026-11-02
讨论会,材料见 [会议笔记](../Notes/meeting.md)。
### 备注
日期下面可以继续使用三级标题、列表和普通 Markdown。
YYYY-MM.md,日期标题固定为 ## YYYY-MM-DD,月份和日期补零。不在标题后添加星期或说明。可直接查看 完整示例。示例仅在项目目录内,不会自动复制进 vault。
需要 Obsidian 1.7.2 或更高版本。插件尚未上架社区插件目录。
main.js、manifest.json 和 styles.css。本地构建也可以使用 dist/monthly-markdown-calendar/。.obsidian/plugins/monthly-markdown-calendar/。使用自定义配置文件夹时,相应替换 .obsidian。main.js、manifest.json、styles.css 三个文件,不要再嵌套一层同名文件夹。以上是手动安装说明。构建、测试和预览命令都不会替你安装插件、修改现有 vault 或改动 Obsidian 设置。不要把整个开发项目或 node_modules 复制到 vault。
Notes/Calendar;留空表示 vault 根目录。保存设置不会移动或创建笔记。Vault.process() 原子更新。运行时没有第三方依赖,没有账户、Google Calendar、Supabase、Diane 后端、遥测、联网请求或后台同步。只有文件夹偏好通过 Obsidian saveData() 存入插件设置,日程全部保存在 Markdown 中,不存在另外一份 JSON 日程数据库。
日历使用 Obsidian 官方 MarkdownRenderer 渲染日程,不实现自定义编辑器。为避免预览自动读取额外笔记或下载媒体,嵌入 ![[note]] 和  显示为链接,原始 HTML 显示为文字。完整笔记仍可在原生编辑器正常查看。其他已安装插件对 Obsidian Markdown 渲染的扩展行为由它们自己决定。
2026-11-07 检查了 https://diane.wl342.net/calendar 和该页面实际引用的前端资源。浏览器显示登录页,未读取任何私人日程,也未调用数据后端。可以读取当前部署的前端 JavaScript 和 CSS,布局依据记录在 界面参考。
沿用桌面双栏拆分、28px 栏间距、窄日期栏、48px 最小行高和今天底色。周分隔线仅显示在周日日期数字下方,月历至少铺满面板可用高度,长内容继续撑高并允许滚动。完整显示 Markdown,不使用 Diane 的两行截断;颜色使用 Obsidian 主题变量;手机和窄面板使用单列;点击进入原生笔记,替代网站的详情弹窗。
需要 Node.js 22 或更高版本,首次安装开发依赖需要网络,插件本身不需要。
npm ci
npm run check
npm run preview
check 运行官方 API 类型检查、解析和宿主模拟测试,并生成安装目录。preview 在 http://127.0.0.1:5187 提供同一份插件视图的浏览器预览,Obsidian API 和 Markdown 渲染使用测试替身,不接触 vault。该预览并非 Obsidian 实机截图。
测试覆盖和实测范围见 测试报告。开发依赖不进入发布包。npm run dev 可持续构建根目录 main.js,不会自动部署。
此次开发已在用户授权的项目内独立 .test-vault 中通过 Obsidian 1.15.0 实机验收。该测试副本和 .test-profile 不属于安装包,也不会被构建脚本部署到其他 vault。
以下是 v0.1.4 的 Obsidian 真实运行截图,日期数字在日期栏内水平居中,空日期使用“+”,周分界线位于日期数字下方、与日期栏等宽并使用主题强调色,月历铺满可用高度。正常月份不再显示统计及编辑提示行。

手机宽度浅色效果 · 手机宽度深色效果。这两张截图来自桌面 Obsidian 的 390px 视口模拟,未在 iOS / Android 真机验收。
.obsidian/plugins/monthly-markdown-calendar/。Calendar/*.md 或你配置的月份目录保持原样,可以继续用 Obsidian 或任何文本编辑器编辑。卸载不删除日程。src/calendar.ts 日期计算、格式解析、只追加变换。src/storage.ts 本地文件创建及原子更新。src/view.ts 独立视图、刷新、定位及创建入口。src/main.ts 命令、注册和文件夹设置。styles.css 插件样式,限定在插件类名中。tests/ 解析测试、Obsidian 宿主模拟和浏览器预览。dist/ 可安装文件与发布压缩包。MIT © 2026 Weiguang Liu.