Hacker News new | ask | show | jobs
by torstenvl 2202 days ago
Seems like it would be awesome if HTML allowed you to set a default element

    <meta default-element="div">
and then use

    <.card>
as a shorthand for

    <div class="card">
You could be "classless" to the extent of being semantic and succinct but without having to misappropriate elements.
5 comments

The yesod web framework's hamlet templates have this, albeit without the default as far as I know. <section .card> compiles to <section class="card">. If you omit the element, it uses div by default so you can use just <.card> if you prefer.
If you want to do this, look into autonomous custom elements, you can make something like `<x-card>` …no class name required!
A workaround might be little more than running a sed command on the html sources before bundling.
why not just write <div class="card">
<s>Not nearly as cool as <.card>, sorry</s>
Or use a template engine. Slim for example allows you to write just .card