TGViewer
Сіпласпластик Сіпласпластик @cpplastic · 739 subscribers
Post #318 324
Є у мене значить плагін для MkDocs, який перетворює посилання виду
[[some folder/some page]]

у посилання виду
[some folder/some page](full-path/to/some%20folder/some%20page.md)

так, як це робить Obsidian. Тобто можна навіть не повний шлях вказувати, й воно знаходить найближчий файл з таким іменем і підставляє все правильно.

У ⬇️ фіча, що зображення вставляються абсолютно аналогічним способом, тільки треба ! додати перед цим. І обсідіан цим скористався, тож в ньому ![[image.jpg]] теж працює. І для цього мені навіть плагін не довелося модифікувати, бо перетворення [[...]] на [...](...) спрацьовує до того, а знак оклику там вже є.

А от з відосами в обсідіані працює, а у мене ні. Це тому, що MkDocs на синтаксис виду ![alt](url) генерує
<img src="url" alt="alt" />

Звісно, браузер тільки зображення так вбудовувати вміє.

Знайшов якийсь чужий екстеншн для Python-Markdown, який наче мав би працювати з коробки, але якогось хєра ні, тож сів писати свій.

Роблю приблизно таке: якщо знаходжу <img>, в якому src вказує на відео, наприклад, video.mp4, то заміняю його на
<video>
Формат не підтримується
<a href="video.mp4">video.mp4</a>
<source src="video.mp4" type="video/mp4" />
</video>

Ну, так воно мало б працювати принаймні, але ж ні! Натомість було
<video>
Формат не підтримується
<a href="../video.mp4">video.mp4</a>
<source src="video.mp4" type="video/mp4" />
</video>

Бачите? Воно ../ додало. І прикол у тому, що це як раз правильний URL згідно з тією структурою, яку генерить MkDocs.

Я дуже довго дуплився і не міг збагнути, в який момент і хто це робить, аж доки не втямив, що в самому MkDocs на цей випадок свій додатковий Treeprocessor, котрий відносні посилання адаптує, от тільки робить він це виключно для <a> та <img>, але не для <source>. Наразі просто захардкодив додавання ../, але треба зробити аналогічним чином, як у них, мабуть.

Та допис насправді навіть не про це, бо це був вступ 😅

Спробував я тут ваш хвалений uv замість poetry, якщо вже нагода випала. Він типу на расті написаний, все вміє, мовляв, дуже швидкий і все таке (як з рекламного буклета). І знаєте шо? Виявляється, що він і справді норм!

Але є певні «але».

По-перше, не всі #тулзи можна ним поставити. От наприклад, ansible — поки що ні на відміну від pipx. По-друге, білд-система все одно потрібна, тож наразі використовую hatch, бо poetry не по стандарту пише у pyproject.toml.

По-третє, я якось не певен щодо підходу писати тули для якоїсь однієї мови — іншою мовою. Про це вже пан yakimka писав у себе в каналі, тож краще там почитайте. З одного боку кожен хороший програміст володіє багатьма мовами anyway, проте, з іншого є відчуття, що в довгостроковій перспективі це може негативно вплинути на спільноту 🤔 Хз.

Та що я точно можу сказати про uv: працює ця падлюка напрочуд швидко. Мені як раз друган днями жалівся, що доки тестував автоматизації робочих процесів у своїй 💻-репі на GitHub Actions, то виюзав всі халявні 2000 хвилин. І ось тут ця тула прям стане в пригоді, бо, думаю, можна на порядок пришвидшити встановлення всіх залежностей.

Думайте, що вам важливіше 🎤
  • 👍 5
  • 🤡 1
  • 👀 1
  • 🫡 1
More from @cpplastic
  1. Oct 7, 2026Post #543
  2. Oct 2, 2026Щось не злетіло з self-driving cars у автовиробників, еге ж? А стільки галасу було. Ну зат…
  3. Sep 24, 2026Ух, яку ж класну доповідь подивився: «Scott Jenson: Are we really going to use the same De…
  4. Sep 23, 2026Post #540
  5. Sep 21, 2026«Порекламую» вам український сайт, який мені дуже подобається. Взяв слово в лапки, бо як і…
  6. Sep 18, 2026Ви ж знаєте, що я полюбляю Tailscale 💠 попри те, що недоліків у них теж вистачає? Але сам…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →