Coder Social home page Coder Social logo

org-apple-notes's Introduction

org-apple-notes

This Emacs package will eventually provide two-way synchronization between an Org file and a document stored in Apple Notes. The goal is to provide the ability to edit notes on an Apple mobile device using the Notes app, and edit the same documents in Emacs where Emacs is available.

Right now, only push functionality from Org to Notes is implemented.

Assumptions

  • Emacs is running on a macOS machine
  • for mobile sync, the macOS user account is connected to the same iCloud account as the target mobile devices

Instructions

In an Org file, call org-apple-notes-push.

If the following are defined in the Org file, they specify which Apple Notes document to push to:

#+APPLE-NOTES-ACCOUNT: iCloud
#+APPLE-NOTES-FOLDER: Writing
#+APPLE-NOTES-TITLE: Short Story Ideas

Otherwise, the function prompts using org-apple-notes-completing-read-fn, which can be customized. Helm users should set it to helm-comp-read and Ivy users should set it to ivy-completing-read. Ido users may prefer ido-completing-read.

Limitations

org-apple-notes-pull which would read an Apple Notes document, is not currently implemented (see the Next section).

Text not round-trip cleanly due to the way the Apple Notes import process works.

  • Notes import mucks with the HTML, for example: <h2> tags get converted to <span style="font-size: 18px">...</span> tags, though native subheadings export as <h2>.
  • Notes heading formatting is not preserved and cannot be written to.
  • Notes checklists do not import or export.

Next

Should find a way to use Pandoc to read Notes into Org files. It won’t be pretty, but it should at least allow some imports, if only for source-controlled clean files (to reduce data loss).

Bugs

  • problems with quotes in titles (AppleScript escape errors)

org-apple-notes's People

Contributors

gcv avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.