Стендап Сьогодні
📢 Канал в Telegram @stendap_sogodni
🦣 @stendap_sogodni@shevtsov.me в Федиверсі

🤖🚫 AI-free content. This post is 100% written by a human, as is everything on my blog. Enjoy!

15.09.2025

JCT 0.1.0 - краще перетворення JSON Canvas на Markdown


Демонстрація всіх можливостей

На вихідних розширив можливості JSON Canvas Tools… бо мені було треба. А саме, почав перекладати власні канви на списки, та виявилося, що наївного перетворення замало.

Взагалі воно й так не було зовсім наївним — я принаймні знаходив кластери вузлів зі звʼязками та перетворював їх у вкладені списки. Але того мало.

По-перше, хоч всіх нюансів розташування в просторі не передати, є один зрозумілий: групи. В JSON Canvas група — це лише спеціальний тип вузла group, явної вкладеності немає. Зате цю вкладеність легко обчислити за координатами вузлів — що, я гадаю, й робить Obsidian, коли ти перетягаєш всі вузли в групі разом із самою групою. А в мене тепер кожна група стає заголовком в Markdown.

Друге, та досить просто, на канві можуть бути зображення. Для них немає особливої розмітки — лише вузли типу file - для локальних зображень, або link - для URL. Можна, звісно, залишити їх в Markdown посиланнями, але щоб було зручніше, я перевіряю розширення посилання, та виводжу з відповідною розміткою.

Нарешті, багато в кого канва доповнена нестандартними атрибутами — в мене ось такі. Щоб їх не загубити, я виводжу всі нестандартні атрибути у Markdown. Спочатку хотів показати їх просто JSONом, але не так зручно мати JSON всередині тексту. Тому натомість виводжу у вигляді key=value. Потім я можу звичайною заміною тексту перекласти їх в щось красиве.