about summary refs log tree commit diff stats
path: root/process.txt
diff options
context:
space:
mode:
Diffstat (limited to 'process.txt')
-rw-r--r--process.txt53
1 files changed, 31 insertions, 22 deletions
diff --git a/process.txt b/process.txt index d048558..080dd0d 100644 --- a/process.txt +++ b/process.txt
@@ -20,43 +20,52 @@ Process steps
20------------- 20-------------
21 21
221. Write poems. 221. Write poems.
232. Convert to Markdown -- generally easy. 232. 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. 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. 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. 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.
273. Compile to HTML with Pandoc. 273. Compile to HTML with Pandoc.
28 - At first, I used this code in the shell to generate my HTML: 28 - At first, I used this code in the shell to generate my HTML:
29 ```bash 29 ```bash
30 for file in *.txt; do 30 for file in *.txt; do
31 pandoc "$file" -f markdown -t html5 --template=template.html -o "${file%txt}html" 31 pandoc "$file" -f markdown -t html5 \
32 done 32 --template=template.html -o "${file%txt}html"
33 ``` 33 done
34 ```
34 but this proved tedious with time. 35 but this proved tedious with time.
35 - After a lot of experimenting with different scripting languages, I finally realized that [`GNU make`][] would fit this task perfectly. 36 - After a lot of experimenting with different scripting languages, I finally realized that [`GNU make`][] would fit this task perfectly.
36 - You can see my makefile [here][] 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.
37
384. Style the pages with CSS. 384. Style the pages with CSS.
394. Use Github to put them online. 39 - I use a pretty basic style for _Autocento_. You can see my stylesheet [here][stylesheet].
40 - `git` has been used throughout to keep track of changes. 404. Use [Github][] to put them online.
41 - It's a Version Control System -- usually used for code but adapted 41 - Github uses `git` under the hood---a Version Control System developed for keeping track of large code projects.
42 for creative writing. 42 - My workflow with `git` looks like this:
435. Write Makefile for ease-of-compilation. 43 - Change files in the project directory---revise a poem, change the makefile, add a style, etc.
44 - A `makefile` is a collection of instructions to `make` that tells it how 44 - (If necessary, re-compile with `make`.)
45 to compile a set of files. 45 - `git status` tells me which files have changed, which have been added, and if any have been deleted.
46 - It's made the other parts of this much easier. 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.
476. Write _Hapax legomenon_ compiler. 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.
487. Write compiler for backlinks. 48 - `git push` pushes the changes to the _remote repository_---in this case, the Github repo that serves <http://autocento.me>.
498. (TODO) write compiler for Index of first lines and common titles. 49 - Lather, rinse, repeat.
505. 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.
50 53
51The beauty of this system 54The beauty of this system
52------------------------- 55-------------------------
53 56
54- I can compile these poems into (almost) any format: `pandoc` supports a lot. 57- I can compile these poems into (almost) any format: `pandoc` supports a lot.
55- Once I complete the above process once, I can focus on revising my poems. 58- Once I complete the above process once, I can focus on revising my poems.
56- These poems are online for anyone to see and work off of. 59- These poems are online for anyone to see and use for their own work.
57- Something something intertextuality.
58 60
59[John Gruber]: http://daringfireball.net/projects/markdown/ 61[John Gruber]: http://daringfireball.net/projects/markdown/
60[extended Markdown syntax]: http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown 62[extended Markdown syntax]: http://johnmacfarlane.net/pandoc/README.html#pandocs-markdown
61[`GNU make`]: https://www.gnu.org/software/make/manual/make.html 63[`GNU make`]: https://www.gnu.org/software/make/manual/make.html
62[here]: 64[makefile]: https://github.com/duckwork/autocento/blob/gh-pages/makefile
65[stylesheet]: https://github.com/duckwork/autocento/blob/gh-pages/style.css
66[Github]: https://github.com
67[Hapax legomenon]: hapax.html
68[back-link]: makefile
69[random link functionality]: trunk/lozenge.js
70[Index of first lines]: first-lines.html
71[Index of common titles]: common-titles.html