Skip to content

Commit 11aa088

Browse files
authored
Merge branch 'main' into dependabot/github_actions/github/codeql-action-4
2 parents c28d78e + b0a6600 commit 11aa088

File tree

9 files changed

+216
-46
lines changed

9 files changed

+216
-46
lines changed

.claude.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# CLAUDE.md
2+
3+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
4+
5+
## Development Commands
6+
7+
- **Build for production**: `bun build.mjs production`
8+
- **Development build with watch**: `bun dev` (builds to test-vault/.obsidian/plugins/ for testing)
9+
- **Format code**: `bun format`
10+
- **Lint code**: `bun lint`
11+
- **Build**: `bun build`
12+
13+
Always run format, lint, and build commands after making changes.
14+
15+
## Architecture Overview
16+
17+
This is an Obsidian plugin that tracks file modifications and maintains a chronological changelog. The architecture consists of:
18+
19+
### Core Components
20+
21+
- **ChangelogPlugin** (`src/main.ts`): Main plugin class handling file system events, debounced change detection, and changelog generation
22+
- **ChangelogSettingsTab** (`src/settings.ts`): Settings UI with path autocompletion and folder exclusion management
23+
- **PathSuggest** (`src/suggest.ts`): File/folder path autocompletion component
24+
25+
### Key Plugin Behaviors
26+
27+
- Uses debounced file system event listeners (modify, delete, rename) to trigger changelog updates
28+
- Generates markdown-formatted entries with timestamps using Moment.js
29+
- Filters files by exclusion rules and limits results to configurable maximum
30+
- Completely overwrites the changelog file on each update
31+
- Supports both manual commands and automatic updates
32+
33+
### Development Setup
34+
35+
- Built with Bun as the build tool and package manager
36+
- Uses custom `build.mjs` script that handles both production and development builds
37+
- Development builds copy files to `test-vault/.obsidian/plugins/` for local testing
38+
- TypeScript with strict mode enabled and modern ESNext target
39+
40+
### Testing Environment
41+
42+
The `test-vault/` directory serves as a local Obsidian vault for plugin development and testing.

CHANGELOG.md

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,33 @@
22

33
## Unreleased
44

5+
## 1.2.0
6+
57
### Added
68

