Here are some details of the new #logseq DB variant (currently in alpha):
https://discuss.logseq.com/t/logseq-db-unofficial-faq/32508

TL;DR:
- you can't edit the #Markdown files directly
- #orgdown support is lost
- EDN export is introduced besides MD export
- sync and RTC require a subscription
- practically, you can't run the sync on your own
- #Zotero no longer part of the core app

If this holds true, I can't endorse use of logseq any more.

I need to migrate other people's setups I was maintaining to a different solution. Too bad as it was the only good #PIM tool option I could find outside #Emacs #orgmode. 😔

Background: https://karl-voit.at/2024/01/28/logseq-from-org-pov/

#enshittification

🥳 All tests passing!

(And real-world projects seem to be rendering perfectly – and faster than before to boot.) :)

If further testing doesn’t bring out any issues, expect a new Kitten release this week with the new (and far improved) Markdown parser.

kitten💕

#Kitten #SmallWeb #web #dev#Markdown

@ton @khinsen

Might drop in this one too in the 'back to simplicity' series, which I also just encountered. 😅

#Overtype. A #Markdown WYSIWYG editor that's just a textarea.

https://overtype.dev

https://github.com/panphora/overtype

https://news.ycombinator.com/item?id=44932651

Coming soon (likely this afternoon, I’m writing tests and docs and updating examples as we speak)…

This is the sort of thing you’ll be able to do with Markdown pages. Just pop any arbitrary JavaScript you want in the new script block in the front matter and then import and use components as well as plain old JavaScript tagged template variable interpolation (not shown in this example) inside your Markdown.

