1 unstable release
new 0.1.0 | Jan 19, 2025 |
---|
#2038 in Command line utilities
80 downloads per month
20KB
329 lines
Apple Notes Exporter
A Rust library and CLI tool for exporting Apple Notes to Markdown files.
Features
- Export all notes from Apple Notes to Markdown files
- Preserve folder structure
- Handle embedded images and attachments
- Support for frontmatter metadata
- Clean and modern Markdown output
Installation
As a CLI tool
cargo install apple-notes-exporter
As a library
Add this to your Cargo.toml
:
[dependencies]
apple-notes-exporter = "0.1.0"
Usage
CLI
# Export notes to current directory
apple-notes-exporter
# Export notes to specific directory
apple-notes-exporter -o ./my-notes
# Export without using attachments folder
apple-notes-exporter --use-attachments false
# Export without subdirectories
apple-notes-exporter --use-subdirs false
Library
use apple_notes_exporter::{export_notes, ExportConfig};
use std::path::PathBuf;
fn main() -> anyhow::Result<()> {
let config = ExportConfig {
output_dir: PathBuf::from("./my-notes"),
use_attachments: true,
filename_format: String::from("&title"),
subdir_format: String::from("&folder"),
use_subdirs: true,
};
let notes = export_notes(&config)?;
println!("Exported {} notes", notes.len());
Ok(())
}
Requirements
- macOS (uses AppleScript to access Notes)
- Rust 1.70 or later
License
MIT
Dependencies
~12–22MB
~378K SLoC