Загрузка видео...

Не удалось загрузить видео

На главную

This is Knap. It's a new language I created that turns data into Markdown. The syntax should feel familiar and comes with wonderfully pleasant features to modify and format plain text. Knap is open source. Over a million people already use Knap directly or indirectly because it started as...

225,420 просмотров • 3 дней назад •via X (Twitter)

Комментарии: 41

Фото профиля kepano
kepano3 дней назад

Knap: a simple template language that turns data into Markdown using logic, variables, and filters.

Фото профиля Joost Plattel
Joost Plattel3 дней назад

It also means "pretty" in Dutch ;-)

Фото профиля Ian Maurer 🧬
Ian Maurer 🧬3 дней назад

I love that the share button now works with Obsidian, but the one feature of Obsidian Web Clipper that I enjoyed was that it kept the URL in the frontmatter. I actually didn't like many more of the properties that were included, but knowing the URL of the source is super helpful.

Фото профиля kepano
kepano3 дней назад

Just add URL to your template!

Фото профиля Ian Maurer 🧬
Ian Maurer 🧬3 дней назад

ofc you thought of it.

Фото профиля Pitch
Pitch3 дней назад

Everyone builds scrapers, but the real bottleneck is clean data-to-Markdown formatting before context hits an LLM. Piping Defuddle into Knap quietly solves that entire ingestion layer.

Фото профиля Spirit of Star
Spirit of Star3 дней назад

what makes Knap different than Djot?

Фото профиля kepano
kepano3 дней назад

They are unrelated in purpose. Djot is an alternative to Markdown. Knap is a templating language to generate Markdown. Though it's not really optimized for that, Knap can also generate Djot.

Фото профиля Spirit of Star
Spirit of Star3 дней назад

Obsidian ecosystem is extremely interesting, how new things keep being added even though Obsidian does serve it's purpose well, now contributions seemingly are going towards Markdown Ecosystem as a whole

Фото профиля Daniel White
Daniel White3 дней назад

@round This is crazy man, you’re cooking

Фото профиля Sonion Ring
Sonion Ring3 дней назад

@obsdmd So it’s Tera basically

Фото профиля kepano
kepano3 дней назад

@obsdmd Knap's syntax is intentionally designed to feel familiar if you've used Twig, Liquid, Jinja, Tera, etc. But Knap is specifically designed for generating Markdown with frontmatter, so it has many more built-in filters for that purpose and different defaults for whitespace.

Фото профиля Kaleb
Kaleb3 дней назад

Will you be updating your obsidian skills repo to include Knap? 👀🤔

Фото профиля John Rood
John Rood3 дней назад

this is a sneaky-good agent primitive: keep structured data as truth, compile only the exact Markdown each run needs, and stop burning context on giant raw JSON blobs.

Фото профиля Jonathan Laserson
Jonathan Laserson3 дней назад

I read your text and watched the video and I still don't understand what knap is doing. How is the output with all the data generated from the input which is just code?

Фото профиля ☉ Sunny Operator (sol/acc)
☉ Sunny Operator (sol/acc)3 дней назад

Looks like it's heavily inspired by Jinja + Shopify Liquid

Фото профиля R
R3 дней назад

Love this!!!

Фото профиля Tristan 📚
Tristan 📚3 дней назад

@obsdmd Reminds me of Nunjucks, which I used to use a lot with the 11ty static site generator. Nice, I’ll check it out.

Фото профиля Thord D. Hedengren⚡️
Thord D. Hedengren⚡️3 дней назад

Intriguing!

Фото профиля Anup Chavan
Anup Chavan3 дней назад

This will be very useful for my Custom Views plugin. Thanks ❤️

Фото профиля Eyayaw Beze
Eyayaw Beze3 дней назад

why new lang? why not python, r like

Фото профиля kepano
kepano3 дней назад

it's not trying to be a full programming language, it's designed to be simple and safe

Фото профиля Eyayaw Beze
Eyayaw Beze3 дней назад

i see. we don't have to learn new lang anyway thanks to ...

Фото профиля 🇯🇵 human touched 🇯🇵
🇯🇵 human touched 🇯🇵3 дней назад