The screen has all the code (sans the end of the last line of CSS and the closing tags for the

Screenshot: three windows: left side: Source of index.page.md, top-right browser showing running web app, bottom-right, source of Button and Reactions components.

Contents of windows:

index.page.md:

---
title: An interactive markdown page
script: |
  import Reaction from './Reaction.fragment.js'

  // Initialise database if necessary.
  kitten.db.reactions ??= {}
  kitten.db.reactions.Heart ??= 0
  kitten.db.reactions.Confetti ??= 0
  kitten.db.reactions.Smiley ??= 0

  let page

  export function onConnect (data) {
    page = data.page
  }

  export function onReaction (data) {
    kitten.db.reactions[data.type]++
    page.send(kitten.html`<${Reaction} />`)
  }
---
<page css>

# Hello!

While this is a __markdown__ page, I can easily layer interactivity by adding a simple component in a script block.

## Reactions{id=your-reactions}

<${Reaction} />

Browser (output):

Hello!
While this is a markdown page, I can easily layer interactivity by adding a simple component in a script block.

Reactions

Heart button: 5
Confetti button: 4
Smiley button: 3
Screenshot: three windows: left side: Source of index.page.md, top-right browser showing running web app, bottom-right, source of Button and Reactions components. Contents of windows: index.page.md: --- title: An interactive markdown page script: | import Reaction from './Reaction.fragment.js' // Initialise database if necessary. kitten.db.reactions ??= {} kitten.db.reactions.Heart ??= 0 kitten.db.reactions.Confetti ??= 0 kitten.db.reactions.Smiley ??= 0 let page export function onConnect (data) { page = data.page } export function onReaction (data) { kitten.db.reactions[data.type]++ page.send(kitten.html`<${Reaction} />`) } --- <page css> # Hello! While this is a __markdown__ page, I can easily layer interactivity by adding a simple component in a script block. ## Reactions{id=your-reactions} <${Reaction} /> Browser (output): Hello! While this is a markdown page, I can easily layer interactivity by adding a simple component in a script block. Reactions Heart button: 5 Confetti button: 4 Smiley button: 3

OK, so here’s likely the simplest possible example demonstrating:

• The same route, implemented as both a Kitten JavaScript Page (.page.js) and as a Kitten Markdown Page (.page.md)

• How to persist to the default Kitten JSDB¹ database.

(That first line with the nullish coalescing operator creates a “table” on the database with a default value for the count if it doesn’t already exist.)

kitten.small-web.org

¹ kitten.small-web.org/tutorials

Coming soon (likely this afternoon, I’m writing tests and docs and updating examples as we speak)…

This is the sort of thing you’ll be able to do with Markdown pages. Just pop any arbitrary JavaScript you want in the new script block in the front matter and then import and use components as well as plain old JavaScript tagged template variable interpolation (not shown in this example) inside your Markdown.

The screen has all the code (sans the end of the last line of CSS and the closing tags for the

Screenshot: three windows: left side: Source of index.page.md, top-right browser showing running web app, bottom-right, source of Button and Reactions components.

Contents of windows:

index.page.md:

---
title: An interactive markdown page
script: |
  import Reaction from './Reaction.fragment.js'

  // Initialise database if necessary.
  kitten.db.reactions ??= {}
  kitten.db.reactions.Heart ??= 0
  kitten.db.reactions.Confetti ??= 0
  kitten.db.reactions.Smiley ??= 0

  let page

  export function onConnect (data) {
    page = data.page
  }

  export function onReaction (data) {
    kitten.db.reactions[data.type]++
    page.send(kitten.html`<${Reaction} />`)
  }
---
<page css>

# Hello!

While this is a __markdown__ page, I can easily layer interactivity by adding a simple component in a script block.

## Reactions{id=your-reactions}

<${Reaction} />

Browser (output):

Hello!
While this is a markdown page, I can easily layer interactivity by adding a simple component in a script block.

Reactions

Heart button: 5
Confetti button: 4
Smiley button: 3
Screenshot: three windows: left side: Source of index.page.md, top-right browser showing running web app, bottom-right, source of Button and Reactions components. Contents of windows: index.page.md: --- title: An interactive markdown page script: | import Reaction from './Reaction.fragment.js' // Initialise database if necessary. kitten.db.reactions ??= {} kitten.db.reactions.Heart ??= 0 kitten.db.reactions.Confetti ??= 0 kitten.db.reactions.Smiley ??= 0 let page export function onConnect (data) { page = data.page } export function onReaction (data) { kitten.db.reactions[data.type]++ page.send(kitten.html`<${Reaction} />`) } --- <page css> # Hello! While this is a __markdown__ page, I can easily layer interactivity by adding a simple component in a script block. ## Reactions{id=your-reactions} <${Reaction} /> Browser (output): Hello! While this is a markdown page, I can easily layer interactivity by adding a simple component in a script block. Reactions Heart button: 5 Confetti button: 4 Smiley button: 3
marc0s
marc0s boosted
#Markdown Is a Disaster: Why and What to Do Instead
https://karl-voit.at/2025/08/17/Markdown-disaster/

Here's my article where I summarize the subtle and no so subtle downsides when you choose Markdown for your information instead of a different markup syntax that doesn't come with all the downsides of #MD.

#publicvoit#orgdown #orgmode #LML #pandoc #rst #restructuredtext #asciidoc #Wikitext#BBCode#Creole#Crossmark#Djot#CommonMark #lockin

#Markdown Is a Disaster: Why and What to Do Instead
https://karl-voit.at/2025/08/17/Markdown-disaster/

Here's my article where I summarize the subtle and no so subtle downsides when you choose Markdown for your information instead of a different markup syntax that doesn't come with all the downsides of #MD.

#publicvoit#orgdown #orgmode #LML #pandoc #rst #restructuredtext #asciidoc #Wikitext#BBCode#Creole#Crossmark#Djot#CommonMark #lockin

The new integrated Markdown parser I’ve been implementing in Kitten has been kicking my ass for the past few weeks but I think I finally have it fully working and seamlessly so. Expect a new release this/next week that brings the parsing of Markdown pages (.page.md files) in your apps up to the standard of the recently-improved runtime Markdown parsing in Kitten HTML tagged-template strings (within &lt;markdown&gt;…&lt;/markdown&gt; blocks).

The coolest thing is I was able to implement this without introducing any new syntax. In fact, I was able to simplify things so that you can now add arbitrary JavaScript to your Markdown pages within a multi-line script block in the YAML front matter (script: |) and use JavaScript string interpolation syntax in your Markdown (and, of course, Kitten components and conditionals, which, themselves, rely on string interpolation).

The only place where you have to deviate from standard Markdown in your Markdown pages is if you have JavaScript string interpolations or Kitten components/conditionals in code fences within your Markdown. In that case, you’ll have to escape them (e.g., &lt;\${Component} /&gt;, \&lt;if \${something}&gt;something\&lt;/if&gt;, etc.). And, to be fair, the person most impacted by this is likely me as the Kitten documentation at https://kitten.small-web.org is written in Kitten so I had a lot of escaping to do. But for any other use case, it means that things should just work and work exactly as they do in JavaScript pages (page.js files).

Anyway, so this is going to be a breaking change so I thought I’d give you (the three of you playing with Kitten right now?) a heads up. Of course, I’ll be updating the documentation to reflect all this.

(Remember, Kitten is in pre-release and it’s the framework I’m building/using to create Catalyst – the Small Web hosting solution – and Yarn – a small web – peer to peer – personal site app. So Kitten isn’t the means, not the end. And, at least until the Version 1 API freeze, things can and will break. That said, there’s nothing stopping you from playing with it now and, to be fair, at this point, such breaking changes should become rarer and rarer).

kitten💕

#Kitten #SmallWeb#SmallTech #web #dev#Markdown#JavaScript#HTML#CSS#JavaScript#NodeJS

Bloody hell, finally, I think I’m done with the Markdown support rewrite in Kitten.

The Markdown rule for interpreting four spaces as code fences has been the biggest pain in my neck during this whole ordeal but, bitching aside, it means the parser is now more accurate and thus stronger for it.

If all goes well, expect a Monday release :)

https://kitten.small-web.org

kitten💕

#Kitten #SmallWeb#SmallTech #web #dev#Markdown#HTML#CSS#JavaScript#NodeJS

¡Abbie!
¡Abbie! boosted

Hi, fedi! I'm crawling out of my hermit hole to share my new app, TumblBee, with you all 🐝

https://lilacpixel.itch.io/tumblbee

TumblBee is a pay-what-you-want cross-platform app for exporting your original #Tumblr posts (and pages) to Markdown or HTML. Back up your content and browse it locally, or export to Markdown and drop your posts into your favorite static site generator. (There's even a guide to exporting for Obsidian, if that's your thing.)

If you decide to give it a try, I'd love to hear about it! Boosts are, as always, hugely appreciated 💕 boost_requested Thanks so much!

#software #tools#IndieDev#IndieWeb #SmallWeb #blogging #backup #markdown

Happy Friday, fedi! Version 1.2.0 of TumblBee is now available!

https://lilacpixel.itch.io/tumblbee

A few small but nice tweaks in this update! You can now exclude empty reblogs from your exports, and self-reblogs will now link to the exported original post where possible. (Also: some new goodies for those of you who like finding Easter eggs. 🥚)

#software #tools#Tumblr#IndieDev#IndieWeb #SmallWeb #blogging #markdown

The new integrated Markdown parser I’ve been implementing in Kitten has been kicking my ass for the past few weeks but I think I finally have it fully working and seamlessly so. Expect a new release this/next week that brings the parsing of Markdown pages (.page.md files) in your apps up to the standard of the recently-improved runtime Markdown parsing in Kitten HTML tagged-template strings (within &lt;markdown&gt;…&lt;/markdown&gt; blocks).

The coolest thing is I was able to implement this without introducing any new syntax. In fact, I was able to simplify things so that you can now add arbitrary JavaScript to your Markdown pages within a multi-line script block in the YAML front matter (script: |) and use JavaScript string interpolation syntax in your Markdown (and, of course, Kitten components and conditionals, which, themselves, rely on string interpolation).

The only place where you have to deviate from standard Markdown in your Markdown pages is if you have JavaScript string interpolations or Kitten components/conditionals in code fences within your Markdown. In that case, you’ll have to escape them (e.g., &lt;\${Component} /&gt;, \&lt;if \${something}&gt;something\&lt;/if&gt;, etc.). And, to be fair, the person most impacted by this is likely me as the Kitten documentation at https://kitten.small-web.org is written in Kitten so I had a lot of escaping to do. But for any other use case, it means that things should just work and work exactly as they do in JavaScript pages (page.js files).

Anyway, so this is going to be a breaking change so I thought I’d give you (the three of you playing with Kitten right now?) a heads up. Of course, I’ll be updating the documentation to reflect all this.

(Remember, Kitten is in pre-release and it’s the framework I’m building/using to create Catalyst – the Small Web hosting solution – and Yarn – a small web – peer to peer – personal site app. So Kitten isn’t the means, not the end. And, at least until the Version 1 API freeze, things can and will break. That said, there’s nothing stopping you from playing with it now and, to be fair, at this point, such breaking changes should become rarer and rarer).

kitten💕

#Kitten #SmallWeb#SmallTech #web #dev#Markdown#JavaScript#HTML#CSS#JavaScript#NodeJS

The new integrated Markdown parser I’ve been implementing in Kitten has been kicking my ass for the past few weeks but I think I finally have it fully working and seamlessly so. Expect a new release this/next week that brings the parsing of Markdown pages (.page.md files) in your apps up to the standard of the recently-improved runtime Markdown parsing in Kitten HTML tagged-template strings (within &lt;markdown&gt;…&lt;/markdown&gt; blocks).

The coolest thing is I was able to implement this without introducing any new syntax. In fact, I was able to simplify things so that you can now add arbitrary JavaScript to your Markdown pages within a multi-line script block in the YAML front matter (script: |) and use JavaScript string interpolation syntax in your Markdown (and, of course, Kitten components and conditionals, which, themselves, rely on string interpolation).

The only place where you have to deviate from standard Markdown in your Markdown pages is if you have JavaScript string interpolations or Kitten components/conditionals in code fences within your Markdown. In that case, you’ll have to escape them (e.g., &lt;\${Component} /&gt;, \&lt;if \${something}&gt;something\&lt;/if&gt;, etc.). And, to be fair, the person most impacted by this is likely me as the Kitten documentation at https://kitten.small-web.org is written in Kitten so I had a lot of escaping to do. But for any other use case, it means that things should just work and work exactly as they do in JavaScript pages (page.js files).

Anyway, so this is going to be a breaking change so I thought I’d give you (the three of you playing with Kitten right now?) a heads up. Of course, I’ll be updating the documentation to reflect all this.

(Remember, Kitten is in pre-release and it’s the framework I’m building/using to create Catalyst – the Small Web hosting solution – and Yarn – a small web – peer to peer – personal site app. So Kitten isn’t the means, not the end. And, at least until the Version 1 API freeze, things can and will break. That said, there’s nothing stopping you from playing with it now and, to be fair, at this point, such breaking changes should become rarer and rarer).

kitten💕

#Kitten #SmallWeb#SmallTech #web #dev#Markdown#JavaScript#HTML#CSS#JavaScript#NodeJS

🚯 No More Markdown 🚯

Well, it's certainly not going away any time soon, but it doesn't have to be the default. While it's easily a majority of the docs formats that I have to use, it's not my favorite.

Perhaps in an ideal world it would be AsciiDoc or LaTeX All The Time, but we don't live in that world, oh well 💋

In the interim, here's someone who wrote about the topic which seems worth sharing. Interesting points, ja?

- Why You Shouldn’t Use “Markdown” for Documentation: https://ericholscher.com/blog/2016/mar/15/dont-use-markdown-for-technical-docs/

#engineering #software #oss #foss #markdown #documentation

🚯 No More Markdown 🚯

Well, it's certainly not going away any time soon, but it doesn't have to be the default. While it's easily a majority of the docs formats that I have to use, it's not my favorite.

Perhaps in an ideal world it would be AsciiDoc or LaTeX All The Time, but we don't live in that world, oh well 💋

In the interim, here's someone who wrote about the topic which seems worth sharing. Interesting points, ja?

- Why You Shouldn’t Use “Markdown” for Documentation: https://ericholscher.com/blog/2016/mar/15/dont-use-markdown-for-technical-docs/

#engineering #software #oss #foss #markdown #documentation

Hi, fedi! I'm crawling out of my hermit hole to share my new app, TumblBee, with you all 🐝

https://lilacpixel.itch.io/tumblbee

TumblBee is a pay-what-you-want cross-platform app for exporting your original #Tumblr posts (and pages) to Markdown or HTML. Back up your content and browse it locally, or export to Markdown and drop your posts into your favorite static site generator. (There's even a guide to exporting for Obsidian, if that's your thing.)

If you decide to give it a try, I'd love to hear about it! Boosts are, as always, hugely appreciated 💕 boost_requested Thanks so much!

#software #tools#IndieDev#IndieWeb #SmallWeb #blogging #backup #markdown