The Site

The Last Tree is hosted on Reclaim Hosting, managed through GitHub, and built on Jekyll. I compose the book in the Atom text editor and manage citations through Zotero.

This structure allows me to:

  • Write offline in Markdown, but publish the material in any format I need.
  • Compose the book from multiple devices and easily combine them all together.
  • Publish everything online automatically in an aesthetically pleasing and easily citable form.
  • Reference sources as I write without needing to create a bibliography by hand.
  • Keep track of and make public changes and updates to content.
  • Create an interlinked book that need not conform to a linear progression.

The functionality of the site is adapted from Jason Heppler's open research notebook. Others in this vein include Caleb McDaniel's open history notebook, Lincoln Mullen's notebook and Shawn Graham's notebook. The book's non-linear structure, and the unwillingness to allow traditional form to dictate content, is inspired by Tara McPherson's Vectors and Scalar projects. In this space, Michelle Moravec's Unghosting Apparitional (Lesbian) Histories was particularly inspirational.

Matt Burton gave me the final push to write the book in this configuration, and the fabulously appropriate cover illustration is used with permission from artist and network scientist Brennan Klein.

The Structure

Content on this site fits one of three forms.

  • Chapter Drafts/: Mini-essays that will eventually form the final book. While they do not have a natural order, they are also not self-contained. Each links out to other chapters to collectively build The Last Tree.
  • Reading Notes: As the book crosses genres, cultural borders, and two thousand years of history, I necessarily draw from diverse secondary sources. This being a many-year side project, I won't remember all of it. Each page here represents a single source, textual or graphical, along with my disorganized and occasionally mad thoughts on the material.
  • Book News / Blog. Blog-style updates, mostly about the website or other subjects that won't make it into the final book.

The site also features a continuously-updating bibliography linked to my Zotero account. This list is more comprehensive than my reading notes, so if you want to suggest reading material (and I hope you do), check that it's not in my bibliography first.

You've already noticed the site is a mix of formal and informal, of linear and networked structure. It's a bit like crossing Wikipedia, a Choose Your Own Adventure book, a pop-science article, and a dry footnote-laden history textbook. Some of you will find it incredibly frustrating. I'm sorry. As I add more text, I'll provide Vannevar Bush-style blazed trails, useful paths through the narrative forest. I may even build a system for readers to contribute their own trails.

But it's important the website version of The Last Tree remains non-linear. My thesis boils down to the fact that form matters, and forcing a form that does not match its function would be disingenuous. That said, this may eventually coexist alongside a publication more legible to my colleagues, as a printed book or article.

The Writing Process

For a multi-year project, it's important to be able to write from multiple devices, with resources (like references and illustrations) easily accessible from the cloud. This is my current solution:

Composing Text

I compose text in Atom, a free and open source plaintext editor developed by GitHub that is mostly used for software development. Atom is free (unlike Microsoft Word) and runs on Linux, Windows, or Mac, which means I can write in the same environment from any computer without worrying about paying for software. It has several plugins that ease scholarly writing and blogging, including:

  • markdown-writer, which makes it easier to format text and create new pages.
  • language-pfm, which interprets pandoc markdown (more on this soon).
  • autocomplete-bibtex, which allows me to automatically add citations while typing without having to look up a reference.
Atom Text Editor, image from Wikipedia
Atom Text Editor, image from Wikipedia

Everything I write for The Last Tree is written in pandoc markdown, which offers an alternative styling system to something like Microsoft Word. Whereas in MS Word, you press the bold button, or ctrl-b, to make something bold, in pandoc markdown you surround the text by two asterisks. This paragraph, in markdown, looks like:

Everything I write for *The Last Tree* is written in [pandoc markdown](, which offers an alternative styling system to something like Microsoft Word. Whereas in MS Word, you press the **bold** button, or `ctrl-b`, to make something bold, in pandoc markdown you surround the text by two asterisks.

Markdown might seem cumbersome compared to MS Word, but it's much more flexible. It allows me to export text in any format I choose: as a website, as a PDF, or anything else. It also separates style from text, so if I want to retroactively change all bold to italic, I can do so immediately.

Managing References

I use Zotero to manage my reading and references. Every time I see an image or document relevant to The Last Tree, I throw its bibliographic information into Zotero, as well as the image itself, or the full text of the document. Zotero can be synced across multiple computers, so no matter where I am, I have access to every bit of relevant material (excluding books).

Zotero also makes citing material easy. I don't need to worry about formatting bibliographies or remembering exact publication dates, since it does it all for me. Like Atom, Zotero allows plugins. I use Better Bib(La)TeX, which automatically exports my references into a bibliography file that can be read by both Atom and Jekyll (a website generator which I'll discuss later). The plugin allows my website and text editor to always have my most up-to-date bibliography, which means I can just write {@latour_science_2003}, and when the website builds it will appear as:

Latour, Bruno. Science in Action: How to Follow Scientists and Engineers through Society. 11. Print. Cambridge, Mass: Harvard Univ. Press, 2003.

Hosting, Syncing, and Version Control

The website itself is hosted on Reclaim Hosting, a company that does a great job providing low-cost web space with stellar support to academics. However, before it reaches the host, all of the content I've written and the infrastructure underlying the site is uploaded to my GitHub repository. When I switch computers, I download all the material I've changed elsewhere.

Beyond syncing across computers, which DropBox would do just as well, GitHub allows for version control and edit history. If I've accidentally edited the same document on two different computers before syncing, it will show me the differences and allow me to easily merge them together. It also provides a full history of changes made to a document, so I can revert to a previous version, or so you can reconstruct the page you cited on a particular date, even after I've changed it.

Building The Website

The Last Tree is built on Jekyll, an open source blogging platform similar to WordPress but for nerds with too much time on their hands. Whereas WordPress is easier to use, Jekyll is built to last. A website built on Jekyll will continue to function long after a WordPress site ceases to work, because it doesn't rely on live-running databases and scripts to be readable.

Unfortunately, what one gains in permanence of content, one loses in durability of process. The process of building a Jekyll site, which must be done any time content is added or changed, relies on a complicated set of interactions between open source code packages. When they work together well they are amazing, but they become fragile when software needs to be updated or moved to a new computer. Which is to say, I can guarantee you this site will still function in a decade, but I cannot guarantee you I will be able to continue updating it for that duration.

Long-term archivability is more important to me, so I opted to go this route despite the fragility. Thankfully many others have done so first, including Jason Heppler, whose open research notebook I have copied and slightly modified to build this site. His customizations include these plugins:

  • markdown, which simplifies the process of writing content in markdown for the entire site.
  • Jekyll-Scholar, which makes the site aware of the BibTeX file output by Zotero.
  • git_modified, which adds a last-modified field for content based on Git commits.
  • pandoc, which replaces Jekyll's markdown parser with Pandoc.

Comments & Contributions

At some point, I will stick a layer on top of the site to allow comments on all text. Until I get around to doing that, I encourage anyone with comments to either do so via GitHub or to .