Building a fancy input field from a div[contenteditable=true] in VueJS

ImitationCrab.com was a project that started off a gag tool to make some friends laugh. It grew into something I am always thinking about improving. In that process, I knew that each meme needed it’s own field that is editable but needs some extra stuff. I wasn’t sure what stuff was but in order for it to useful, it had to be flexible enough for any instance.