benjaminezequiel/keep-the-rhythm
GitHub: benjaminezequiel/keep-the-rhythm
一个 Obsidian 插件,用于通过热力图追踪每日字数和设定写作目标,帮助用户保持写作习惯。
Stars: 98 | Forks: 19
# 保持节奏
"保持节奏" 是一款 Obsidian 插件,通过追踪每日字数、设定写作目标以及通过热力图和可自定义代码块可视化数据,帮助您保持稳定的写作习惯。

## 功能特性
- **写作统计**:自动追踪您在 Obsidian 中每日撰写的单词/字符数
- **目标与连续记录**:设定每日写作目标,并追踪您连续达成目标的天数
- **热力图**:查看随时间变化的写作活动(有助于保持一致性与动力)
- **自定义插槽**:展示各种写作统计数据(今日撰写、本周撰写、今年平均等)
- **按日查看条目**:轻松查看并导航至您今天处理过的文件
- **嵌入式组件**:使用自定义代码块将热力图、插槽和条目小组件插入任意笔记
- **高级筛选**:使用查询语法筛选特定文件夹或文件模式的写作统计数据
- **多设备同步**:跨不同设备同步并合并统计数据
## 安装方法
#### **推荐!**
#### 手动安装
从此仓库的"Releases"部分下载最新版本文件
在 `/.obsidian/plugins/` 路径下创建名为 `keep-the-rhythm` 的文件夹
重新加载 Obsidian
前往设置 > 社区插件,启用"Keep the Rhythm"
## 使用说明
### 基本用法
安装并启用后,"保持节奏"将自动开始追踪您的写作活动。要查看统计数据:
1. 点击左侧边栏中的"保持节奏"图标,或使用命令 `Open sidebar view`
2. 插件面板将显示您的热力图、当前统计数据及今日条目
3. 通过悬停并点击各个插槽来设置您偏好的单位和数据点
4. 悬停在任意单元格上可查看该日的确切字数
### 写作目标
设定并追踪您的每日写作目标:
1. 在插件设置中定义每日目标字数
2. "保持节奏"将追踪您连续达成目标的天数
3. 在侧边栏或通过嵌入式插槽查看当前连续记录
### 热力图自定义
通过各种选项自定义热力图外观:
- 着色模式:
- `gradual`:平滑的颜色渐变
- `solid`:单一颜色强度
- `stops`:具有阈值的离散颜色层级
- `liquid`:颜色从底部向上填充单元格
- 单元格形状:选择 **圆角**(默认)或 **方角** 单元格
- 交互式导航:点击单元格可跳转至对应日期的笔记(使用 Obsidian 核心插件 _Daily Notes_)
### 数据插槽
使用可自定义插槽展示各种写作统计数据:
- 当前范围:`CURRENT_FILE`, `CURRENT_DAY`, `CURRENT_WEEK`, `CURRENT_MONTH`, `CURRENT_YEAR`
- 这些是根据天/周/年的起点计算的动态范围
- 历史统计:`LAST_DAY`, `LAST_WEEK`, `LAST_MONTH`, `LAST_YEAR`
- 这些是根据离散时间范围(24小时、7天、30天、365天)计算的
- 目标追踪:`CURRENT_STREAK`
- 库总览:`WHOLE_VAULT`
### 代码块
"保持节奏"提供三种可嵌入的代码块。
#### 热力图 (`ktr-heatmap`)
嵌入带有筛选和显示选项的可自定义热力图:
```
filePath starts_with "journal"
OPTIONS // must always start with the OPTIONS header
HIDE month_labels, weekday_labels // allows to hide the labels
COLORING_MODE liquid // toggles the coloring mode (liquid, stops, solid or gradual)
STOPS 100, 500, 1000 // changes the keypoints used for calculating the color of the cells
SQUARED_CELLS // changes the cell styling for a more squared look
ROUNDED_CELLS // changes the cell styling for a rounded look
WEEKS 24 // changes how many weeks are displayed (can affect performance)
```
查询语法:
- 按文件路径筛选:`filePath starts_with "folder_name"`
- 组合查询:`(filePath starts_with "journal") OR (filePath starts_with "worldbuilding")`
可用选项:
- `HIDE month_labels, weekday_labels`:隐藏特定标签
- `COLORING_MODE`:设置为 `liquid`, `stops`, `solid` 或 `gradual`
- `STOPS`:定义阈值(例如 `100, 500, 1000`)
- `SQUARED_CELLS` 或 `ROUNDED_CELLS`:控制单元格外观
#### 数据插槽 (`ktr-slots`)
使用可自定义指标显示内联统计数据:
```
CURRENT_WEEK, WORDS
CURRENT_DAY, CHARS
CURRENT_STREAK
WHOLE_VAULT
CURRENT_MONTH, WORDS, AVG
CURRENT_YEAR
```
可用插槽:
- `CURRENT_FILE`:显示当前文件的字数
- `CURRENT_STREAK`:显示连续完成写作目标的天数
- `CURRENT_DAY`:显示从今天开始到现在撰写的字数
- `CURRENT_WEEK`:显示从本周开始撰写的字数(目前定义为星期一,稍后将添加设置)
- `CURRENT_MONTH`:显示从本月开始撰写的字数
- `CURRENT_YEAR`:显示从今年开始撰写的字数
- `LAST_DAY`:过去24小时内撰写的字数
- `LAST_WEEK`:过去7天内撰写的字数
- `LAST_MONTH`:过去30天内撰写的字数
- `LAST_YEAR`:过去365天内撰写的字数
- `WHOLE_VAULT`:库中所有 Markdown 文件的总撰写字数
**选项**:
- 指定 `WORDS` 或 `CHARS` 作为计数单位
- 添加 `AVG` 用于适用场景的平均值计算
#### 每日条目 (`ktr-entries`)
显示特定日期的写作活动:
```
2024-03-15
```
显示指定日期(`YYYY-MM-DD` 格式)的活动。如果未提供日期,则显示当前日期的活动。
## 设置与自定义
通过插件设置访问全面的自定义选项:
- 设定每日写作目标并追踪连续记录
- 配置热力图外观(着色、单元格形状、标签)
- 切换不同插件组件的可见性
## 数据与隐私
"保持节奏"**将所有数据本地存储**在您的 Obsidian 库中。不会向外部服务器发送任何数据。您的写作统计数据保存在插件数据目录中的一个 JSON 文件里。
## 常见问题
#### 为什么不使用 Better Word Count?
我在发现 Better Word Count 虽然有用,但在 Obsidian Sync 上存在问题——切换设备时统计数据会被覆盖后,构建了这个插件。
"保持节奏"通过正确保存和跨设备合并数据解决了这个问题,确保您的写作进度始终被准确追踪!
标签:Obsidian插件, 个人效率, 写作习惯, 写作工具, 写作目标管理, 写作辅助, 多模态安全, 多设备同步, 字数统计, 字数追踪器, 数据可视化, 数据同步, 日常记录, 热力图, 热力图可视化, 生产力工具, 目标设定, 笔记软件, 自动化攻击, 自定义代码块, 连续天数跟踪, 高级过滤