it can be hard to truly blow our minds in this day and age, but Klap will blow millions... 🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯🤯

Фото профиля AutoDoc
AutoDoc3 дней назад

Welp, that's more or less what I have been looking for. Seems great!

Фото профиля Gregor
Gregor3 дней назад

When I built markdown generation for transaction summaries, conditional logic crept into every template until nothing was maintainable. Rewrote it three times before settling on a dumb string builder.

Фото профиля Kevin
Kevin3 дней назад

@obsdmd We don’t deserve you

Фото профиля Silas
Silas3 дней назад

This is amazing. Will definitely try and use this in some apps I'm working on.

Фото профиля Lux Moreau ✨
Lux Moreau ✨3 дней назад

nice

Фото профиля Remi
Remi3 дней назад

i think my claude will like this

Фото профиля beto.group
beto.group3 дней назад

Game changer, most data won't always need to be store location simply knap it Keep up the great work 🫡

Фото профиля Mikhail Kashkin
Mikhail Kashkin3 дней назад

Love new Jinja templates!

Фото профиля tolliko
tolliko3 дней назад

@obsdmd will it be part of obsidian?

Фото профиля Fluxo Consciente
Fluxo Consciente3 дней назад

I cannot find words to describe the amount of amazement i get from kepano... omg

Фото профиля François Vaux
François Vaux3 дней назад

Any plan on adding custom blocks à-la Nunjucks/Jinja through the API? If so, I'd definitely switch to Knap for my Blueprint Obsidian plugin :D

Фото профиля keshav
keshav3 дней назад

might as well throw in support to knap on my markdown-graphs lol

Фото профиля Matt Miller
Matt Miller3 дней назад

dude this is incredibly cool. one thing i love about vue is how conditionals are scoped to the element, so instead of: {% if cast %} {{ cast | sort:"Actor" | table }} {% endif %} it's: {{ if cast | sort:"Actor" | table }} would love a shorthand :)

Фото профиля peculiarnewbie
peculiarnewbie3 дней назад

Jfc only you will make a language just to make a web clipper. No wonder it's the best web clipper around

Фото профиля Ian Maurer 🧬
Ian Maurer 🧬3 дней назад

Prfect timing! Thsnks :)

Фото профиля Martin Navrátil
Martin Navrátil3 дней назад

Bro, that is just jinja with compilation target set to markdown instead of html...

Фото профиля meowy catgirl
meowy catgirl3 дней назад

good choice of name

Похожие видео

I asked Garry Tan how to use meta prompting to get better at AI: "My partners at YC Jared Friedman and Pete Koomen showed me how to do this. You can take almost anything that you do all the time and just drop it into a context window. And then say, “Here’s a bunch of inputs and outputs." And maybe you also add a bunch of notes. And then you tell it, “Write me a prompt that can act as an agent that takes this input and makes this output over here.” You can do this for almost any type of knowledge work. And you can even introspect. "What are things you notice that I did to convert this from the input to the output?”. And then you can just start using the prompt. Initially, it’s going to suck. Because it’s just not that smart yet. But what’s funny is now, I also use it to Iterate my writing. You can be very direct, "I would never say that", "Don’t say it like this", or "Oh, you used the long word there, use the short word". Just speak to it conversationally. And then when you're happy with the output, you can use that new output to make a new prompt. "Based on this conversation, give me a better initial prompt that incorporates all the things we talked about." And you can do this with literally everything. And in theory, there’s so much it applies to that people do day-to-day. You could use it for tweets. You could use it for editing podcasts. You can use it for pretty much everything. I have a folder of prompts that I use all the time. My YouTube prompt is on v27 or something. I'll go through this process with all the different max models. I'll use GPT 5.2 Pro. I’ll use Grok. I'll use Claude. Then, I’ll take all the outputs from all the models and put them into Claude and say "Here’s my prompt, here’s the output from four LLMs, including yourself. Rate each response and tell me what the pros and cons of each approach are." And I usually say "give it to me in numbered form". And then you can agree with one, disagree with two, tell it three is this or that. And then after that, you say given all of this, synthesize it."

The Peel

51,632 просмотров • 6 месяцев назад