diff options
Diffstat (limited to 'front-matter/process.txt')
-rw-r--r-- | front-matter/process.txt | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/front-matter/process.txt b/front-matter/process.txt new file mode 100644 index 0000000..955f0f3 --- /dev/null +++ b/front-matter/process.txt | |||
@@ -0,0 +1,70 @@ | |||
1 | --- | ||
2 | title: Autocento of the breakfast table | ||
3 | subtitle: process narrative | ||
4 | genre: prose | ||
5 | |||
6 | id: process | ||
7 | toc: "Process narrative" | ||
8 | |||
9 | project: | ||
10 | title: Front matter | ||
11 | class: front-matter | ||
12 | ... | ||
13 | |||
14 | ## Hi. My name is Case Duckworth. This is my thesis. | ||
15 | |||
16 | _Autocento of the breakfast table_ is an inter/hypertextual exploration of the workings of inspiration, revision, and obsession. | ||
17 | I've compiled this work over multiple years, and recently linked it all together to form a (hopefully) more cohesive whole. | ||
18 | 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. | ||
19 | |||
20 | ## Process steps | ||
21 | |||
22 | 1. Write poems. | ||
23 | 2. Convert to Markdown. | ||
24 | - 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. | ||
25 | - 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. | ||
26 | - 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. | ||
27 | 3. Compile to HTML with Pandoc. | ||
28 | - At first, I used this code in the shell to generate my HTML: | ||
29 | ```bash | ||
30 | for file in *.txt; do | ||
31 | pandoc "$file" -f markdown -t html5 \ | ||
32 | --template=template.html -o "${file%txt}html" | ||
33 | done | ||
34 | ``` | ||
35 | but this proved tedious with time. | ||
36 | - After a lot of experimenting with different scripting languages, I finally realized that [`GNU make`][] would fit this task perfectly. | ||
37 | - You can see my makefile [here][makefile]---it's kind of a mess, but it does the job. See below for a more detailed explanation of the makefile. | ||
38 | 4. Style the pages with CSS. | ||
39 | - I use a pretty basic style for _Autocento_. You can see my stylesheet [here][stylesheet]. | ||
40 | 4. Use [Github][] to put them online. | ||
41 | - Github uses `git` under the hood---a Version Control System developed for keeping track of large code projects. | ||
42 | - My workflow with `git` looks like this: | ||
43 | - Change files in the project directory---revise a poem, change the makefile, add a style, etc. | ||
44 | - (If necessary, re-compile with `make`.) | ||
45 | - `git status` tells me which files have changed, which have been added, and if any have been deleted. | ||
46 | - `git add -A` adds all the changes to the _staging area_, or I can add individual files, depending on what I want to commit. | ||
47 | - `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. | ||
48 | - `git push` pushes the changes to the _remote repository_---in this case, the Github repo that serves <http://autocento.me>. | ||
49 | - Lather, rinse, repeat. | ||
50 | 5. Write Makefile to extend build capabilities. | ||
51 | - As of now, I've completed a _[Hapax legomenon][]_ compiler, a [back-link][] compiler, and an updater for the [random link functionality][] that's on this site. | ||
52 | - I'd like to build a compiler for the [Index of first lines][] and [Index of common titles][] once I have time. | ||
53 | |||
54 | ## The beauty of this system | ||
55 | |||
56 | - I can compile these poems into (almost) any format: `pandoc` supports a lot. | ||
57 | - Once I complete the above process once, I can focus on revising my poems. | ||
58 | - These poems are online for anyone to see and use for their own work. | ||
59 | |||
60 | [John Gruber]: http://daringfireball.net/projects/markdown/ | ||
61 | [extended Markdown syntax]: http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown | ||
62 | [`GNU make`]: https://www.gnu.org/software/make/manual/make.html | ||
63 | [makefile]: https://github.com/duckwork/autocento/blob/gh-pages/makefile | ||
64 | [stylesheet]: https://github.com/duckwork/autocento/blob/gh-pages/style.css | ||
65 | [Github]: https://github.com | ||
66 | [Hapax legomenon]: hapax.html | ||
67 | [back-link]: makefile | ||
68 | [random link functionality]: trunk/lozenge.js | ||
69 | [Index of first lines]: first-lines.html | ||
70 | [Index of common titles]: common-titles.html | ||