Metadata-Version: 2.4
Name: dayone-to-obsidian
Version: 0.5.7
Summary: Convert a JSON export from Day One into individual notes for Obsidian.
Project-URL: Homepage, https://github.com/kulapard/dayone-to-obsidian
Project-URL: Documentation, https://github.com/kulapard/dayone-to-obsidian
Project-URL: Repository, https://github.com/kulapard/dayone-to-obsidian
Author-email: Taras Drapalyuk <taras@drapalyuk.com>
License-Expression: MIT
License-File: LICENSE
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Internet
Classifier: Topic :: Software Development
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Typing :: Typed
Requires-Python: >=3.10
Requires-Dist: click<9.0.0,>=8.1.7
Requires-Dist: pydantic<3.0.0,>=2.5.2
Requires-Dist: python-dateutil<3.0.0,>=2.8.2
Description-Content-Type: text/markdown

# Day One to Obsidian Converter

<img src="https://raw.githubusercontent.com/kulapard/dayone-to-obsidian/master/assets/logo.png" width="100" height="100">

[![Build Status](https://github.com/kulapard/dayone-to-obsidian/actions/workflows/ci.yml/badge.svg)](https://github.com/kulapard/dayone-to-obsidian/actions/workflows/ci.yml)
[![codecov](https://codecov.io/github/kulapard/dayone-to-obsidian/graph/badge.svg?token=Y5EJBF1F25)](https://codecov.io/github/kulapard/dayone-to-obsidian)
[![PyPI - Version](https://img.shields.io/pypi/v/dayone-to-obsidian?color=%2334D058&label=pypi%20package)](https://pypi.org/project/dayone-to-obsidian)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dayone-to-obsidian)
---

Convert your [Day One](https://dayoneapp.com/) journal entries into Markdown files
compatible with [Obsidian](https://obsidian.md).

## 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](https://docs.astral.sh/uv/) package manager and run in the unpacked Day One export directory:

```bash
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](https://dayoneapp.com/guides/tips-and-tutorials/exporting-entries).

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

   ```bash
   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:

   ```bash
   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](LICENSE) file for details.
