Skip to content

Comments

Fix/timestamp false positive#747

Open
recursivefaults wants to merge 2 commits intooleeskild:mainfrom
recursivefaults:fix/timestamp-false-positive
Open

Fix/timestamp false positive#747
recursivefaults wants to merge 2 commits intooleeskild:mainfrom
recursivefaults:fix/timestamp-false-positive

Conversation

@recursivefaults
Copy link

@recursivefaults recursivefaults commented Jan 30, 2026

Fixes a minor issue where file modified time changes due to syncing, indexing, etc prompting a publication even though nothing changed.

Background
The feed.xml that folks and tools can use gets filled up with posts that never really changed, but appear as though they did because their updated time changes behind the scenes. I personally use those feeds for my business/community stuff.

While a fix to the template is possible, this also addresses an issue where you make a change in one note, but dozens may get flagged to publish as well even if nothing changes.

Fix
When showUpdatedTimestamp is enabled without a custom updatedTimestampKey, the plugin falls back to file.stat.mtime which changes frequently due to syncing (Dropbox, iCloud, etc.) which is included in the hashing to detect changes.

The fix is to remove created and updated fields from the hashing if no explicit front matter field is configured or set.

This preserves both detecting meaningful changes without churning a lot of false positive updates while also allowing explicit created and updated fields to be hashed and prompt publication.

recursivefaults and others added 2 commits January 30, 2026 08:57
Wikilinks with aliases were being output as [[path\|alias]] with an
escaped pipe character. This caused YAML parsing errors in Eleventy
because \| is not a valid escape sequence in JSON/YAML strings.

Changed to use plain pipe [[path|alias]] which:
- Produces valid YAML frontmatter
- Works with the site template's split("|") link parsing
- Matches how the plugin already parses incoming wikilinks

Added comprehensive tests:
- FrontmatterCompiler tests for YAML validity
- GardenPageCompiler tests for wikilink conversion
- Integration tests using the test vault

Co-Authored-By: Claude Opus 4.5 <[email protected]>
…estamps

When showUpdatedTimestamp is enabled but no custom updatedTimestampKey is
configured, the plugin falls back to file.stat.mtime. This timestamp changes
frequently due to syncing, indexing, etc., causing notes to appear as
"changed" in the Publication Center even when their content hasn't changed.

This fix separates hash comparison content from publish content:
- Publishing: Uses full content with all timestamps (unchanged behavior)
- Hash comparison: Strips auto-generated timestamps before computing hash

User-managed timestamps (via custom frontmatter keys) are still included in
hash comparison, so intentional timestamp changes will trigger republish.

Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant