Hack for Hiding Logseq Block `properties` in the Multi-Line Tooltip of Standard Markdown Links. Results clean Markdown that can be nicely rendered in external tools

I don’t know how many of you guys are actually into having your data in a proper format that you can use with other tools like Static Site Generators, Ticketing Systems, Corporate Documentation Platforms, even Browsers with the appropriate Markdown Parsing Add-Ons, but I am one of those.

So this issue bugged me down quite a bit and I have been refraining to use this powerful Logseq feature because its poor implementation over standard/commonmark Markdown. Right now, properties render as a single contiguous line of text in between your Block’s Title (first paragraph) and its body, breaking the flow and making for a VERY UGLY rendering if your properties contain URLs, LaTEX, multiple values, images not least etc.

So I tried to come with a way to hide these properties with Markdown. Long story short here is what I came up with:

Started reading the book [[Thinking Fast and Slow]] [🏷️](# ')
Book-Title:: Thinking Fast and Slow
Status:: #reading 
Updated:: [[Wednesday, 02.08.2023]] ')
> #book #reading

This renders in Logseq as such:
image

And in external renderer (IVSCodium):

Also tried in Firefox Markdown Add-on:
image

Logseq expects Properties to sit one under the other, each on its own line, just under the Block’s first Paragraph/Title. If you have a soft-break in between your Block Title and Block Body, properties will sit between these two. So to hack this away I have used a multi-line Markdown Link Tooltip with empty link text and no attribute[](# 'Tooltip Goes here on a single line') OR

[](# '
ToolTip goes
Here on multiple
Lines if I want to (it is allowed
by CommonMark as long as there
are no blank lines in between
')

But, because Logseq doesn’t implement this CommonMark syntax, it shows the Property lines and considers the [](# ' and ') artifacts that it shows so I had to somehow make those ugly artifacts go away.

With the first half [](# ' I tricked Logseq to render it almost gone by using [](# ') → which renders to only show the simple quote, while the closing half for the empty link I brought up after the last property where it kind of blends in. I wasn’t able to do more trickery to hide this away. But it almost works and, apart from a lil artifact, it is actually good enough for me so I wanted to share with whoever cares about Markdown Rendering outside Logseq.

Feel free to suggest improvements if you have any, I’d so much like Logseq to implement CommonMark Syntax fully and also allow properties to be created anywhere and not expect a line per property with nothing in between the properties’ lines…

I’ve managed the simplest Logseq Structure to Hide Properties in Markdown Link Multi-Line Title to date and will settle with this format for the time being:

^^Title^^ [🏷️](. ')  
projectTag::  
status::  
worked-on::  
context::  
priority::   
[](. ') Aici pot sa scriu text ...
> [#task]([[task]] " ")

This renders like so in Logseq:

While in an external editor (tried VSCodium, Commonmark):

I am quite happy with the result (albeit showing a couple “artifacts” in the Link’s Tooltip at mouse-over) so thought of sharing it here.

1 Like