04 - Thesis Writing Workflow.
Appendix: Thesis Writing and Publishing Workflow
This appendix outlines the workflow used to write, revise, and publish this thesis. It is included to make the technical and infrastructural aspects of the research process transparent, as these materially shaped drafting practices, version control, supervisory feedback, and dissemination.
The thesis was authored in Markdown within a distributed Git repository. This enabled structured version control, cross-device synchronisation, and a full revision history across the writing period. Working in plain text separated content from formatting, reducing layout drift between drafts and simplifying large-scale restructuring across chapters.
Version Control and Repository-Based Writing
All chapters were written as individual Markdown files stored within a Git repository. This approach supported:
- granular tracking of revisions over time
- safe experimentation with restructuring and redrafting
- synchronisation between multiple machines
- clear archival states for supervisory review
The distributed nature of Git also aligned with the open and reproducible ethos underpinning the broader research design.
Draft Output and Citation Processing
To generate supervisor-readable drafts, Markdown files were converted to ODT format using Pandoc, with citation processing handled via Zotero and Lua filters. This workflow allowed:
- automated citation formatting using the Harvard Cite Them Right style
- consistent footnote handling across chapters
- structured section numbering
- generation of table of contents and preview drafts
A typical draft generation command included citation processing, metadata injection, and reference document styling. The use of a reference document ensured formatting consistency while maintaining separation between content and layout.
This automated workflow reduced manual formatting work and supported rapid iteration during intensive revision phases.
Compiling Full Drafts
For full thesis previews, multiple Markdown chapter files were combined into a single ODT output using a scripted Pandoc command. This ensured:
- consistent metadata across chapters
- stable section numbering
- unified citation processing
- reproducible full-document generation
The use of --file-scope ensured appropriate footnote behaviour across chapters. Custom Lua filters were introduced progressively to manage styling and internal navigation features.
Online Preview and Dissemination
During earlier drafting stages, a lightweight preview site was generated using GitHub Pages and Jekyll. This provided a rapid mechanism for sharing drafts and reviewing structure in a web format.
For the final published version, the thesis was deployed as a static website using Hugo. This allowed:
- structured navigation across chapters
- long-term static hosting
- separation of content and presentation
- flexible future dissemination formats
The move to Hugo introduced additional technical complexity, particularly in relation to theme configuration and hosting pipelines. However, it provided greater long-term stability and control over structure and presentation.
Limitations and Reflections
This workflow prioritised flexibility, reproducibility, and long-term sustainability over simplicity. While highly effective for iterative drafting and structured versioning, it required familiarity with command-line tools and static site generators. For future projects, simplification of filter chains and automation scripts would likely reduce cognitive overhead.
The separation of writing, formatting, and publishing proved beneficial during major restructuring phases, particularly in later chapters. However, the complexity of the pipeline increased as custom filters and output requirements accumulated.
Further Documentation
This appendix provides a methodological overview rather than a full technical guide. A detailed manual mapping the complete Hugo-based publishing workflow, including repository structure, build commands, theme configuration, and deployment processes, will be developed separately. Readers interested in replicating or adapting this workflow should keep an eye on jammlabs.org.uk, where fuller procedural documentation will be published.
In summary, the thesis was produced within a version-controlled, plain-text, multi-output environment. This technical infrastructure supported iterative development, transparent revision practices, and flexible dissemination, forming an important part of the methodological ecology of the project.