graph { graph [engine:dot rankdir:BT clusterize:true applyCss:true intention:semi] technology -> technology__web_scrape_ing [reverse: false] technology -> technology__redis____ [reverse: false] technology -> technology__rabbit_mq [reverse: false] technology -> technology__LLM [reverse: false] technology -> technology__collabora_for_markdown [reverse: false] technology__collabora_for_markdown -> technology__collabora_for_markdown___technology__hedgedoc [reverse: false] technology__collabora_for_markdown___technology__hedgedoc -> technology__collabora_for_markdown___technology__hedgedoc___technology__collabora_for_markdown___technology__collabora_ast_nav_ [reverse: false] technology__collabora_for_markdown___technology__hedgedoc___technology__collabora_for_markdown___technology__collabora_ast_nav_ -> technology__collabora_for_markdown___technology__hedgedoc___technology__collabora_for_markdown___technology__collabora_ast_nav____technology__collabora_for_markdown___technology__hedgedoc___technology__collabora_for_markdown___technology__Option_2__Search___jump [reverse: false] database -> database__sqlite_tricks [reverse: false] database__sqlite_tricks -> database__sqlite_tricks___database__JSON_to_sqlite [reverse: false] database__sqlite_tricks -> database__sqlite_tricks___database__admins [reverse: false] technology [z: 9.5 @html: "
technology
• aspect of technology choice
• what can easilly run on linode?
• what software is used/needed at this
stage?
• duckdb
• imagick
• sparql
• bash
• nodejs
• databox-libs: ast-lake
• bc (calc)
• rsvg-convert
• towebp
• graphviz
• inkscape?
• TODO ...
• webhook
• ☐ do we really need webhook? VS
rabbitMq
• rabbitMq
• wget
https:/rabbitmqadmin
• redis
" nomen: "technology"] technology__web_scrape_ing [z: 4.75 @html: "
web scrape-ing
• 
• https:/crawlee.dev
• amerkurev/scrapper
• pecka!
• curl -X GET
"localhost:3000/api/article?url=https:/web_scraping"
• curl -X GET
"localhost:3000/api/article?cache=no&url=https:/povod-pellegriniho-miliono
• https:/seo-tools
• https:/seobility-seo-checker
• https:/colly
• https:/scrapey-cli
• see databox-libs: fetchish
• 
" nomen: "web scrape-ing"] technology__redis____ [z: 4.75 @html: "
redis + ?
• https:/RediSearch
• https:/docs.keydb.dev
• https:/www.dragonflydb.io
• https:/awesome-redis-module
• see duck.ai_redis*.mdd
• ORM for Redis:
https:/redisom-for-node-js
• https:/gnuprolog-redisclient
" nomen: "redis + ?"] technology__rabbit_mq [z: 4.75 @html: "
rabbit-mq
• suoper
• 
" nomen: "rabbit-mq"] technology__LLM [z: 4.75 @html: "
LLM
• https:/www.jan.ai
• https:/localai.io
• see llm-tagger... shit
• https:/watch?v=0XLRZavOjSs
" nomen: "LLM"] technology__collabora_for_markdown [z: 4.75 @html: "
collabora for markdown
• Etherpad⸨Etherpad⸩
• GitHub - docmost/docmost:⸨GitHub - docmost/docmost: ⸩
• 【Outline – Team knowledge base &
wiki
" nomen: "collabora for markdown"] technology__collabora_for_markdown___technology__hedgedoc [z: 2.375 @html: "
hedgedoc
• HedgeDoc⸨HedgeDoc⸩
• HedgeDoc⸨HedgeDoc⸩
• !!!HedgeDoc⸨HedgeDoc⸩
• HedgeDoc = flat key-value store of
Markdown documents
• its DB can be hijacked
• api:%5BHedgeDoc%5D(https://doc⸨%5BHedgeDoc%5D(https://doc⸩
• prompt:

 Collaborative Markdown editors
(closest to Collabora use case) ⭐
HedgeDoc Real-time collaboration (like
Google Docs) Native Markdown editing
TOC, headings, anchors all first-class
Easy self-host (Docker) ### collabora
for markdown - !!!
【HedgeDoc】(https:/docs.hedgedoc.org) -
prompt: 

• how to embed in a website?
• Use polling + incremental APIs (standard
approach)
• see hedgedoc-to-files.js and
hedgedoc-from-files.js
" nomen: "hedgedoc"] technology__collabora_for_markdown___technology__hedgedoc___technology__collabora_for_markdown___technology__collabora_ast_nav_ [z: 1.1875 @html: "
collabora ast-nav?
Collabora Online WOPI lacks an API to
move the cursor directly to headings or
TOC entries. The practical workaround is
using the postMessage search command to
locate heading text and jump there. For
reliable positioning, preprocess
documents to insert unique bookmarks or
hidden markers at headings, then search
for those identifiers to achieve
precise, deterministic cursor navigation
within the document.
" nomen: "collabora ast-nav?"] technology__collabora_for_markdown___technology__hedgedoc___technology__collabora_for_markdown___technology__collabora_ast_nav____technology__collabora_for_markdown___technology__hedgedoc___technology__collabora_for_markdown___technology__Option_2__Search___jump [z: 0.59375 @html: "
Option 2: Search → jump

 iframe.contentWindow.postMessage(
JSON.stringify({ MessageId:
"Search", SearchItem: {
SearchString: "My Heading",
Backward: false, Command: 0,
}, }), "*", ); 

" nomen: "Option 2: Search → jump"] database [z: 9.5 @html: "
database
• sqlite alternative: https:/turso.tech
• todo sqlite-tricks
" nomen: "database"] database__sqlite_tricks [z: 4.75 @html: "
sqlite tricks
• https:/absurder-sql
• https:/SQLPage
• https:/sqlime?tab=readme-ov-file
• https:/sqlean
• https:/datasette.io
• https:/watch?v=wc8FBhQtdsA
" nomen: "sqlite tricks"] database__sqlite_tricks___database__JSON_to_sqlite [z: 2.375 @html: "
JSON to sqlite
• datasette
• https:/watch?v=wc8FBhQtdsA
• sqlite-utils (Simon Willison)
• sqlite-utils insert my.db rows data.json
--table mytable --flatten 1
• LanceDB + DuckDB + SQLite is a killer
combo
• https:/lancedb
" nomen: "JSON to sqlite"] database__sqlite_tricks___database__admins [z: 2.375 @html: "
admins
• https:/couch-photon?utm_source=ch
• SQLite Web?
• https:/download
• https:/www.beekeeperstudio.io
• https:/litefs
• ./pocketbase serve
• npx dbgate

 docker run -d \\ --name
dbgate-instance \\ --restart always \\
-p 3000:3000 \\ -v
/home/stefan/data:/data \\
dbgate/dbgate 

" nomen: "admins"] }