Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Zettlr: Note-Taking and Publishing with Markdown (lwn.net)
133 points by signa11 on Aug 23, 2024 | hide | past | favorite | 81 comments


I haven't tried Zettlr, so I can't compare, and I'm not here to criticize, but what I miss in many tools in this Market is the ability to install and create extensions. That's why I'm a huge fan of Obsidian [0].

I publish my notes [1] using Obsidian Publish [2], and find the experience really good. I'm able to customize almost every aspect I need to.

There's also Quartz [3] that is a good compatible alternative to Obsidian Publish.

[0]: https://notes.dsebastien.net/30+Areas/33+Permanent+notes/33....

[1]: https://notes.dsebastien.net/

[2]: https://obsidian.md/publish

[3]: https://quartz.jzhao.xyz/


I was a heavy Zettlr user for a few years, but I've since switched to Obsidian and haven't looked back. The extensibility is great, the editor feels snappier, and it's an overall better editing experience. Especially when you install plugins like Excalidraw for adding drawings straight from within the tool.


I also enjoy a similar workflow, but am increasingly running into the editor experience being a little janky: list items jump around when wrapping onto a new line, live mode not being truly wysiwyg, pdf styling being different from the reading view, etc.

This can all be worked around, but it makes for a less polished editing experience than some other offerings. We're also at a point where some major plugin functionality should rather be part of the main app, as it's becoming exceedingly difficult to maintain plugin CSS styles and async functionality without interfering with other plugins.

That said, I'm still a fan.


The way I do these days, is to have a minimal setting with the minimal plugins. Now, have that working `.obsidian` folder as a backup or a Starter Kit. Whenever Obsidian starts acting up, it is likely that I have a new plugin or there are too many; I just remove and get back my working Starter Kit `.obsidian` and I'm as fresh as New. Also, try not to have many non-text (or Markdown) files as much as possible in the Vaults.


Are you really pimping your 70 EUR Obsidian "starter kit" in a comment? WTAF?


I've used Obsidian for a couple of years, mostly for private to-do things

I used iCloud to sync between phone and laptop.

It worked great until recently.

Now I experience extreme jankiness: App sometimes takes forever to load, files missing, or suddenly disappearing as I open them. The problem, as far as I can read, is iCloud aggressively removing files locally when they're not used. I haven't tried Obsidian Sync yet.


Try with Dropbox (if you are using it) and set that folder (Vault) to sync offline. I use iCloud mostly to sync the computer settings, share amongst family members, but not for something which I need access locally such as the Obsidian/Markdown files. It works so far. I have over 5 or more Vaults (folders) managed by Obsidian via Dropbox.


The plugin "Remote Sync" works well too . It supports S3 , Drop box and many other cloud targets


iOS18 will bring "keep this always local" option for iCloud files


There's a setting to debug the starting time. It's interesting to find out the culprit (often a specific plugin)


If you are on a Mac, you have to disable in sys prefs iCloud “Optimize Mac Storage”.

Your files should no longer be removed.


Obsidian Sync is great, was worried you were describing it for a sec there


> I'm able to customize almost every aspect I need to.

Are you, though? I've not seen a single site that I know to be published with Obsidian Publish that does not have the content graph. And when I checked out Publish, I found no way to get rid of it and use that real estate for content of greater value to the reader. Has that changed?


There are settings, but at the end of the day it's just html/css/js. The publish site is not the easiest to customize, but it's possible.

We can create a js and css file.

I didn't need/want to change much, but I know I could. I just added tags, creation and update times, my newsletter form, plausible analytics etc.

One feature I lack is the ability to define canonical links..


Huh, I hadn't even noticed that the content graph was in the corner of every Obsidian docs page. That's a bit pointless.


I believe there was some custom CSS extension? If so, just add `.graph-view-outer { display: none; }` or similar.


What references and/or examples do you recall being the most useful as you transitioned form Obsidian User to Obsidian Plug-in Author?

I have some really basic html pages and cgi scripts I'd like to port in as a plug-in, but haven't sat down with it yet.


Wow, Quartz looks really good. Thank you for sharing!


I would recommend https://logseq.com/

As an outliner, and being block-based, I think it's more suitable for Zettelkasten and generally atomic notes.

Progress on the `master` branch is a bit slow because there's a transition towards using a database instead of the filesystem https://github.com/logseq/logseq/tree/feat/db

https://discuss.logseq.com/t/why-the-database-version-and-ho...


> there's a transition towards using a database instead of the filesystem

Looks like it won't transition away from using the filesystem though:

> […] we’ll continue to support both file-based and database-based graphs, with a long-term goal of achieving seamless two-way sync between the database and markdown files. This will allow you to leverage the benefits of the database version while still being able to use other tools.[1]

[1] https://discuss.logseq.com/t/why-the-database-version-and-ho...