79
- Test vault for easier development and testing
810
- Hot-reload plugin to test vault for seamless development
11+
- "Use wiki-links" setting to optionally disable wiki-link formatting (addresses #9)
12+
- "Changelog heading" setting to optionally prepend a heading to the changelog (addresses #4)
913

1014
### Changed
1115

1216
- Moved styles to external CSS file
1317
- Restructured documentation into separate files following GitHub standards
18+
- Improved README with use cases, intent description, and alternatives section (addresses #46)
1419

1520
### Maintenance
1621

1722
- Improved internal documentation
1823
- Added Dependabot configuration for GitHub Actions
19-
- Updated development dependencies:
20-
- TypeScript from 5.7.3 to 5.8.2
21-
- TypeScript ESLint parser from 8.25.0 to 8.26.0
22-
- TypeScript ESLint plugin to 8.26.0
24+
- Updated all development dependencies to latest versions:
25+
- TypeScript 5.7.3 → 5.9.3
26+
- TypeScript ESLint parser 8.25.0 → 8.46.0
27+
- TypeScript ESLint plugin 8.25.0 → 8.46.0
28+
- ESLint 9.22.0 → 9.37.0
29+
- Prettier 3.5.3 → 3.6.2
30+
- eslint-config-prettier 10.1.1 → 10.1.8
31+
- Obsidian API 1.8.7 → 1.10.0
2332

2433
## 1.1.0
2534

README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,29 @@
22

33
A plugin to maintain a change log of recently edited files in your Obsidian vault. Updates can be triggered manually or automatically.
44

5+
## Why Use This Plugin?
6+
7+
**Vault Changelog** is ideal if you want:
8+
- **A persistent, text-based record** of recently edited files that survives vault moves and syncing
9+
- **Simple configuration** with a single command to update your changelog
10+
- **Minimal overhead** without needing to learn query syntax or manage complex workflows
11+
- **Embeddable output** that can be referenced from other notes (e.g., a dashboard or index)
12+
- **Clean graph view option** by disabling wiki-links to avoid cluttering your graph
13+
14+
### Use Cases
15+
16+
- **Personal knowledge base**: Track your daily writing and review what you've been working on
17+
- **Team collaboration**: Share a changelog of recent edits with collaborators
18+
- **Obsidian Publish**: Display a nicely formatted list of recent updates on your published site
19+
- **Daily/weekly reviews**: Embed the changelog in periodic notes to reflect on your work
20+
- **Project tracking**: Monitor activity in specific folders (using excluded folders feature)
21+
522
## Features
623

724
- Tracks recently edited notes in a centralized changelog.
825
- Supports both manual and automatic updates.
926
- Customizable file paths, timestamps, and entry limits.
27+
- Optional wiki-links and heading configuration.
1028

1129
## Important
1230

@@ -36,19 +54,66 @@ On behalf of the Obsidian community, we extend our gratitude to Badr for this va
3654

3755
## Example Output
3856

57+
With wiki-links enabled (default):
3958
```markdown
4059
- 2024-01-28T14:30 · [[Note Title]]
4160
- 2024-01-28T14:25 · [[Another Note]]
4261
```
4362

63+
With wiki-links disabled:
64+
```markdown
65+
- 2024-01-28T14:30 · Note Title
66+
- 2024-01-28T14:25 · Another Note
67+
```
68+
69+
With a heading configured:
70+
```markdown
71+
# Changelog
72+
73+
- 2024-01-28T14:30 · [[Note Title]]
74+
- 2024-01-28T14:25 · [[Another Note]]
75+
```
76+
4477
## Settings
4578

4679
- **Auto update**: Enable automatic updates (`false` by default).
4780
- **Changelog path**: File location for the changelog (`Changelog.md` by default).
4881
- **Datetime format**: Moment.js format string (`YYYY-MM-DD[T]HHmm` by default).
4982
- **Max recent files**: Number of tracked files (`25` by default).
83+
- **Use wiki-links**: Format filenames as wiki-links `[[note]]` instead of plain text (`true` by default).
84+
- **Changelog heading**: Optional heading to prepend to the changelog (empty by default). Example: `# Changelog`
5085
- **Excluded folders**: Folders to exclude from the changelog (empty by default).
5186

87+
## Alternatives
88+
89+
While **Vault Changelog** provides a simple, persistent changelog, you might prefer alternatives depending on your needs:
90+
91+
### Other Plugins
92+
93+
- **[List Modified](https://github.com/franciskafieh/obsidian-list-modified)**: A more advanced changelog plugin that links modified files to daily, weekly, or monthly notes. Best for users who want changelog entries integrated into periodic notes rather than a single standalone file.
94+
95+
- **[Recent Files](https://github.com/tgrosinger/recent-files-obsidian)**: Adds a sidebar pane showing recently opened (not edited) files. Great for quick navigation but doesn't create a persistent text record.
96+
97+
- **[Obsidian Git](https://github.com/denolehov/obsidian-git)**: For detailed version control and change history. Overkill if you only need a simple list of recently edited files, but essential for tracking actual content changes and collaboration.
98+
99+
### Dataview Alternative
100+
101+
If you already use the **[Dataview](https://github.com/blacksmithgu/obsidian-dataview)** plugin, you can achieve similar results with a query:
102+
103+
````markdown
104+
```dataview
105+
TABLE dateformat(file.mtime, "yyyy-MM-dd HH:mm") AS "Last Modified"
106+
FROM ""
107+
SORT file.mtime DESC
108+
LIMIT 25
109+
```
110+
````
111+
112+
**Dataview pros**: Dynamic queries, no plugin needed if you already use Dataview, can filter by folders/tags
113+
**Dataview cons**: Requires learning query syntax, queries don't work in all contexts (e.g., mobile widgets, some themes)
114+
115+
**Vault Changelog pros**: Simple one-command update, works everywhere (embeds, Obsidian Publish, mobile), persistent text output, no query syntax needed
116+
52117
## Documentation
53118

54119
- [Changelog](CHANGELOG.md)

0 commit comments

Comments
 (0)