[HN Gopher] Reconstructing Obsidian Features in Vim and Bash
       ___________________________________________________________________
        
       Reconstructing Obsidian Features in Vim and Bash
        
       Author : wuldr
       Score  : 71 points
       Date   : 2023-06-06 08:32 UTC (14 hours ago)
        
 (HTM) web link (erikjohannes.no)
 (TXT) w3m dump (erikjohannes.no)
        
       | arp242 wrote:
       | Since the page doesn't seem to load: https://archive.is/oRhu0
        
       | jrm4 wrote:
       | Again, I'll put up another vote for http://zim-wiki.org which
       | I've been using for now almost _decades._ I 've begun to
       | experiment more with Obsidian as well, a killer thing for me
       | would be for e.g. Zim to support standard Markdown and just make
       | the two fully cross-compatible...
        
         | jandeboevrie wrote:
         | Does zim support markdown? (no there is a fork but not merged
         | yet) and no mobile app...
        
       | mipselaer wrote:
       | I wrote a vim plugin which is my daily wiki driver. It uses Hugo
       | as markdown indexer.
       | 
       | https://github.com/linden-project/linny.vim
        
       | dicytea wrote:
       | For neovim, there's the obsidian.nvim[1] plugin.
       | 
       | There's also zk[2], a zettelkasten-based notetaking tool like
       | Obsidian, but the functionalities are provided through a CLI and
       | LSP server.
       | 
       | [1]: https://github.com/epwalsh/obsidian.nvim
       | 
       | [2]: https://github.com/mickael-menu/zk
        
       | satyanash wrote:
       | for emacs, there is obsidian.el -
       | https://github.com/licht1stein/obsidian.el
        
       | sharikous wrote:
       | For an open source alternative to obsidian check out Trilium.
       | Electron based and with a whole lot of features and possible
       | tinkering
        
         | FireInsight wrote:
         | Also check out logseq, workflows a bit different but pretty
         | intuitive if you're taking notes instead of doing longform
         | writing.
         | 
         | https://logseq.com/ https://github.com/zadam/trilium
        
       | singhrac wrote:
       | The one killer feature that I wish Obsidian had is CRDT support,
       | Apple Notes-style. I realize it's a huge engineering lift and
       | they are (appropriately) focused on making the UX perfect, but it
       | would be really great for collaboration. I can't really recommend
       | it to my team without better collaboration.
       | 
       | I still use it every day though.
        
       | nkit wrote:
       | For me the main benefit of Obsidian is live-rendering editor +
       | other handy features. Not having to look at two panes side-by-
       | side (or having to parse the markdown format in my head) is such
       | a QOL improvement.
       | 
       | Neovim might never be able to provide complete live-rendering. I
       | don't blame it though, I wouldn't want terminals to become a
       | rendering engine.
       | 
       | Edit: Grammar
        
         | PurpleRamen wrote:
         | Funny enough, Obsidians live rendering has shown me that
         | plaintext sucks, and that I want richtext and data structures
         | for my stuff. Just that there is no good tool for this. Notion
         | and its clones are the best in that regard, but they suck in
         | their own regard, mainly because they are online-only. And
         | considering how many tried to replicate Notion in obsidian-
         | extensions (and failed), I'm not the only one I guess. There
         | probably is a market for a modern hacker-friendly offline
         | richtext-IDE that no one has satisfied yet.
        
           | TheFreim wrote:
           | > Obsidians live rendering has shown me that plaintext sucks
           | 
           | I don't understand. I currently use obsidian and the live
           | rendering is great, not exactly sure what you mean.
        
             | PurpleRamen wrote:
             | That live rendering exists is in itself a sign that we want
             | more than plaintext. On its own, plaintext is simple, which
             | is why we like it. And it shoves everything directly in
             | your face, which is also why we like it. But many of us
             | also want more than just plaintext, so we invented markup,
             | to add some levels of richness. But this makes it
             | complicated again, and the more we want, the harder it
             | gets, the less support from the tools we have.
             | 
             | Obsidian is now in a space where many people want something
             | more richful, with elaborated data-handling, charts,
             | pictures, videos, code-fragments with syntax highlighting,
             | execution of code-framgments, and so on. The scale of
             | demand is far more than just plaintext, or simple markup,
             | and the tooling can't fetch up at the moment, because
             | anything becomes very dirty and hacky around the higher
             | abilities and more specialized workflows.
             | 
             | And then there is the problem of documentation and
             | learning, which with plaintext is always a big problem,
             | because everything depends on your input. With richtext-
             | interfaces, you have an environment whose whole purpose is
             | to support you in inputing and manipulating which ever
             | richful text/object you want. So they simply scale up
             | better. Which brought me to the realization that a modern
             | environment around richtext and objects is what I really
             | need. Because it's simple to level down richtext, but hard
             | to level up plaintext.
        
               | still_grokking wrote:
               | > That live rendering exists is in itself a sign that we
               | want more than plaintext.
               | 
               | If people would just finally realize that this especially
               | applies to code!
               | 
               | It's imho a complete joke that we're still using plain
               | text for source code, and convert it back and forth
               | between it's actual structure (an AST) and some limited
               | and quirky textual representation.
               | 
               | The text representation of code should be just that: A
               | visual representation. Not "the real thing".
               | 
               | Having proper rich data structures for code instead of
               | plain text would make so much more possible given some
               | proper editors...
        
               | svieira wrote:
               | Everyone is re-inventing "show codes" from Wordperfect 5
               | and other similar platforms because no one who is
               | inventing these things has ever used Wordperfect 5. That
               | said, re-solving this problem is turning up some nice new
               | U/X patterns that (as far as I know) weren't around in
               | the older platforms ("show codes on cursor", "local modal
               | editing for format", etc.)
        
               | fellowniusmonk wrote:
               | What editors have those two new ux's? I'd like to try
               | them out ("show codes on cursor", "local modal editing
               | for format", etc.)
        
               | dunham wrote:
               | Guessing what they mean by show codes on cursor. Showing
               | markdown around the cursor is now in Obsidian, but
               | previously it was in Typora, FoldingText, and a circa
               | 2016 web app called "usecanvas":
               | 
               | https://github.com/usecanvas
               | 
               | There may be examples prior to that, but that's the
               | earliest that I recall.
               | 
               | I'm not sure what is meant by local modal editing - is
               | that describing what logseq does? It switches a block to
               | plain markdown when you're editing it.
               | 
               | I thought word perfect show codes was in another pane,
               | but it's been a very long time since I've seen it, and I
               | didn't use it personally.
        
               | svieira wrote:
               | Obsidian's editor is "show codes on cursor" by default.
               | As you navigate through the rich text expression it
               | changes to the markdown format that produces that
               | expression. You're always in a line / block of Markdown,
               | but the rest of the document is rendered.
               | 
               | "local modal editing" is most often seen in richer IDE
               | experiences like Darklang v0.2's IDE and the Hazel type-
               | directed-holes experiments.
               | 
               | There are more interesting takes as well (Lighttable's
               | live forms, lots of Vic's experiments) but I'm definitely
               | seeing more instances of the first two experiences these
               | days.
        
             | rob74 wrote:
             | Probably referring to the limitations of Markdown? Not sure
             | what Markdown flavor Obsidian supports, some extensions
             | (e.g. tables) are quite powerful...
        
           | pcen wrote:
           | One plug-in in beta, but has quite a large following in the
           | Obsidian community to achieve what you're describing with
           | Obsidian is the make.md plug-in.
        
           | d4mi3n wrote:
           | I've become a big fan of LogSeq for these reasons. In LogSeq,
           | you have pages and trees of data (aka blocks[1]. All can be
           | cross-referenced or embeded between each context. It's quite
           | nice.
           | 
           | 1: https://docs.logseq.com/#/page/the%20basics%20of%20block%2
           | 0r...
        
             | still_grokking wrote:
             | Looks clean and nice, if only it wouldn't be an Electron
             | app...
        
           | wim wrote:
           | We're working on building an IDE of sorts [1] (but
           | specifically for tasks/notes) trying to combine the benefits
           | of plain text but with rich elements and structure
           | (tree/graph). The illusion of a real editor breaks down
           | pretty quickly when you can't easily copy-paste or select
           | rich elements as if it was plain text, so that's why we're
           | trying to build the whole thing from scratch.
           | 
           | [1] https://thymer.com
        
             | quantumite wrote:
             | This looks interesting, I'll take a flyer. Good luck!
        
             | dotancohen wrote:
             | Honest question from someone who has been looking at these
             | tools for almost two decades. What advantages does Thymer
             | have over org-mode?
             | 
             | I assume that anyone seriously R&Ding in this field has at
             | least a passing familiarity with org-mode.
        
               | jdvh wrote:
               | Thymer has real-time multiplayer with CRDT based
               | synchronization. With org-mode you can collaborate, but
               | you'd have to DIY with git or something similar. Thymer
               | is also end-to-end encrypted. With org-mode you'd have to
               | self-host something to sync with your phone.
               | 
               | Org-mode is text based, Thymer has a document graph.
               | Advantages of the graph approach is you can nest as much
               | as you want and zoom in on any part of the graph. You can
               | transclude sections and have references and backlinks.
               | With text based approaches you have to sprinkle location
               | identifiers (guids or relative paths typically) into your
               | document so you can track the location as files gets
               | edited. But guids are awkward and paths can result in
               | broken (back)links. We built Thymer as a document graph
               | from the ground up. Tree mutations don't break
               | (back)links.
               | 
               | With Thymer every node in the graph has metadata. Who
               | last edited it? When? Where did it move from? Previous
               | versions? For text paragraphs this isn't super useful,
               | but when you have tasks this metadata is very useful.
               | 
               | org-mode on a phone? I'm sure there are apps for that,
               | but I think it's designed with a keyboard in mind. Thymer
               | uses the (subjectively) more modern command palette
               | approach where you don't have to remember as many
               | shortcuts, and it also translates more easily to
               | touchscreen devices.
        
         | qwerty456127 wrote:
         | The Ggraph is another major feature. I wish I had the same in
         | form of a widget (a desktup GUI toolkit widget preferably) to
         | experiment with. Obsidian is such a great app but still is very
         | far from what I want to I'd love to be able to build a similar
         | thing from blocks for myself.
        
       | PrimeMcFly wrote:
       | I also only found out about Obsidian recently and I've become
       | interested in switching. So far for my notes for the last several
       | years I've just been using raw tex files with TexStudio, and
       | creating various level subsections with macros bound to key
       | combos as needed. It works quite well with the navigation tree
       | and MDI, but Obsidian sounds like it might be a better solution.
        
         | the_cramer wrote:
         | The great thing about Obsidian is that it still uses plaintext
         | (it's not obsidian exclusive, i know). In case of issues with
         | the tool, you can view and edit files in an editor. It also
         | makes syncing stuff / backups very easy. Since you're probably
         | having a kind of syntax already it won't be hard to change.
         | 
         | With a proper keyboard, it's super fast to create and link
         | notes. On mobile it sucks hard. Things like
         | "[text](linkForText)" are not very mobile-friendly.
         | 
         | One big gripe i have is the table editor. There is an advanced
         | table add-in to help, but it still sucks. Create a table and
         | put a long link into it.
         | 
         | Well-known keys like "end" or "pos1" don't do the expected.
         | "TAB" will add fields... i don't know, this should be better.
        
           | PrimeMcFly wrote:
           | I'm familiar with markdown enough, but I don't have much need
           | to format my own notes, no need for tables etc. All I really
           | need is headings, and sub-headings to various degrees.
           | 
           | I've been wanting to make my own program to deal with that
           | since using tex for that seems like overkill even though it
           | works well enough. I may still as Obsidian being closed
           | source is kind of a bummer and I'm trying to limit the closed
           | source software I use as much as possible.
        
           | nray wrote:
           | Isn't the licensing an issue? As far as I can tell you can't
           | use Obsidian at your workplace without an annual commercial
           | license, which is fair enough but maybe too heavy a lift for
           | many.
        
             | the_cramer wrote:
             | Yes. Professional use requires licensing. Too bad as our
             | workplace forces the use of OneNote, which imho is lacking.
        
       | Izkata wrote:
       | What, we're talking about wikis and vim, and not mentioning
       | vimwiki?
       | 
       | https://github.com/vimwiki/vimwiki
       | 
       | I tried a whole bunch of personal wikis over the years (I see Zim
       | has been mentioned, that's one of the ones I remember trying) and
       | this is the only one that stuck.
       | 
       | The github page shows some basic markdown, but it also handles
       | nested checklists (parent nodes can be partially checked off) and
       | understands tables (automatically fixing spacing so columns stay
       | aligned). It can also render to HTML (though I don't use that
       | feature) and has a whole bunch of other stuff too.
        
         | lervag wrote:
         | Shameless plug: there's also wiki.vim [0], which I believe is
         | starting to be a real contender to Vimwiki.
         | 
         | Regardless: In my experience, Vim + wiki with some additional
         | plugins for fast searching and navigation is a very good combo!
         | 
         | [0]: https://github.com/lervag/wiki.vim/
        
         | [deleted]
        
       | loloquwowndueo wrote:
       | A couple of those Obsidian features (and more) come out of the
       | box with Vimwiki if configured in Markdown mode. I use it rather
       | interchangeably with Obsidian since they grok the same format and
       | file structure.
        
       | tesdinger wrote:
       | Just use one note, or a wiki.
        
         | cl3misch wrote:
         | ... _something something you can build Dropbox trivially with
         | these existing tools..._
         | 
         | Neither OneNote nor a wiki have the workflow of modern
         | knowledge managers like Obsidian, Notion and the like.
         | 
         | Furthermore, how do OneNote or a wiki fit into "Vim and Bash"?
        
       | sudobash1 wrote:
       | The last issue listed is the killer. If you rename or move a
       | file, you need to update all the links. It's not terribly hard to
       | solve with a quick script as he showed, but that is the part
       | which has always felt very hacky to me when I've done this.
        
         | teddyh wrote:
         | I'm thinking an inotify hook could be created to run the
         | script.
        
       | lachlan_gray wrote:
       | The obsidian vim bindings can also be modified with the vimrc
       | plugin. It lets you hook into obsidian's native features with
       | normal mode maps e.g. for pane splitting and navigation.
        
       ___________________________________________________________________
       (page generated 2023-06-06 23:02 UTC)