An important warning. Logseq is very nice for some things...until it loses your data. You know you put something into Logseq, but it's not there, so you question if you're losing your mind. That's one reason they're switching to a database.

I'm also hesitant to rely on Logseq for another reason. They've taken a lot of funding and now they're in the monetization phase. When I asked about the status of the open source project on Github, the response was crickets.


Full. agree on the data loss issue. I have experienced it myself, and their forum and issue tracker also show this. Its not a « trusted system » at all.


What's the best alternative to Logseq. I love it; however, I've been considering moving on. Their progress has slowed down, too, compared to Obsidian.

Has anyone of you switched to Obsidian?


My main note tool for years has been Obsidian (using Obsidian Sync on Linux, Windows, Android, and iPhone). Works great for regular notes.

I don't think it's very good as an outliner, though I haven't tried the recent outliner plugins, so maybe things have improved. I do my outlining with org-mode on Emacs because of my dissatisfaction with Obsidian in that area and lost data on Logseq.


Almost everyone I think - I'm not even sure I like outlining... more like a love/hate relation.

Workflowy and Dynalist are solid ones (cloud based)


I have been a daily logseq user for at least a couple years now, and I have not had a problem with my data being lost. I have heard of people having this issue with Synching - which I am also using - but I haven't had issues.

I like how the data storage is markdown files. I love the block centered outlier approach and use block references extensively.

I've developed some extensions too. The documentation is severely lacking here, but there are enough extensions on the (currently free and oss) marketplace that can be useful examples.

The query language is really freaking weird to me. It's clojure, datascript/datom. Not intuitive at all, but I've got several custom queries working as part of my workflow.

Overall Logseq is good software and I'd recommend it. Certainly take backups - I have from the start because of experiences like the above - but I haven't needed them yet.


I used logseq for about a year and I so hate the block-based editor (the same reason I stopped using Notion). I went back to using flat-file for a while until I find Zettlr.


Zettlr is quite nice. The UI has a few quirks and sometimes does not follow conventions set by other applications, but the wysiwyg interface for markdown offers a great editing experience. And because it is all just markdown files in local disk there is no vendor lockin.

