A focused writing plugin that creates time-limited posts. Write within your deadline or the post gets archived/deleted - no extensions, no excuses!
- ⏱️ Time-Limited Writing: Set a timer when creating a new post (default: 60 minutes)
 - 📊 Status Bar Countdown: Live countdown timer in the status bar
 ⚠️ Warning System: Get notified when time is running low (default: 5 minutes)- 🎯 Grace Period: 10-second final warning with option to complete or let it fail
 - 📁 Smart Archiving: Failed posts are archived by default (not permanently deleted)
 - 🎨 Template Support: Use custom templates for your timed posts
 - 🔔 Frontmatter Tracking: All timer metadata stored in note frontmatter
 
- 
Start a Timed Post
- Click the clock icon in the ribbon, or
 - Use Command Palette: "Start Timed Post"
 - Enter your desired duration in minutes
 - A new note is created and the timer starts
 
 - 
Write Your Post
- The status bar shows your remaining time
 - You'll get a warning when time is running low
 - Focus on completing your writing within the deadline
 
 - 
Complete or Fail
- To complete: Use Command Palette → "Complete Timed Post"
 - If time expires: A grace modal appears with two options:
- "Complete now" - Save the post
 - "Let it fail" - Archive/delete the post
 
 - After the grace period (10 seconds), the post is automatically archived
 
 
- Start Timed Post: Begin a new timed writing session
 - Complete Timed Post: Mark the current post as complete
 - Cancel Timed Post: Immediately archive/delete the current post
 
- Default duration: How long each timed post lasts (default: 60 minutes)
 - Warning threshold: When to show the low-time warning (default: 5 minutes)
 - Grace period: Final warning time before archiving (default: 10 seconds)
 
- Deletion mode: Choose what happens to failed posts:
- Archive to folder (recommended) - Moves to "Failed Timed Posts" folder
 - Obsidian trash - Uses Obsidian's trash
 - System trash - Uses your OS trash
 - Permanent delete - Deletes immediately (use with caution!)
 
 - Archive folder: Where failed posts are moved (default: "Failed Timed Posts")
 - Timed posts folder: Where new timed posts are created (empty = vault root)
 - Template file path: Optional template to use for new posts
 
- Show status bar: Toggle the countdown timer in the status bar
 
Timed posts include metadata in their frontmatter:
---
timed-post: true
timed-created-at: 2025-01-04T14:30:00.000Z
timer-expires: 2025-01-04T15:30:00.000Z
---When completed:
---
timed-post: false
completed-at: 2025-01-04T15:15:00.000Z
---When failed:
---
timed-post: false
failed-at: 2025-01-04T15:30:00.000Z
failed-reason: expired
---- Focused Writing Sessions: Force yourself to write without overthinking
 - Timed Journaling: Quick daily reflections with a time limit
 - Brainstorming: Rapid idea generation under time pressure
 - Writing Sprints: Pomodoro-style writing sessions
 - Draft Creation: First drafts without perfectionism
 
This plugin is intentionally strict:
- No extensions: You get your time and that's it
 - Single active timer: Focus on one post at a time
 - Archive by default: Failed posts aren't lost, just moved
 - Restart-resilient: Timer survives app restarts and sleep
 
The goal is to create productive pressure that helps you write without overthinking.
- Open Settings → Community Plugins
 - Search for "Timed Posts"
 - Click Install, then Enable
 
- Download 
main.js,manifest.json, andstyles.cssfrom the latest release - Create a folder: 
{VaultFolder}/.obsidian/plugins/timed-posts/ - Copy the files into that folder
 - Reload Obsidian
 - Enable the plugin in Settings → Community Plugins
 
# Install dependencies
npm install
# Build for development (watch mode)
npm run dev
# Build for production
npm run buildIf you encounter issues or have suggestions, please open an issue on GitHub.
MIT License - See LICENSE file for details.
Inspired by the concept of time-boxed writing and the Pomodoro Technique.