Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

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 Aufrufe • vor 3 Tagen •via X (Twitter)

41 Kommentare

Profilbild von kepano
kepanovor 3 Tagen

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

Profilbild von Joost Plattel
Joost Plattelvor 3 Tagen

It also means "pretty" in Dutch ;-)

Profilbild von Ian Maurer 🧬
Ian Maurer 🧬vor 3 Tagen

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.

Profilbild von kepano
kepanovor 3 Tagen

Just add URL to your template!

Profilbild von Ian Maurer 🧬
Ian Maurer 🧬vor 3 Tagen

ofc you thought of it.

Profilbild von Pitch
Pitchvor 3 Tagen

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.

Profilbild von Spirit of Star
Spirit of Starvor 3 Tagen

what makes Knap different than Djot?

Profilbild von kepano
kepanovor 3 Tagen

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.

Profilbild von Spirit of Star
Spirit of Starvor 3 Tagen

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

Profilbild von Daniel White
Daniel Whitevor 3 Tagen

@round This is crazy man, you’re cooking

Profilbild von Sonion Ring
Sonion Ringvor 3 Tagen

@obsdmd So it’s Tera basically

Profilbild von kepano
kepanovor 3 Tagen

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

Profilbild von Kaleb
Kalebvor 3 Tagen

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

Profilbild von John Rood
John Roodvor 3 Tagen

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.

Profilbild von Jonathan Laserson
Jonathan Lasersonvor 3 Tagen

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?

Profilbild von ☉ Sunny Operator (sol/acc)
☉ Sunny Operator (sol/acc)vor 3 Tagen

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

Profilbild von R
Rvor 3 Tagen

Love this!!!

Profilbild von Tristan 📚
Tristan 📚vor 3 Tagen

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

Profilbild von Thord D. Hedengren⚡️
Thord D. Hedengren⚡️vor 3 Tagen

Intriguing!

Profilbild von Anup Chavan
Anup Chavanvor 3 Tagen

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

Profilbild von Eyayaw Beze
Eyayaw Bezevor 3 Tagen

why new lang? why not python, r like

Profilbild von kepano
kepanovor 3 Tagen

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

Profilbild von Eyayaw Beze
Eyayaw Bezevor 3 Tagen

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

Profilbild von 🇯🇵 human touched 🇯🇵
🇯🇵 human touched 🇯🇵vor 3 Tagen

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

Profilbild von AutoDoc
AutoDocvor 3 Tagen

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

Profilbild von Gregor
Gregorvor 3 Tagen

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.

Profilbild von Kevin
Kevinvor 3 Tagen

@obsdmd We don’t deserve you

Profilbild von Silas
Silasvor 3 Tagen

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

Profilbild von Lux Moreau ✨
Lux Moreau ✨vor 3 Tagen

nice

Profilbild von Remi
Remivor 3 Tagen

i think my claude will like this

Profilbild von beto.group
beto.groupvor 3 Tagen

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

Profilbild von Mikhail Kashkin
Mikhail Kashkinvor 3 Tagen

Love new Jinja templates!

Profilbild von tolliko
tollikovor 3 Tagen

@obsdmd will it be part of obsidian?

Profilbild von Fluxo Consciente
Fluxo Conscientevor 3 Tagen

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

Profilbild von François Vaux
François Vauxvor 3 Tagen

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

Profilbild von keshav
keshavvor 3 Tagen

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

Profilbild von Matt Miller
Matt Millervor 3 Tagen

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 :)

Profilbild von peculiarnewbie
peculiarnewbievor 3 Tagen

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

Profilbild von Ian Maurer 🧬
Ian Maurer 🧬vor 3 Tagen

Prfect timing! Thsnks :)

Profilbild von Martin Navrátil
Martin Navrátilvor 3 Tagen

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

Profilbild von meowy catgirl
meowy catgirlvor 3 Tagen

good choice of name

Ähnliche Videos

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 Aufrufe • vor 6 Monaten