It came to my attention a few weeks ago that I needed to restructure my blogging workflow. So I did.

The problem

As I added scripts to my workflow to handle images (as described in my most recent post on image-handling), I realised there was no clear separation between the code I was writing, the account details I was using, and the content I was writing.

While I wanted to version the code for others to potentially use, I did not want them to be forking my entire blog with it, or worse still using my access keys and client IDs and so on. It was time to tidy up my workflow.

The solution

The solution was quite simple really. Create three folders: code, content and userdata. Move all the shell scripts I have written into code, move all the actual material for posts (drafts, archives and posted folder) into content and put my account details into userdata.

Under both code and userdata I created folders for Scriptogram and Picasa. This acknowledges the possibility of using other tools/platforms to carry out the delivery of my blog posts and the hosting of my images. For now those are the only two tools accounted for.

It took a while to re-organise but here is the new directory structure:

/.
|__ /code
    |__ /picasa
        |__ authenticate-as-device.sh
        |__ poll-for-access-token.sh
        |__ post-image.sh
        |__ refresh-access-token.sh
    |__ /scriptogram
        |__ autoscrp.sh
    |__ archive.sh
    |__ newdraft.sh
    |__ publish.sh
|__ /content
    |__ /archives
    |__ /drafts
    |__ /images
    |__ /posted
|__ /userdata
    |__ /picasa
    |__ /scriptogram
|__ .gitignore
|__ README.md

This is such a significant change – and, dare I say, a sensible one too – that I decided to change the minor version number for the repository. So this code is available in release 0.1.0 of my workflow.

What next?

There is still a lot to do. Centralising the handling of links. Thinking about a master versioning system for content, outside the independent little repositories for each post. And creating a preview script so that I can start to experiment with the look and other aspects of the Scriptogram platform, and perhaps other platforms too.

But hopefully this change will enable to explore these next pieces of work much more effectively.