Don't use [[..]] - Neuron

Welcome to the Functional Programming Zulip Chat Archive. You can join the chat here.

Sridhar Ratnakumar

NullSense said:

https://0x0.st/i4sS.png
Some extra information. (look at the text in the rendered .md on the left)

Keep in mind that I don't intend to support every combination of Obsidian's linking syntax in neuron just for its own sake. I thought adding [[..]] would solve it, but apparently not. I'll now mark it as "experimental" so as to not encourage (neuron) users from using it.

Sridhar Ratnakumar

Like you suggested, however, in other topic, I too think that standardizing on zettelkasten linking is indeed a good idea (compared to one tool trying to accomodate the idiosyncratic syntaxes of others)

Sridhar Ratnakumar

https://github.com/srid/neuron/issues/241

I regret adding them. They only cause more confusion from users. It is better for different notes to standardize on one linking syntax rather than one app to accommodate the idiosyncratic syntaxes ...
NullSense

Well, it's not just obsidian, it is almost every zettelkasten editor that exists that uses wiki links.

Sridhar Ratnakumar

And they use it in their own manner.

Sridhar Ratnakumar

Someone should write a concrete proposal on the exact wiki-link syntax that they think would be most compatible, and make most sense.

Sridhar Ratnakumar

They will have to spearhead this work, which will involve the following:

  • Use the various apps and understand the various combinations of their linking syntax
  • Write the proposal spec
  • Implement it in neuron
  • Test the implementation to see if there are edge-cases
Sridhar Ratnakumar

I am disappointed at myself for having added wiki-style syntax in haste. But this should be done carefully.

TheMatten

Personally I would like to be able to possibly use custom markup, or at least something specifically suited for zettlekasten and direct human interaction - if markup part was modular, would it basically allow for seamless integration with any other service?

Nadrieril

The parser part is already modular: you can write parsers for other formats. That would be one way to support obsidian I guess

Sridhar Ratnakumar

That's actually not a bad idea to support Obsidian, etc. Neuron has this yet-to-be-made-explicitly-pluggable mechanism to support multiple input formats (Markdown, orgmode, rest, ..). Someone can write a, say, ObsidianMarkdown input format as a plugin which would be same as Markdown plus some link customization.

Sridhar Ratnakumar

The only thing Neuron requires is the Pandoc AST. You can write any parser, as long as it will produce this AST.

Sridhar Ratnakumar

A function that returns Either ZettelParseError (Maybe meta, Pandoc) given the note filepath, basically. The Markdown parser is implemented here: https://github.com/srid/neuron/blob/4d20756dbb3d66eedc7665b4d37fb668f5d291de/neuron/src/lib/Neuron/Markdown.hs#L57-L62

Haskell meets Zettelkasten, for your plain-text delight. - srid/neuron
Sridhar Ratnakumar

That said, ideally it would be nice if there was a common standard for links, that allows for "optional" attributes like the query thing used in neuron.

Nadrieril

Knowing Pandoc there might be a way to extend the AST with some custom nodes? Would need to check

Sridhar Ratnakumar

Don't think you can add custom AST nodes (although you can specify arbitrary attributes to the nodes that support them).

As far as neuron is concerned - no special node is required. Just produce the good old Link node with inner text same as url (ie an "autolink").