14 ms·
GitJournal: Mobile first Markdown notes synchronized with Git
- Barrin92 4y agoAnother good open source, markdown based alternative that I used for a long time is Joplin. Also has git sync built in and is cross platform. https://joplinapp.org/ https://joplinapp.org/
- smcleod 4y agoUnfortunately the desktop "app" for Joplin is Electron.
- lf-non 4y agoThere is also a terminal application if you don't like electron https://joplinapp.org/terminal/ https://joplinapp.org/terminal/
- meribold 4y agoI just installed the iOS app and as far as I can tell there's no option to sync using Git.
- prepend 4y agoSame here, I see Dropbox, OneDrive, Joplin cloud, webdev, s3, nextcloud, Joplin server but no git. The app seems nice but I think git history and durability is a good feature.
- schaefer 4y agoInterestingly, GitJournal has an import function from Joplin. [1]: https://gitjournal.io/docs/import/joplin/ https://gitjournal.io/docs/import/joplin/
- encryptluks2 4y agoImport your free notes that work just as well into our paid app with the same or less features.
- schaefer 4y agoThat's a pretty cynical view of what's happening here. A real human is working full time on GitJournal. They have built the mobile apps for you as a convenience. But if that's not a good fit for you, The project is open source[1]. Build it yourself. [1]: https://github.com/GitJournal/GitJournal https://github.com/GitJournal/GitJournal
- vhanda 4y agoAuthor here. What I'm pushing for is open formats + git for sync. That way, you can easily combine different tools. GitJournal is never going to do everything, the note taking app world is way too complex. Instead, my plan was for GitJournal to be one other tool in your workflow.
- saxelsen 4y agoI'm a fairly happy user of Joplin - it's great if you want a synchronised cross-device markdown editor! I write "fairly happy", because there is a longstanding issue with the Android app where notes that have more than 10 lines start to experience crazy lag when editing. So I mainly use the desktop version for writing. Wish they would fix the Android bug!
- a_c 4y agoAnyone using tiddlywiki on mobile? I use tiddlywiki on desktop. I wonder how the experience is compared with gitjournal
- livelace 4y ago~9-11 months ago moved my confluence content to git repo and install on my mobile devices gitnex (gitea mobile app) and since that i use that for notes and wiki.
- meremortals 4y agoI loved this for a while, then started having issues where it would hang upon attempting to re-sync all of my notes randomly on launch. I switched to Zettel Notes which has been reliable and fast
- vhanda 4y agoSorry about that. Clearly deciding to write git myself instead of fixing the problems with all cross-compilation was a terrible idea. I've now reverted back to libgit2, since I don't need to access it via Dart -> Flutter Message -> Android -> NDK -> custom C wrapper -> libgit2.
- meremortals 4y agoAh, nice-- will give it another go! Thanks for building it. I enjoyed it so much prior that I even paid for the "Pro" version
- echelon 4y agoObsidian, despite not being open source, has been my favorite cross-platform, organizable Markdown editor. It's easily synchronized with git, which gives it so much potential. The next biggest wish I have is for inclusion and management of binary files. Photos, videos, etc. It'd be nice for them to not be in the git repo, but to still be distributed, addressable, annotatable, and with some kind of cross-platform UI (Linux, Windows, Mobile, Web). Even better if it's easy to automate workflows to publish to a public personal wiki / blog / website.
- trickjarrett 4y agoI don't know why I never considered using git for syncing it. I currently just use some scripts to sync to the server on laptop and on my phone.
- infogulch 4y agoI wonder if it would be reasonable to use git LFS for these kinds of binary files. Would that work with GitJournal? I've heard stories that git LFS is 'bad' somehow, but I'm not familiar with why and I wonder how applicable those issues would be to this kind of use-case.
- vhanda 4y agoGitJournal doesn't yet support LFS, and since neither libgit2 or go-git supports it, it's unlikely that I'll implement it. (last I checked it wasn't supported, maybe things have changed). I do, however, want to support partial clones and easier tools to cleanup the history and reduce the repo size.
- jpatters 4y ago> and since neither libgit2 or go-git supports it libgit2 already supports filters and that’s all you need to build lfs support (actually, you don’t even really need to use them if you don’t want to). Lfs itself is not a feature of git. It’s a specification that defines a protocol for replacing large files with pointers (via the use of the smudge and clean filters) and uploading said large files to another location. Source: I am the cofounder and former CTO of forestry.io, a git backed content management system, and I implemented lfs support in conjunction with libgit2 in that product about 4 years ago.
- superb-owl 4y agoI'd love to see "sync with git" become a standard app feature. Too many app developers realize they need some kind of shared state "in the cloud" and end up with a database and a backend server. Many of them would be better off if they had a reliable way to push the state management to a user-controlled space, like a git repo or Dropbox
- ChadNauseam 4y agoThat’s a great idea. Although key management might be a problem. Also, you might have conflicts if you try to push from one device after having previously pushed from another device.
- hoherd 4y agoConflicts aren't specific to git. Git offers a history of those conflict resolutions though, which lets you correct them if they were not done right. I used to store my DayOne journal in git, and boy, their cloud sync conflict resolution was sometimes quite destructive. Having the git history showed me that, and allowed me to correct it.
- vhanda 4y agoA few things are lacking. 1. Decent desktop apps to sync the data, not everyone is comfortable hacking a Cron script. I've started with that - https://GitHub.com/GitJournal/git-auto-sync https://GitHub.com/GitJournal/git-auto-sync - but it's in the early stages. 2. For mobile apps, a way to drastically reduce the overhead. Cross compiling libgit2 + deps + NDK is a major pain, and jGit uses more modern java features so you need to target a higher version of Android. (This was in early 2019, when I first started GitJournal) 3. There is no competing with a simple http call vs the complexity of git. Plus the entire onboarding process. 4. Many many apps do write to Dropbox or Google Drive, but for me that's not a win as you aren't in control of your data. 5. While hosting your own git server is arguably easier than self hosting anything else, the majority of users in GitJournal (more than 80% use GitHub, this was about a year ago.) There is also a bias as people who self host are more likely to switch off the analytics. I don't send any message when analytics are switched off, so I don't know. 6. We need end-to-end encryption in Git, like keybase was providing, but open source and hostable in any git repo. I started a proof of concept of a custom remote where I just write all the git objects to another git repo, but haven't gotten very far. Disclaimer: I'm the author of GitJournal.
- kevinslin 4y agohappy customer of gitjournal. also creator of a git backed open source note taking tool. we don't have a dedicated mobile app (yet) and recommend folks use gitjournal > https://blog.dendron.so/notes/fDCVPEo3guCFWPdxokXHU#gitjournal https://blog.dendron.so/notes/fDCVPEo3guCFWPdxokXHU#gitjourn...
- cookieswumchorr 4y agoare the two apps compatible to use simultaneously with the same notebook?
- kevinslin 4y agoyep
- khimaros 4y agoit would be great to see this on F-Droid
- vhanda 4y agoI haven't yet integrated a third party payment mechanism, so I can't really add it to the official FDroid Repos. Till then, I maintain my own repo - https://gitjournal.io/fdroid_how_to/ https://gitjournal.io/fdroid_how_to/ The updates are auto-synced with the Android updates, so you'll always get them at the same time or sooner.
- livinglist 4y agoGood to see more flutter apps thrive!
- vhanda 4y agoHello people of HN. I'm the author, and didn't expect this to get posted here as I introduced a bug in the iOS version where cloning a repo might fail if it doesn't have a single note. Sorry about that. A bugfix version will hopefully be soon available. I'm happy to answer any questions.
- sAbakumoff 4y agoDid you intentionally copy Google Keep design?
- vhanda 4y agoYup. Though the UI is pretty customizable. My initial (and even now) aim with GitJournal was to satisfy 2 of my needs - A good journalling app where I have control of my data. I used to use Journey [0], but they kept adding more and more cruft, and having to export my data + relying on Google wasn't something I liked. The other is Google Keep. I still have a long way to go to get their level of usability though. Things just feel so much nicer in Google Keep. Now, since I've been using Obsidian more, I'm starting to incorporate more features from it. So UI is a mix of all 3. I just noticed that the screenshot carousel in the website is broken. - [0] https://journey.cloud/ https://journey.cloud/
- mtremsal 4y agoObsidian on desktop and GitJournal on mobile (android then iOS) has been a winning combination for me! Thank you for developing this app and for being so responsive to support requests Vishesh! One small discrepancy between the 2 products is that GitJournal handles the file’s title as both the filename and an h1 inside it, while Obsidian doesn’t sync both by default IIRC. I’m using an obsidian plugin to keep them in sync (i.e. overwrite one when the other changes). I think GitJournal has the correct default behavior but with how popular obsidian is, a setting to behave like obsidian might be useful. My 2 cents.
- deleted 4y ago[deleted]
- hegelguy 4y agoObligatory: Does it work with org-mode?
- tharakam 4y agoI also want a similar app for org-mode. Presently, I'm using a cron (every 2 mins) that sync my org folder with github. But it's not for the mobile.
- vhanda 4y agoKind of. There is basic support because of another open source org mode app - Orgro (https://orgro.org https://orgro.org), - the author was even gracious enough to relicense his code away from GPL, so that I could use it. since GitJournal is shipped on the iOS store and GPL would not be compatible. However, GitJournal internally expects everything to be markdown + yaml. So anything else are hacks I've done on top. At some point, I want to refactor and remove this hard dependency on Markdown. Edit: I mistakenly thought the app was Orgzy. I've updated the comment. Sorry.
- lf-non 4y agoI am curious: why shipping on iOS store makes it incompatible with GPL ? I mean I respect your decision to make it open-source or not, but why does the store matter ?
- 4y ago
- TheCycoONE 4y agoI was going to ask about vimwiki compatibility but based on a read through of the github it looks like it should basically work. It also looks like the author is aware https://github.com/GitJournal/GitJournal/issues/436 https://github.com/GitJournal/GitJournal/issues/436
- meribold 4y agoThere's a recent discussion about Vimwiki compatibility here: <https://redd.it/s3k9cj https://redd.it/s3k9cj>.
- knowmad 4y agoThe github sync functionality of this app excited me, because my current workflow is: 1. Open MGit and pull changes from origin main 2. Open Markor and make changes 3. Switch back to MGit and commit and push changes Unfortunately this app doesn't hold a candle to Markor when it comes to editing and navigating. - Navigating links between files is a pro feature - There is no markdown syntax highlighting while editing - There is no way to favorite or bookmark files to easily navigate to them As someone who uses GitHub and Markdown as a personal wiki this app doesn't have the features required to be usable for me. Looks like MGit will continue to be an unfortunate part of my life.
- vhanda 4y agoWhen GitJournal boots, it autocommits and pushes any untracked changes. You could use it to avoid having to click around in mGit. If you had to pick one feature, which I could implement to help, which would it be? Disclaimer: GitJournal author
- futureduck 4y agoNot parent but i feel i share some of his concerns: an even better markdown editor would be nice. The current one is better than a lot of others but would love if it eventually supported more markdown concepts. Personally i have these things that bother me: * an option for a fixed width font in markdown editor (i like the look of the raw editor but i like the convenience of the markdown one) * code syntax highlighting * creating/changing tables with less effort * very aggressive quoted text styling in light mode Thanks for making reasonable software. :)
- tonymet 4y agohow does ssh sync work with the app suspended? i would expect you to need to keep the radio awake to maintain connection
- vhanda 4y agoIt doesn't work when the app is suspended. I tried experimenting with running a background async job every 'x' minutes, but encountered problems with Flutter + background tasks so I put it on hold.
- jpatters 4y agoI bought this for iOS a couple years ago and was happily using it until some of the features got moved behind a pay wall. To have an app that I paid money for suddenly start charging for features that I already bought was super annoying. Hopefully they have rethought that move by now but it was enough to turn me off of it.
- kragen 4y agoPresumably you can compile the old version from source and install the version you compiled, right? Or was it not yet licensed under the AGPL?
- vhanda 4y agoHi. I'm the author. I never moved any features behind a paywall. Only new features are paid. Also, the entire source code (pro features as well) are completely open source. Regardless, I'm not happy that you feel cheated. Is there someway to ask Apple for a refund?
- jpatters 4y agoThanks for the response. Maybe I’m remembering the features being moved incorrectly. Regardless, I did feel cheated because I had just paid money for the app and now it was asking me to pay more money for what I thought I had just bought. I didn’t realize this was open source (maybe it wasn’t 2 years ago?). Also, it was 2 years ago. There’s no way to get a refund from apple. I’ll be honest, I just wanted to caution people so that they knew it had to be paid for twice. However, I see that it is now free from the App Store with an in app pay to upgrade. That’s definitely better than the experience that I had. So good job changing that. Edit: it isn’t free on the apple app store. I failed to realize that I t shows as free for me because I already purchased it of course.
- vhanda 4y agoUnderstood. Maybe it's cause I had earlier experimented with a subscription instead of paying once for the new features. Shoot me an email please, I'll provide you with some coupon codes so you can get the pro features without paying, just in case you want to try it out again.
- kragen 4y agoThis looks great! Free software under the AGPL, too! For my own notes, I've mostly been using Markdown, which doesn't have fenced code blocks, but I've been thinking I might upgrade to a different language like CommonMark or GitLab-Flavored Markdown that does support them. One of the main reasons is the possibility of embedding non-text things in my notes; for example, the other day I was messing around with exact pole-zero cancellation in DSP in https://nbviewer.org/url/canonical.org/~kragen/sw/dev3/pole-zero-cancellation.ipynb https://nbviewer.org/url/canonical.org/~kragen/sw/dev3/pole-..., which involved a lot of TeX equations and data plots of algorithmically generated output. Jupyter notebooks can do those things, but they have a number of extremely serious drawbacks for this sort of thing, such as irreproducibility, aggressively backwards-incompatible file formats, lack of interactivity (despite ipywidgets), unacceptably large "source code" file size, and spurious merge conflicts in Git. An interesting approach to solving this problem is Mermaid (https://docs.gitlab.com/ee/user/markdown.html#diagrams-and-flowcharts https://docs.gitlab.com/ee/user/markdown.html#diagrams-and-f...), which lets you include a ```mermaid fenced code block in your Markdown source and replaces it with a rendered image of a boxes-and-arrows diagram in the HTML output. This is sort of backwards-compatible with regular GLFM because things that don't support Mermaid just show the diagram's source code. Mermaid's "flowchart" diagram type is vaguely similar to Graphviz, but I think Graphviz has better syntax and nicer output, so I'd rather use Graphviz for this; Mermaid also has Gantt charts, UML diagrams, sequence diagrams, and entity-relationship diagrams. GitLab also supports language-tagged fenced code blocks for "math" (KaTeX's subset of LaTeX), "plantuml" (disabled by default, does UML diagrams), and Kroki (also disabled by default, supports Graphviz, Ditaa (warning, domain stolen by SEOs) for flowcharts, Wavedrom for digital timing diagrams, Vega-Lite for data plotting with interactive exploration from JSON, Svgbob for a fairly comprehensive set of ASCII-art line drawings, Burntsushi's Erd for entity-relationship diagrams, bytefield-svg, Pikchr for PIC-like things, several different ASCII-to-UML things, and another dozen or so other similar things). Pikchr, from the Fossil/SQLite folks, is also designed for embedding in GFML and similar Markdown-derived languages, even without Kroki. But most of these are just data formats, rather than rich data models or executable code like I'd need for the DSP algorithms I mentioned above. The closest thing I've found for that is Yihui Xie's R Notebooks: https://bookdown.org/yihui/rmarkdown/notebook.html https://bookdown.org/yihui/rmarkdown/notebook.html where you can put fenced R code blocks into your Markdown and display the output inline both in the RStudio IDE and in the final rendered document. This still has Jupyter's problem with reproducibility, but solves the problems with massive source files, file-format backwards compatibility, and spurious merge conflicts. However, R Notebooks require you to write your code in R, which isn't ideal for all purposes, and as far as I know the rendered results don't have a way to do Vega-style or ObservableHQ-style interactive exploration. Also, pretty often I find it easier to sketch a diagram with a pencil than to write code to produce it. And, for things like analog circuit schematics or 3-D models, while a compact textual representation is achievable, it often isn't the ideal user interface for editing. Mermaid Live, OpenSCAD, and dot -Tx11 filename.gv are three approaches where the text-to-picture flow is one-way, and while they're pretty great, you still spend a fair bit of time hunting through source code for the thing you want to edit and trying to diagnose syntax errors. So I'd like to have a note-taking system that supports Git and Commonmark, reproducibility so that I don't need to check in giant binary files representing render outputs, plug-in visualizers for different kinds of quasi-textual content, and plug-in editors for editing things like 3-D models, circuit schematics, and 2-D sketches. And I'd like to be able to do things like run a SPICE simulation of a circuit schematic, a FEM simulation of a 3-D model, or a numerical integration of a Modelica model. Is there anything like that out there? What are the alternative approaches to this kind of algorithmic exploration such as ObservableHQ? The DSP notebook I mentioned above also includes an input audio sample and several processed versions of it, which you can't hear in the online Jupyter notebook viewer but you can hear if you run it locally. The input audio sample would pretty much have to be an external file, same as a photo, but ideally the processed versions could be recomputed reproducibly rather than stored in Git and copied around all over the net.
- barefeg 4y agoI’m curious how one could compile and install this on iOS. Do you need an Apple developer account?
- vhanda 4y agoYes, you unfortunately do. If you're a student or having financial problems, please let me know, I'll be happy to generate some coupon codes.for you.
- GauntletWizard 4y agoI love GitJournal, used it to plan and organize two month-long trips in the recent past. It was very nice to edit on my laptop, use my standard git workflow to push and sync, then have it on my phone - and then make quick edits which were easy to get back on my laptop. Would love if https://github.com/GitJournal/GitJournal/issues/352 https://github.com/GitJournal/GitJournal/issues/352 were prioritized, though. Making adding new repos easier would be a big deal for my workflow, as I have multiple customers that all need their own repos, sometimes more than one.
- sandGorgon 4y agois there any provider that gives git-as-an-api ? not just read. But also commit/rebase/etc ... the whole shebang
- akomtu 4y agoI've been looking for an app like this so I could mark quotes in a book I'm reading, save all the quotes under the book's url and then have these quotes highlighted when I open that url again. The second part needs an extension, but the first part can be done via the browser's "share" button in the context menu, but currently it forgets the url when creating the note.
- decafb 4y agoAre the gitjournal files compatible with Github/Gitlab wiki repos? I have always used the builtin wiki from Github/Gitlab to achieve similar note taking. But attachments and links (to and between folders) are a pain to get right ;) So I'd be interested in an app that helps there.
- ls15 4y agoSo here's my little script that automatically commits the content directory to git on changes: interval_in_seconds=0.5 previous="" while true; do x=$(ls -R -al ./content | md5); if [[ "$x" != "$previous" ]]; then previous=$x git add * git commit -m "Content update" # ... fi; sleep $interval_in_seconds; done Of course it lacks a lot of the functionality that GitJournal has. It is just meant to keep a history of changes.
- vhanda 4y agoI started https://GitHub.com/GitJournal/git-auto-sync https://GitHub.com/GitJournal/git-auto-sync to do this exact thing. Just with an easier interface and proper tests. You can basically call `git-auto-sync daemon add`, and it will register itself as a systemd user process (on Linux, other OSs are also supported), and monitor that folder for changes + poll every x minutes. It's still in the early stages, but I'd love to get your feedback. Edit: Or you can just call `git-auto-sync sync` to commit + pull / rebase + push.
- pydry 4y agoI have something very similar to this with keybase e2e encrypted git and just triggered by a big button (on laptop/phone).
- john-tells-all 4y agoConsider updating your script to use Entr. It's specifically designed to efficiently and rapidly run code on file changes. More info from National Treasure Julia Evans: https://jvns.ca/blog/2020/06/28/entr/ https://jvns.ca/blog/2020/06/28/entr/ Something like this: git ls-files | entr autocommit.sh
- herdst 4y agoI read your 'About me' section, and how you are a privacy enthusiast. How does this hold up with storing notes in Git (which usually means syncing to github etc.)? I mean of course you can self-host to keep your notes privately, but does this support encrypted notes? I imagine git history works poorly if notes are encrypted.
- vhanda 4y agoIf you don't self host, you have a very marginal improvement of privacy. The main benefit would be eliminating vendor lockin. I'm working on an end-to-end encrypted git solution, but it's still in the prototype phase.
- hkt 4y agoFor encrypted secrets in git I'd suggest looking at sops and password store: https://github.com/mozilla/sops https://github.com/mozilla/sops https://github.com/android-password-store/Android-Password-Store https://github.com/android-password-store/Android-Password-S... Both are extremely useful secrets oriented git tools with support for things like PGP encryption. Both will encrypt with multiple keys too, making sharing relatively easy. The android pass app even manages SSH keys for pushing and pulling. There may be good inspiration in those repos, or even code you can borrow. Also, thanks so much for making this: it is elegant and lovely. Keep it up!
- vhanda 4y agoI started going down this route [0], but I very quickly realised the additional overhead of the tooling was not very user friendly. In the end, I'm trying to write a custom git remote which will encrypt everything, similar to how keybase works. Internally, the idea is to just encrypt all the git objects, one per file, and store those in a git repo. It could also be stored in S3, as storing it in a repo doesn't help, but Git Repos have the least vendor lock-in. - [0] https://github.com/GitJournal/git-salt-box https://github.com/GitJournal/git-salt-box
- sackerhews 4y agoThis is brilliant, well done! Is it possible to build the app as a (Linux) desktop client? Also, you might want to look at this bug as it might be affecting your cash flow: https://github.com/GitJournal/GitJournal/issues/612 https://github.com/GitJournal/GitJournal/issues/612
- vhanda 4y agoThere is a proof of concept AppImage built by the CI, but it's not even Alpha level of quality. Thanks for pointing the bug out!
- deleted 4y ago[deleted]
- tobz1000 4y agoThis is so close to my idea for the ideal note-taking app (that I never tried to make). I discovered it a couple of months ago and used it to plan a trip around Europe: research and write up on desktop, refer and make quick changes on phone. The monetisation options are incredibly user-respecting too. Although I don't need the Pro features, I'm on the monthly subscription just to support the project.
- deleted 4y ago[deleted]
- dddddaviddddd 4y agoI've been using this on my Android device, but have been thinking of making a simple web front end. Having to manually work with git on the desktop adds a lot of friction.
- SebastianKra 4y agoIf you're only on Apple devices, Bear notes is an extremely consistent, scalable, and stable alternative. In terms of polish, it's comparable to Craft, but with only the feature-set of Markdown. A few things are missing such as tables and backlinks. It uses an SQL database for performance reasons, but export to Obsidian is possible within minutes. Indeed, while other file-based alternatives such as NotePlan fail to deal with my 5000+ notes, including images and attachments, Bear is still as smooth as on day one. Just don't expect new features any time soon. The Bear team has been working on the next version for years, with no end in sight.
- spartas 4y agoPanda <https://bear.app/panda/ https://bear.app/panda/> is Bear, but with their new features and markup engine. Scary obligatory warning: Panda is alpha software (and probably not something that you should trust with your notes). The table support in Panda is nice though.
- neh_89 4y agoAccording to Reuters, up to 1,500 businesses were affected by ransomware attacks last year. Another report by the Institute for Security + Technology found that the total amount paid by ransomware victims increased by 311% in 2020, reaching nearly $350 million worth of cryptocurrency. It therefore begs the question – what happens when organizations are hit by a ransomware attack? Is paying ransom a good idea? What happens if companies pay ransom to restore data? How can companies prepare to safeguard from ransomware attacks? https://www.spiceworks.com/it-security/cyber-risk-management/articles/ransomware-payment-to-pay-not-to-pay/ https://www.spiceworks.com/it-security/cyber-risk-management...