https:\/\/xkcd.com\/974<\/a><\/figcaption><\/figure>\nMaybe that\u2019s an answer. I\u2019d love to hear all of your (constructive) thoughts and suggestions, or if you\u2019ve tried other ways of going about a similar task.<\/p>\n","protected":false},"excerpt":{"rendered":"
This post covers how I built a typography grid for a design system using Vue render functions. Here\u2019s the demo and the code. I used render functions because they allow you to create HTML with a greater level of control than regular Vue templates, yet surprisingly I couldn\u2019t find very much when I web searched […]<\/p>\n","protected":false},"author":255482,"featured_media":288106,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"sig_custom_text":"","sig_image_type":"featured-image","sig_custom_image":0,"sig_is_disabled":false,"inline_featured_image":false,"c2c_always_allow_admin_comments":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[4],"tags":[1396,1073],"jetpack_publicize_connections":[],"acf":[],"jetpack_featured_media_url":"https:\/\/css-tricks.com\/wp-content\/uploads\/2019\/05\/the-quick-brown-fox.svg","jetpack-related-posts":[{"id":312569,"url":"https:\/\/css-tricks.com\/how-to-make-localstorage-reactive-in-vue\/","url_meta":{"origin":288018,"position":0},"title":"How to Make localStorage Reactive in Vue","date":"June 24, 2020","format":false,"excerpt":"Reactivity is one of Vue\u2019s greatest features. It is also one of the most mysterious if you don\u2019t know what it\u2019s doing behind the scenes. Like, why does it work with objects and arrays and not with other things, like localStorage? Let\u2019s answer that that question, and while we\u2019re at\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/06\/vue-glowing.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":273906,"url":"https:\/\/css-tricks.com\/building-renderless-vue-components\/","url_meta":{"origin":288018,"position":1},"title":"Building “Renderless” Vue Components","date":"July 20, 2018","format":false,"excerpt":"There's this popular analogy of Vue that goes like this: Vue is what you get when React and Angular come together and make a baby. I've always shared this feeling. With Vue\u2019s small learning curve, it's no wonder so many people love it. Since Vue tries to give the developer\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/03\/vue-circles.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":333537,"url":"https:\/\/css-tricks.com\/dynamically-switching-from-one-html-element-to-another-in-vue\/","url_meta":{"origin":288018,"position":2},"title":"Dynamically Switching From One HTML Element to Another in Vue","date":"February 2, 2021","format":false,"excerpt":"A friend once contacted me asking if I had a way to dynamically change one HTML element into another within Vue\u2019s template block. For instance, shifting a
element to a element based on some criteria. The trick was to do this without relying on a series of v-if\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2021\/01\/button-link-swap.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":306810,"url":"https:\/\/css-tricks.com\/alpine-js-the-javascript-framework-thats-used-like-jquery-written-like-vue-and-inspired-by-tailwindcss\/","url_meta":{"origin":288018,"position":3},"title":"Alpine.js: The JavaScript Framework That’s Used Like jQuery, Written Like Vue, and Inspired by TailwindCSS","date":"April 29, 2020","format":false,"excerpt":"We have big JavaScript frameworks that tons of people already use and like, including React, Vue, Angular, and Svelte. Do we need another JavaScript library? Let\u2019s take a look at Alpine.js and you can decide for yourself. Alpine.js is for developers who aren't looking to build a single page application\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2020\/04\/alpinejs.png?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":293093,"url":"https:\/\/css-tricks.com\/what-i-like-about-vue\/","url_meta":{"origin":288018,"position":4},"title":"What I Like About Vue","date":"July 25, 2019","format":false,"excerpt":"Dave Rupert digs into some of his favorite Vue features and one particular issue that he has with React: I\u2019ve come to realize one thing I don\u2019t particularly like about React is jumping into a file, reading the top for the state, jumping to the bottom to find the render\u2026","rel":"","context":"In "Link"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/03\/vue-logo-pattern.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":270985,"url":"https:\/\/css-tricks.com\/what-does-the-h-stand-for-in-vues-render-method\/","url_meta":{"origin":288018,"position":5},"title":"What does the ‘h’ stand for in Vue’s render method?","date":"May 30, 2018","format":false,"excerpt":"If you\u2019ve been working with Vue for a while, you may have come across this way of rendering your app \u2014 this is the default in the latest version of the CLI, in main.js: new Vue({ render: h => h(App) }).$mount('#app') Or, if you\u2019re using a render function, possibly to\u2026","rel":"","context":"In "Article"","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/css-tricks.com\/wp-content\/uploads\/2018\/05\/vue-h.jpg?fit=1200%2C600&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"featured_media_src_url":"https:\/\/css-tricks.com\/wp-content\/uploads\/2019\/05\/the-quick-brown-fox.svg","_links":{"self":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/288018"}],"collection":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/users\/255482"}],"replies":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/comments?post=288018"}],"version-history":[{"count":29,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/288018\/revisions"}],"predecessor-version":[{"id":288684,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/posts\/288018\/revisions\/288684"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media\/288106"}],"wp:attachment":[{"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/media?parent=288018"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/categories?post=288018"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/css-tricks.com\/wp-json\/wp\/v2\/tags?post=288018"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}