Video yükleniyor...

Video Yüklenemedi

Ana Sayfaya Dön

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...

229,199 görüntüleme • 4 gün önce •via X (Twitter)

41 Yorum

kepano profil fotoğrafı
kepano4 gün önce

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

Joost Plattel profil fotoğrafı
Joost Plattel3 gün önce

It also means "pretty" in Dutch ;-)

Ian Maurer 🧬 profil fotoğrafı
Ian Maurer 🧬4 gün önce

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 profil fotoğrafı
kepano4 gün önce

Just add URL to your template!

Ian Maurer 🧬 profil fotoğrafı
Ian Maurer 🧬3 gün önce

ofc you thought of it.

Pitch profil fotoğrafı
Pitch3 gün önce

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 profil fotoğrafı
Spirit of Star4 gün önce

what makes Knap different than Djot?

kepano profil fotoğrafı
kepano3 gün önce

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 profil fotoğrafı
Spirit of Star3 gün önce

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 profil fotoğrafı
Daniel White3 gün önce

@round This is crazy man, you’re cooking

Sonion Ring profil fotoğrafı
Sonion Ring4 gün önce

@obsdmd So it’s Tera basically

kepano profil fotoğrafı
kepano3 gün önce

@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 profil fotoğrafı
Kaleb3 gün önce

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

John Rood profil fotoğrafı
John Rood3 gün önce

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 profil fotoğrafı
Jonathan Laserson3 gün önce

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) profil fotoğrafı
☉ Sunny Operator (sol/acc)3 gün önce

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

R profil fotoğrafı
R4 gün önce

Love this!!!

Tristan 📚 profil fotoğrafı
Tristan 📚3 gün önce

@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⚡️ profil fotoğrafı
Thord D. Hedengren⚡️4 gün önce

Intriguing!

Anup Chavan profil fotoğrafı
Anup Chavan4 gün önce

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

Eyayaw Beze profil fotoğrafı
Eyayaw Beze3 gün önce

why new lang? why not python, r like

kepano profil fotoğrafı
kepano3 gün önce

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

Eyayaw Beze profil fotoğrafı
Eyayaw Beze3 gün önce

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

🇯🇵 human touched 🇯🇵 profil fotoğrafı
🇯🇵 human touched 🇯🇵3 gün önce

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

AutoDoc profil fotoğrafı
AutoDoc3 gün önce

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

Gregor profil fotoğrafı
Gregor3 gün önce

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 profil fotoğrafı
Kevin3 gün önce

@obsdmd We don’t deserve you

Silas profil fotoğrafı
Silas3 gün önce

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

Lux Moreau ✨ profil fotoğrafı
Lux Moreau ✨3 gün önce

nice

Remi profil fotoğrafı
Remi4 gün önce

i think my claude will like this

beto.group profil fotoğrafı
beto.group3 gün önce

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

Mikhail Kashkin profil fotoğrafı
Mikhail Kashkin3 gün önce

Love new Jinja templates!

tolliko profil fotoğrafı
tolliko3 gün önce

@obsdmd will it be part of obsidian?

Fluxo Consciente profil fotoğrafı
Fluxo Consciente3 gün önce

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

François Vaux profil fotoğrafı
François Vaux3 gün önce

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 profil fotoğrafı
keshav3 gün önce

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

Matt Miller profil fotoğrafı
Matt Miller3 gün önce

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 profil fotoğrafı
peculiarnewbie3 gün önce

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

Ian Maurer 🧬 profil fotoğrafı
Ian Maurer 🧬4 gün önce

Prfect timing! Thsnks :)

Martin Navrátil profil fotoğrafı
Martin Navrátil3 gün önce

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

meowy catgirl profil fotoğrafı
meowy catgirl3 gün önce

good choice of name

Benzer Videolar

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 görüntüleme • 6 ay önce