dayone-to-obsidian

Convert a JSON export from Day One into individual notes for Obsidian.


Keywords
converter, dayone, json, obsidian, python
License
MIT
Install
pip install dayone-to-obsidian==0.4.7

Documentation

Day One to Obsidian Converter

Build Status codecov PyPI - Version PyPI - Python Version

Convert your Day One journal entries into Markdown files compatible with Obsidian.

Features

  • Complete Data Migration: Transfers all text, images, and metadata (including creation dates) from Day One entries.
  • Markdown Formatting: Converts Day One entries into Markdown format, making them compatible with Obsidian and other Markdown editors.
  • Tag Support: Migrates all tags from Day One, allowing for easy categorization and search within Obsidian.
  • Image Embedding: Automatically transfers and embeds any images from Day One entries into the Markdown files.

Quick Start

Install uv package manager and run in the unpacked Day One export directory:

uvx dayone-to-obsidian run

Usage

Follow these steps for conversion:

  1. Prepare Your Day One Export: Export your Day One journal entries to a JSON file or directory containing multiple JSON files following the manual.

  2. Run the Conversion: Open a terminal or command prompt and execute the CLI with the appropriate options. The command structure is as follows:

    uvx dayone-to-obsidian run --json /path/to/your/dayone_export.json --target /path/to/target_directory [--force] [--tag-prefix=prefix] [--tag=tag1] [--tag=tag2]
    • --json: Path to your Day One export JSON file or directory. If not specified, it defaults to the current directory.
    • --target: Path to the directory where converted Markdown files will be saved. By default, a new folder is created in the current directory.
    • --force: Force the overwriting of existing journal folder.
    • --tag-prefix: Prefix for tags, allowing customization of how tags are formatted in the converted files.
    • --tag: Additional tag(s) to add to all entries. This option can be repeated to include multiple tags.
    • --help: Display the help message.

    Example command:

    uvx dayone-to-obsidian run --json ./DayOneExport/Journal.json --target ./ObsidianNotes --tag-prefix=DayOne/ --tag=Imported --tag=Journal

    This command specifies a Day One JSON export file, sets the target directory for the converted Markdown files, adds a prefix to all tags, and includes additional tags for each entry.

  3. Import to Obsidian: Once the conversion process is complete, manually move the generated Markdown files to your Obsidian vault directory.

Support

If you encounter any issues or have suggestions for improvements, please open an issue in this GitHub repository.

License

This project is licensed under the MIT License. See the LICENSE file for details.