Welcome to Dropblog. Blogging with "cloud" help! As you can see, there have been a few changes to the site, but the real magic is under the hood.
I'm kinda lazy, so updating my blog is the last thing I really want to do. However, I do keep documentation on the projects I work on, and there has got to be a way to use software to manage the actual blog part.
The idea for Dropblog was to create a simple folder structure in DropBox, with some basic rules, and write a set of tools that would automate the publication of the blog with pictures and all that jazz.
There are some very good tools, like the DropBox API, AWS and Rails that used to manage the blog itself. I now only need to write Markdown, put pictures in a folder, and follow some basic naming conventions.
For a full rundown of the functionality, check out the project page. But for some featured highlights, see below.
Edit Like there is No Internet
Because I think in terms of "projects," as well as have one-off articles, I'd like to organize my files like this:
blog projects public project-one-slug project.md articles article-one-slug.md pictures photo-one.jpg project-two-slug project.md articles another-article-one-slug.md pictures another-photo-one.png articles one-off-article-slug article.md image1.png image2.png
When files are organized like this, I can edit articles or project documents "like there is no internet," even referring to images using relative paths:
![a picture of clouds](../pictures/title.jpg)
This structure is cool, because I don't even need to use this folder for just the blog, so I could store all sorts of things in the project folder and depend on the software to ignore the other supporting files. I can just drag and drop pictures to my image folder and rely on the software to load them into the article or make a photo gallery. I can depend on other tools to format the pictures and manage publication.
Also, updating will be effortless; I can just edit Markdown files to fix typos and could just drag more pictures to Dropbox to add more photos to the project. I can use some sort of meta data to manage publication dates and article settings. I'm just gonna edit files on my computer and let software handle all the BS.
When the file is saved and synced to Dropbox, Dropbox fires a web hook which kicks off a job to update the database with my blog content. Images are synced to S3 and then when the blog is displayed, the relative image paths are transformed into links to the hosted images. For example:
This image above, saved as
title.jpg was referenced as such in the Markdown file; I have no idea what it's hosted URL really is (I could find out, but I don't really care!) One cool little trick, is that if the image has the name "title" in it, then it will be used as the title image of that article, or of the project. If there is no title image saved for an article or project, it uses the first image referenced, making that the default image.
Focus on Content and Let Software Handle the Rest
What I love about this project is how simple it is to author content; I no longer have to worry about descriptions, tagging, slugs, titles, dates, syncing, uploading images, or any other boring, tedious stuff that I used to do. Now, I'm just documenting projects, writing updates, and letting software handle all of the busy work.
Leveraging existing tools adds in a ton of functionality for "free". For example, because of the mobile Dropbox app, I can easily author posts on the go and simply upload images. Suddenly, the things I'd be doing anyways, now creates rich web content.
Please check out the Dropblog project on github, as well as the introductory video below for more information. Let me know what you think!