Comments (2)
Hi there! Thank you for taking the time to reach out and ask these questions! I will try to answer them one by one.
Why java ? Java is old and slow, require an interpreter to be installed (which can be buggy) and make project release as a jar.
I would personally have chosen a language such as swift for performance and "Apple friendly" that would have produced a optimised binary.
A binary could then be published to macOS package manager: brew. Making installation, upgrade easy.
I'm not sure this can be achieved with a jar but currently user has track updates manually and call it with java -jar apple-notes-liberator.jar which is not user friendly.
So is there a technical reason why you chose java ?
I wanted to learn more about working with Quarkus, and Quarkus is a Java-based framework. Simple as that!
If a binary is achieved and published to brew. I can help you with the publicataon process and provide the formula file. Using GitHub workflows (CI/CD) to auto-update this formula file would also be a good idea.
I do want to add a bit of CI/CD, and you are of course welcome to help! (see #7). As far as distribution, I've added instructions to the readme on how to install the application (and keep it up to date) with JBang. JBang enables a less-clunky distribution and usage experience.
Why output as a minified json ? I would have done an option to export as HTML, markdown and maybe even an format that allow import to other notes apps (the popular FOSS ones)
Because JSON was the easiest format to support. It is however by no means planned to be the only format supported (see #19, for example).
Is there any plan to make it possible to import notes that were previously exported ? If json is not human readable, its main utility would be a backup (which could be restored later)
Not at this time. I'm more than a little wary of making any modifications to a user's actual Notes database because I have no idea how Notes.app would treat updates that it itself did not make. Perhaps it would be fine, but perhaps not, and I don't want this application to be the reason your notes get corrupted. In addition, the focus of this application is planned to remain on getting data out of Notes.app, not putting data in.
Any and all contributions are welcome, so if you want to add or change something, please feel free to go ahead and do it and open a pull request!
from apple-notes-liberator.
I am going to close this but if you want to discuss further or have any other questions feel free to open up another issue!
from apple-notes-liberator.
Related Issues (20)
- Support checklists
- Add textbundle support HOT 2
- Update application version in nix shell HOT 3
- Support bullet points HOT 1
- Fix duplicated titles
- Support numbered lists HOT 1
- Support Github Flavored Markdown Spec HOT 1
- Place markdown notes into the same file hierarchy as they exist in Notes.app HOT 1
- Cannot invoke because return value of getzFolder() is null HOT 4
- upgrade to quarkus 3
- Look for data in all ZMERGABLEDATA columns
- Add option to disable Markdown header prefix and/or detect if title is already prefixed with the markdown header character HOT 1
- Make sure application can be run against Notes.app databases that don't have all columns in their schema HOT 5
- Can't run and successfully get past usage HOT 5
- -f or --file not working HOT 3
- Cannot invoke "java.lang.Integer.intValue()" because "rowIndex" is null HOT 8
- update quarkus
- improve logging
- Markdown files are empty
- SQL Error
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from apple-notes-liberator.