I’m currently sitting in the Atlanta airport waiting to fly home from one of my favorite conferences, DevNexus. While there, my buddy Todd Sharp introduced me to RingCentral. RingCentral is a telecom API provider that reminds me a lot of Nexmo and Twilio. I’ve enjoyed working with both of those companies APIs so this morning I spent some time playing with RingCentral as well.
While at a conference last week, an attendee was asking me about Eleventy and specifically, how to add support for another template language. He mentioned that he was a user of MJML, a format I had never heard of, but apparently it’s big for people who build responsive email templates. Doing HTML for email seems to be the “last place” where web dev is painful so this probably makes things quite a bit easier. I did some digging and this is what I turned up.
While going through the Eleventy’s docs recently I discovered an interesting feature, Linters. This feature lets you define custom rules you want to apply to your logic such that you can throw warnings during the editing and publishing process. The docs have an example of this in action but I wanted to expand a bit on it and see if I can add in textlint support. textlint is a customizable text linting program built with Node.
Let me begin by asking for some patience here as this post may ramble a bit. It certainly ended up going in directions I didn’t expect when I built my proof of concept. If anything doesn’t make sense, or I may some silly mistake, absolutely leave me a quick comment below and let me know. Alright, so with that out of the way, what in the heck am I writing about today?
Nearly two years ago I wrote a blog post (Building Table Sorting and Pagination in Vue.js) that detailed how to paginate and sort a set of client-side data with Vue.js. A day or so ago a reader asked how you would handle the same thing using data loaded from a remote API. Specifically, data where every sort, and page, is loaded from a remote API. I worked on a demo of this and while doing so learned something new about Vue. So here are my solutions and as always, let me know what you think.
Vue has great support for working with forms. This is heavily documented in the Form Input Bindings section. I wanted to build my own demo/set of examples based on this as a way of exploring the different types of inputs and how Vue works with them. In order to do this, I built a demo that covered every single type of form field possible. (As far as I know, let me know what I forgot.) For each I tested setting an initial value and outputting the bound value in case it looked different than what the field displayed,
input[type=color] is a great example of this.
Welcome to the last, ever (ok, for me) iteration of the ToDo app in Vue.js. I started this series a few weeks ago (“Another Damn ToDo App in Vue.js”). In the first iteration, the data was ephemeral and lost every time you closed the application. I then followed up with a version that persisted the data using IndexedDB, “Yet Another Damn ToDo App in Vue.js”. In this third and final version I decided to kick it up quite a bit by adding Google Firebase.