Jan Miksovsky
UX design and engineering architect; founder of Web Origami, Cozi, Component Kitchen, Elix web components; section hiker; father of three; 日本語能力試験の受験者
- Posts
- 569
- Followers
- 229
- Following
- 116
-
During a week of off-trail #backpacking in Utah's Grand Staircase–Escalante National Monument last week, a fellow hiker captured a great shot of me at sunset
My daughter saw it and said, "That looks like a social media profile banner".
Oh, good idea
-
Last week a parent of a young child was intrigued by the #journal I keep for my family. I wrote up my suggestions to him as a blog post: https://jan.miksovsky.com/posts/2026/05-11-journaling
#Journaling as a practice has many benefits. It doesn’t matter how you start, only that you start.
-
This week's #WebOrigami comic: Track changes in your site
More about Origami's Dev.changes builtin: https://weborigami.org/builtins/dev/changes
HTML comic: https://weborigami.org/comics/track-changes-in-your-site.htmlThis Origami tool works with any #staticsite generator!
-
This week's #WebOrigami comic: Cache slow resources
More about Origami's Tree.cache builtin: https://weborigami.org/builtins/tree/cache
HTML comic: https://weborigami.org/comics/cache-slow-resources.html -
This week's #WebOrigami comic: Rewriting nested function calls
More about Origami pipe operator: https://weborigami.org/language/expressions#pipe-operator
HTML comic: https://weborigami.org/comics/rewriting-nested-function-calls.htmlFWIW there's a (stale?) JS proposal for a pipe operator: https://github.com/tc39/proposal-pipeline-operator
-
It’s a treat to read such a well-written overview of #WebOrigami!
https://vale.rocks/posts/web-origami
I recall that @vale completely got the idea the first time he saw it, and he’s done great things with it ever since.
I think Origami’s the best way to make your site, but don’t just take my word for it — read Vale’s post!
-
This week's #WebOrigami comic: Group pages
More about Tree.groupBy builtin function: https://weborigami.org/builtins/tree/groupby
HTML comic: https://weborigami.org/comics/group-pages.html -
This week's #WebOrigami comic: Serve anything
More about Origami's serve command: https://weborigami.org/builtins/dev/serve
HTML comic: https://weborigami.org/comics/serve-anything.html -
This week's #WebOrigami comic: Deferring work
More about Property getters in Origami: https://weborigami.org/language/expressions#property-getters
HTML comic: https://weborigami.org/comics/deferring-work.html -
This week's #WebOrigami comic: File extensions
More about Working with file types in Origami: https://weborigami.org/language/filetypes
HTML comic: https://weborigami.org/comics/file-extensions.html -
Configuration-based site-making tools say: organize your content into folders, edit some config files, then run our tool to get a site.
But what if writing your site from scratch actually involves *less* code?
My 4th and final post in a series comparing a sample blog in #WebOrigami and #Eleventy: **Is code is more concise than configuration?** (Yes! Yes it is! Also easier to follow, more coherent, and more expressive.)
https://jan.miksovsky.com/posts/2026/03-20-code-is-more-concise-than-configuration
-
Code is more expressive than configuration: comparing a sample blog in #WebOrigami and #Eleventy
https://jan.miksovsky.com/posts/2026/03-19-code-is-more-expressive-than-configuration
Third post of four comparing creating the same #blog in two different #ssg systems. Both require code — which kind of code do you want to write?
-
Code is more coherent than configuration: comparing a sample blog in #WebOrigami and #Eleventy
https://jan.miksovsky.com/posts/2026/03-18-code-is-more-coherent-than-configuration
Second post in a series comparing creating the same #blog in two different #ssg systems, in which we compare approximating your desired site with a folder structure vs describing your desired site in text
-
Code is easier to follow than configuration: comparing a sample blog in #WebOrigami and #11ty https://jan.miksovsky.com/posts/2026/03-17-code-is-easier-to-follow-than-configuration
First post in a series comparing creating the same #blog in two different #ssg systems. The first diagram shows a large number of implicit connections between source files in the #Eleventy blog, the second shows that all connections in the Origami blog are explicit.
-
This week's #WebOrigami comic: Coding in your terminal
More about The ori command-line interface: https://weborigami.org/cli/
HTML comic: https://weborigami.org/comics/coding-in-your-terminal.htmlUsing ori in a VS Code JavaScript Debug Terminal lets you set breakpoints, inspect variables, and step through code you start from a terminal!
-
RE: https://mastodon.social/@jimniels/116197448348633013
This is a nice use of #WebOrigami to liberate photos from #Instagram and create a personal #smallweb site!
I was so disappointed when IG deprecated their Basic Display API last year because we can't have nice things, but (for now) they still let users export their own data
Origami is great for this sort of fetch-and-transform task
-
This week's #WebOrigami comic: What are slugs
More about Origami.slug() function: https://weborigami.org/builtins/origami/slug
HTML comic: https://weborigami.org/comics/what-are-slugs.htmlFun etymolgy: https://archive.nytimes.com/www.nytimes.com/times-insider/2014/11/24/whats-in-a-slug/
-
Who else would use a shared #JavaScript library for #Electron apps to create an deploy #Netlify sites?
https://jan.miksovsky.com/posts/2026/03-05-netlify-dialog-library
-
This week's #WebOrigami comic: Maps transform bulk content
More about Tree.map builtin function: https://weborigami.org/builtins/tree/map
HTML comic: https://weborigami.org/comics/maps-transform-bulk-content.html -
RE: https://mastodon.social/@jimniels/116120996001714316
One of the very best things about developing #WebOrigami as a friendlier dialect of #JavaScript for sites is that, as long as the core language is well-designed, users aren’t confined to a limited, pre-imagined set of features — they can create all sorts of useful solutions for themselves.
-
This week's #WebOrigami comic: Transform content
More about The Content/Transformation model: https://weborigami.org/model.html
HTML comic: https://weborigami.org/comics/transform-content.html -
This week's #WebOrigami comic: Serve a site
More about Origami serve command: https://weborigami.org/builtins/dev/serve
HTML comic: https://weborigami.org/comics/serve-a-site.html -
This week's #WebOrigami comic: Include a folder
More about Site definitions: https://weborigami.org/language/sites
HTML comic: https://weborigami.org/comics/include-a-folder.html -
This week's #WebOrigami comic: Template documents
More about Origami template documents: https://weborigami.org/language/templatedocuments
HTML comic: https://weborigami.org/comics/template-documents.html -
This week's #WebOrigami comic: Full-text search
More about Origami's pagefind extension: https://github.com/WebOrigami/extensions/tree/main/pagefind
HTML comic: https://weborigami.org/comics/full-text-search.html -
The fixation at #GoogleIO last week on AI buried the much more interesting talk by @Una on The Latest in Web UI, which highlighted the ton of interesting features arriving in #HTML and #CSS. https://www.youtube.com/watch?v=_-6LgEjEyzE
I wish the other browser vendors didn't rely so heavily on Google to get the word out. They all do so much work to make these features possible, as do the standards committees, the #OpenUI group, and @igalia, and they all deserve to get more credit.
-
Each month this year I'm trying to post a sample website written in Origami, a declarative programming language at the level of #HTML and #CSS for defining websites.
This month's sample is Aventour Expeditions, a site for an outdoor travel company: https://aventour-expeditions.netlify.app
It's easy to have Origami call other template languages, so for this sample I used the #Handlebars template language to turn markup and data into HTML.
-
It's useful to be able to apply templates written in a language like #Handlebars to things in the shell.
The Origami #CLI lets you invoke JavaScript functions defined in .js files, but you can now also identify a handler for any file extension — like OS app file associations, but for a CLI. https://weborigami.org/language/filetypes.html#custom-file-types
So a handler can load a `.hbs` file as a function that applies a Handlebars template, then apply that in the command line.