May 06, 2014
Sharing is Caring
I have a confession to make: I’m not good at sharing the things that I build. Well, externally, that is. My coworkers know all about the little applications I create, and I’m more than happy to show them off to them. Why? Is it because I trust them and know that they’ll only give me constructive feedback? Am I scared of the Internet? I don’t know. Whatever the reason, I’m not doing it anymore. I’ve let way too many projects sit in a private GitHub repository. No more!
Well, ironically enough, my GitHub account hit the max limit of private repositories. I had to choose between upgrading my account to allow for more repositories, or finally releasing all of the projects and applications that I’ve kept hidden. I’ve chosen the latter, and I’d like to talk about the four applications that I’m releasing to the world. That’s right, I said four.
I’ve written about Gificiency before, and you can learn more about it in that article. Essentially, this was a little application I built for myself to get out of the rut I was in while working on a long-term project. I use the application daily to keep my gificiency sharp.
This is a recent application I built while working on a front-end rewrite of a very large application. I needed a clean way to track all of the pages in the site, and update the status of each page to let the designer know whether the page is ready to be reviewed, currently being worked on, or hasn’t been started. Since I was building the site in my favorite static-site generator, Middleman , I built this status site into it, and ultimately pulled it out as its own application.
The entire site is generated from a single YAML file (well, there’s a config YAML file, so two to be exact). You add all the pages, tagging them with a title, link, status, section, and optional note, and the sidebar items and URLs are generated from that file. For example:
- title: 'Home Page' link: '/' status: 'success' section: 'primary'
Now all you have to do is build the site and deploy however you’d like.
Minder could be used in various functions. If you have a live site, you could use it to track the pages and mark any issues or bugs by tagging a page with a status. You could use it as I did, and mark pages for a designer to review. There are a number of possibilities.
A friend of mine started using Middleman for documentation by creating Markdown
files. He inquired about a way to automatically generate the sidebar items
based on the files that are created. Leo is the incarnation of that idea. All
you do is add your Markdown files to the
source directly, set a small
Frontmatter block at the top of
each file, and everything will just work. Here’s an example of the Frontmatter
that you need to set:
--- title: ‘Introduction’ type: page priority: 1 ---
I have more plans for responsiveness, nested sidebar sections, and a whole lot more planned for Leo, and it, like every app, will evolve over time.
Head over to the GitHub repo to see more documentation, as well as a demo site.
I really wanted to dig into Angular and learn how to build an application. There are a lot of great HTML slide decks out there, but I wanted to build my own using Middleman and Angular. Primarily, I wanted a slide deck that I could easily add full-screen animated GIFs to. I mean, what conveys a point more succinctly than a nice GIF? Angular directives, mixed with some Haml, make it nice and easy:
That’s all there is to adding a full-screen animated GIF as a slide!
I really enjoyed building this application, and I continue to add new features and slide types. I imagine that they will evolve a lot as I work on new talks.
I’m hoping this initial surge into the wide open world of the internet will force me to do it more as I move along. I don’t want to hide things that can benefit from being out there.