I am not the primary intended audience, but I wrote my last sci-fi novel (The Grandmaster's Gamble) entirely using Zettlr and pandoc. The built-in languagetool integration was a big help.


I've been using Zettlr for some time. Here are some things I like about it:

- Latex support - Your notes are just plain text files and you can easily sync them with nextcloud or syncthing - Linking of notes by an id for using them in a zettelkasten - You can use your citation library from Zotero to add citations to your notes

What I don't like is that the performance is quite bad, especially when there are many equations in a note.

I also had no good experience, when trying to publish presentations, I'm now using Quarto in vscode for that.

All in all I think it is a really good tool for scientific note taking or as a Zettelkasten, although I'm using it less these days since I quit my PhD.


> What I don't like is that the performance is quite bad, especially when there are many equations in a note.

Installed it now on Linux Mint 21.1. Takes a full 13 seconds to just start(!)

Otherwise, looks quite pretty.


You might want to try my Qt C++ app[1], which is very performant, has a block-based editor, and simple to use. Currently, no Latext support, but it's in the bucket list.

[1] https://get-plume.com/


Paid. You can't add images to documents unless you pay, is this correct?


Technically, you can, using the plain-text editor. The syntax is so:

{{image "source":"file:///Users/ruby/Downloads/myimage.png"}}

{{/image}}


Looks great, and reminds me a lof of the Bear app. What are the main differences?


Thanks! The editor is a very flexible block editor so you can do things such as:

1. Having complex blocks such as a Task Board/Kanban right within the middle of a document. And more type of such blocks will be implemented in the future (code blocks, LATEX support, etc)

2. You can drag and drop any block, where the dragged object simply "pops" from its place and the rest of the blocks makes room for it.

3. It's blazing fast at loading large documents (See our War and Peace test on the website).

4. The UX of using the "/" slash character to insert block types is very fluid, with instant search results, you should give it a try.


Is this list behavior intentional - blue dots and indents on the right etc?

https://share.cleanshot.com/sB9VpVnp


Only if your input language changed to a right-to-left language (Arabic, Hebrew, Persian, etc). Was that the case? I'll investigate it either way.


Not at all.. Chrome Beta here btw.


Why not offer a one-time purchase option?


Very soon I'm planning to make the Pro version have built-in sync (and there will be mobile support as well), so I know it's a bit odd to charge a subscription right now for a completely offline tool, but that will soon change.


The motivations behind the project are quite interesting and well argued: "Developing Open Source is a Political Act"

https://www.zettlr.com/post/release-developing-open-source-p...


Not that interesting of a take, especially coming for a political scientist (which the author is).

"When all you've got is a hammer, everything starts looking like a nail."

Feels like it's straight out of that "everything is political" phase we are hopefully leaving behind, usually meaning - "I will try to problematise it to make it political".


I actually don't think the headline captures the point succinctly, because the definition of 'political' being used is obscure and quite specific:

> "Political activity is whatever shifts a body from the place assigned to it or changes a place's destination." (Rancière 1999, S. 30)

> What Rancière means by that is that politics occurs whenever a thing is not in its assigned place. This is perfectly valid for software: As soon as a person diverts from what is expected from them, software aborts with an error or "corrects" the "wrong" statement automatically. So at least from the view of Jacques Rancière, software is utterly political. It has a significant impact on our daily lives and we cannot do anything against this. And this is a problem that especially corporate software shows.


That isn't what 'political', or 'political activity', means, though.

Publishing a paper, or citing it, doesn't confer the status to change the definition of words.


I agree, fwiw. It is better to introduce new words than to risk being so provocative. Still though I think Zettlr is founded on sensible ideals.


After having been around these note-taking apps for years, I'm still stuck with a directory of text and Markdown files. It's an obvious benefit not to be tied to one application developer's opinion of how to structure a note-taking application, and you can use any editor, Markdown viewer or static site generators to deal with input and output. Also, notes are just files, so there are lots of simple ways to synchronise them between systems (ssh, rsync, syncthing, even imap) and anything can edit a text file.

While some wiki functionality across notes would be nice sometimes, I still am not convinced to give up on the "raw data and bring your own tools" approach yet. Nowadays, most IDEs have across-file functionality anyway and there's a lot more choice and no lock-in going that way.


Zettlr is pretty much a text editor on top of a directory with Markdown files. With a bit of extra sauce to make navigation and editing easier. I migrated all my Zettlr notes to Obsidian, and it took zero effort because it's all just Markdown files.


Good to know. But as a text editor, does it compete with your favourite editor or IDE?


This. Use it with vim and spend a day mapping any repetitive tasks to streamline things. It's magic. You could also use a bash script for creating backlinks, and it probably wouldn't be difficult to make a graph of all the connections using `dot` (graphviz).


I find something like org-roam or denote to be the best trade-off.

Roam: Plain text, sqlite database you can delete/generate whenever, simple small codebase.

Denote: Based on grep, no database, simple filename based system, can use any filetype.


What do you use to read your notes on a phone?


I just use Foam - https://github.com/foambubble/foam

As a Visual Studio Code extension, it runs everywhere (except some mobile setups), is very fast, and provides me with the ability to tack on more features via other extensions. I set up a “Notes” profile with everything I need, and switch to that for a couple of workspaces.


This looks great. My issue with obsidian is that I do not want anything else than vscode or my terminal. Will check out this.


Discussion 1 month ago (129 points, 24 comments) https://news.ycombinator.com/item?id=41023319

Big in 2020 (675 points, 262 comments) https://news.ycombinator.com/item?id=23723775


https://silverbullet.md/ it's a nice alternative. It's web based and with a lot of interesting features.


Out of curiosity: Is there a way to interact with Zettlr data using command line tools? Like searching notes, editing notes with neovim/emacs etc?

Trying to understand the extend of "lock-in" to Zettlr.


Looks like it’s just files on disk, so you can do whatever you like.

https://docs.zettlr.com/en/core/files/


Thanks a ton!


I take notes with the script below, publishing to Git lol. My window manager (Sway) runs it in a terminal on-login

Respecting "$EDITOR", opens 'this week' and 'last week' in tabs:

    #!/bin/bash
    SCRIPT_NAME=$(basename "$0")
    if pgrep -f "$SHELL.*$SCRIPT_NAME"  | grep -v $$ > /dev/null; then
        echo "The notes are already being edited elsewhere."
        exit 1
    fi
    NOTE_DIR="${NOTE_DIR:-${HOME}/notes}"
    CURRENT_NOTE=$(date +%Y-week%V)
    LAST_WEEK_NAME=$(date -d '7 days ago' +%Y-week%V)
    NOTE_PATHS=("$NOTE_DIR/$CURRENT_NOTE" "$NOTE_DIR/$LAST_WEEK_NAME")
    EDITOR="${EDITOR:-vim}"
    if [[ $EDITOR == *vim* ]]; then
        # Run the vim-like editor with tabs
        $EDITOR -c ':tab all' "${NOTE_PATHS[@]}"
    else
        # Run the editor without vim tab arg; assume array is fine
        $EDITOR "${NOTE_PATHS[@]}"
    fi
Can choose where the notes go with "$NOTE_DIR"


Longtime Joplin [1] user here, how does the most recent version of Zettlr compare? I have grown really comfortable with the simple interface of Joplin, plus using S3 for sync makes life easy for me as I'm living on my own infrastructure.

[1] https://joplinapp.org/


Also forgot to mention if it wasn't obvious - I'm not a STEM researcher and don't have aspirations to use a notes app beyond notes, but I am curious about efficiency, simplicity and workflow.


The main reason why this is completely irrelevant to me is that there's no Android app. Honestly, I don't even know what's the point of having a note taking app that doesn't have an Android version. On the PC you can just use vim. The whole point is having the same representation and conventions on PC and on the phone.

So, yeah, like everyone else I'm still using Obsidian. I hate it, Obsidian is poison and shouldn't be used, because it's completely ridiculous to trust a non open source app with your personal notes, and in my world there's no reason whatsoever for a non open source note taking app to even exist, because it should be pretty trivial thing after all. But unfortunately I am guilty of doing this ridiculous thing myself, because Obsidian has:

- an Android app, that is virtually identical to the PC one

- good search capabilities

- obsidian-flavoured markdown, which is the only kind of markdown that really has all necessary markup for making personal notes, including mathjax, simple graphs and callouts

- daily notes

Honestly, I don't even need anything else, as most plugins actually hurt productivity and are a kind of vendor lock-in anyway, while the whole point of storing data in markdown is simplicity and timelessness of your media. But however simple it's supposed to be, I don't know of any other app so far that would completely clone obsidian in this regard. And, honestly, that's exactly what I want: a perfect open-source clone of obsidian, an exact copy.


I'm a big Obsidian user and (small) plugin author, but I'd move to something Obsidian like that was open source because there is a chance of enshittification, looking at this though I can't find any reference to any capability for adding plugins.

They can compare themselves to Obsidian however you like in the features table, but the strength of Obsidian is not in the vanilla experience but in the plugins.


Open source, based on Electron.


Hot take: Markdown was nice back in the day when in-browser editors sucked for the most part and we just wanted to get things done and didn't mind the little bit of noise it adds to content. It was an act of satisfysing.

In 2024 though, there is no need to have to deal with markdown. There are decent editors that are far nicer to use which support rich text without the need to see past the markdown noise. Any company serious enough with their app should invest in creating/using a rich text editor


In 2024, markdown gives me interoperability between different applications and editors. The interop between rich text editors is not so good.


Is there even real interoperability outside the basic syntax? There are so many flavors of Markdown with different extensions and probably incompatibilities...


Most Markdown extensions are just code blocks with fancy stuff. They're not pretty when viewed in plain text, but easy to ignore.


There are also tables, different link-types, lists-enhancements, how html is handled in different context.. Yesterday(?) I even saw a flavor adding LaTeX-like functions. Markdown is a very wild garden of different options.


> Hot take: Markdown was nice back in the day when in-browser editors sucked

I don't think markdown came from that at all. It gets used that way a lot, but the point for me (and IIRC the point of it from the start) is that the format is just plain text that can be up-sampled to something a bit prettier where desired. It can be edited by hand, it can be understood by eye in its pure form, it isn't as verbose as other text-only options¹ meaning it doesn't distract from the content as much², it can be edited/viewed anywhere plain text can, etc.

It wasn't intended for web-based editors, web-based editors just started using it because it was preferable to them than other options at the time (HTML, BBCode, …).

--------

[1] including HTML and anything XML based

[2] yes, this makes it less expressive than other options³, but that is often a compromise worth making

[3] I'm thinking of looking at AsciiDoc, which predates MD and for the basics is very similar but supports much more, for my own scrawlings (nothing currently published), but TBH once I get beyond basic MD I'll probably want to be more opinionated (and disagree with existing opinions!) so will likely end up making my own MarkDown+ and tool to pretty it up.


You called it "markdown noise". I called it "easy to see if I actually bolded the whole word or I forgot to bold the last character" or "easy to see if I also underlined the space after the word".


Except a lot of people (like myself) really dislike rich text as a format. Doesn't really play nicely with git. When was the last time you wrote rich text by hand?


Yes i suspect as much, especially on here but it is a biased sample here :-)


Depends. Most developers tend to prefer markup over rich editors. Any application aimed at developers should probably be markdown first.


Do you have use the mouse to use rich text? If so then no thanks.


We've even had word processors for over 40 years, why would we suddenly need mouse support to write rich text?

Editing rich text without mouse has always been a thing, Markdown isn't something that suddenly created some fancy new rich text without mouse experience.


It obviates the need because it is not rich text.


Yep i use the mouse and I'm very fast with it. I bet I'm faster with it than you are with your keyboard ;-)


It's not the speed, it's saving the carpal tunnel for video games... :)


Well most rich-text have the common shortcuts tho, like ctrl + b to put text in bold.


But the way that is represented in the file format isn't standard, which means it may not be interoperable.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: