Autocento of the breakfast table

process narrative

Hi. My name is Case Duckworth. This is my thesis.

Autocento of the breakfast table is an inter/hypertextual exploration of the workings of inspiration, revision, and obsession. I’ve compiled this work over multiple years, and recently linked it all together to form a (hopefully) more cohesive whole. To make this easier than collating everything by hand, I’ve relied on a process that leverages open-source technologies to publish my work onto a web platform.

Process steps

  1. Write poems.
  2. Convert to Markdown.
    • Markdown, originally by John Gruber, is a lightweight markup language that allows me to focus on the content of my writing, knowing that I can work on the presentation later.
    • The original markdown.pl program is buggy and inconsistent with how it applies styles to markup. It also only works to convert text to HTML.
    • Because of these limitations, I’ve used John MacFarlane’s extended Markdown syntax, which lets me write richer documents and programmatically compile my work into multiple formats.
  3. Compile to HTML with Pandoc.
    • At first, I used this code in the shell to generate my HTML:

      for file in *.txt; do
                  pandoc "$file" -f markdown -t html5 \
                  --template=template.html -o "${file%txt}html"
                  done
      but this proved tedious with time.
    • After a lot of experimenting with different scripting languages, I finally realized that GNU make would fit this task perfectly.
    • You can see my makefile here—it’s kind of a mess, but it does the job. See below for a more detailed explanation of the makefile.
  4. Style the pages with CSS.
    • I use a pretty basic style for Autocento. You can see my stylesheet here.
  5. Use Github to put them online.
    • Github uses git under the hood—a Version Control System developed for keeping track of large code projects.
    • My workflow with git looks like this:
      • Change files in the project directory—revise a poem, change the makefile, add a style, etc.
      • (If necessary, re-compile with make.)
      • git status tells me which files have changed, which have been added, and if any have been deleted.
      • git add -A adds all the changes to the staging area, or I can add individual files, depending on what I want to commit.
      • git commit -m "[message]" commits the changes to git. This means they’re “saved”—if I do something I want to revert, I can git revert back to a commit and start again.
      • git push pushes the changes to the remote repository—in this case, the Github repo that serves http://autocento.me.
      • Lather, rinse, repeat.
  6. Write Makefile to extend build capabilities.

The beauty of this system

  • I can compile these poems into (almost) any format: pandoc supports a lot.
  • Once I complete the above process once, I can focus on revising my poems.
  • These poems are online for anyone to see and use for their own work.