Skip to content

cdzombak/wdproc

Repository files navigation

WriterDeck Processor (wdproc)

Monitors folders synced from a WriterDeck and automatically converts new files into entries in Day One or tasks in Things.

I use Syncthing to sync files from WriterDeck to my Mac.

Installation

macOS via Homebrew

brew install cdzombak/oss/wdproc

Manual installation from build artifacts

Pre-built binaries for macOS on various architectures are downloadable from each GitHub Release.

Build and install locally

git clone https://github.com/cdzombak/wdproc.git
cd wdproc
make build

cp out/wdproc $INSTALL_DIR

Configuration

Configuration is provided via a YAML file. See config.example.yaml.

version: 1

paths:
  journal: "~/WriterDeck/Journal"
  tasks: "~/WriterDeck/Tasks"

processing:
  journal_min_age: "4h"
  tasks_min_age: "1h"

integrations:
  day_one:
    enabled: true
    journal: "Default"
    tags: ["via:WriterDeck"]
  
  things:
    enabled: true
    tags: ["via:WriterDeck"]

Usage

wdproc [OPTIONS]

Options:
  --config PATH     Path to configuration file (default: ./config.yaml)
  --version         Show version information
  --verbose         Enable verbose logging
  --dry-run         Preview actions without executing (default: true)

Basic Usage

  1. Configure the tool by editing config.yaml
  2. Run with --dry-run=false to actually process files
  3. Files will be processed based on their age and moved to Trash after successful integration

Prerequisites

  • Day One CLI: Install via /usr/local/bin/dayone2 (required for Day One integration)
  • Things 3: Must be installed for Things integration to work
  • WriterDeck: Set up your folder structure in ~/WriterDeck/

Automation with launchd

For automatic processing, you can use the included launchd plist file com.dzombak.writerdeckproc.plist to run wdproc periodically.

Note: You will need to adjust the paths in the plist file to include your own username and configuration file location.

# After making edits, copy the plist to LaunchAgents directory
cp com.dzombak.writerdeckproc.plist ~/Library/LaunchAgents/

# Load the agent (runs every 5 minutes)
launchctl load ~/Library/LaunchAgents/com.dzombak.writerdeckproc.plist

# Start the agent immediately
launchctl start com.dzombak.writerdeckproc

# Check status
launchctl list | grep writerdeckproc

License

MIT License; see LICENSE in this repo.

Author

Chris Dzombak (dzombak.com / github.com/cdzombak).

About

Add files synced from WriterDeck to Day One or Things

Topics

Resources

License

Stars

Watchers

Forks

Contributors