summaryrefslogtreecommitdiff
path: root/jt.md
diff options
context:
space:
mode:
Diffstat (limited to 'jt.md')
-rw-r--r--jt.md57
1 files changed, 37 insertions, 20 deletions
diff --git a/jt.md b/jt.md
index 085c5b5..3d68720 100644
--- a/jt.md
+++ b/jt.md
@@ -1,6 +1,12 @@
---
title: "Journal Tool (jt) acceptance tests"
author: Lars Wirzenius
+documentclass: report
+abstract: |
+ jt is a tool for managing my personal journal and knowlege base. It
+ creates and mannipulates files in a git repository. The journal is
+ rendered to a website using ikiwiki. This document is the automated
+ acceptance test suite for jt.
...
Introduction
@@ -10,37 +16,48 @@ Introduction
[markdown]: https://en.wikipedia.org/wiki/Markdown
[git]: https://en.wikipedia.org/wiki/Git
-Journal Tool (jt) is a Unix command line tool for maintaining my personal
-journal. The journal is rendered into a (private) website using
-[ikiwiki][], and jt creates files and puts them into version control
-(git).
+Journal Tool (jt) is a Unix command line tool for maintaining my
+personal journal. The journal is rendered into a (private) website
+using [ikiwiki][]. All jt does is create and manipulate some files in a git
+repository. All the insteresting parts of building a useful journal,
+or personal knowledge base, comes from the user entering information
+and using ikiwiki constructs to make it accessible. The main
+constructs I use are blogging, tagging, and categories.
-All jt does is manipulate some files in a git repository. All the
-insteresting parts of building a useful journal, or personal knowledge
-base, comes from the user entering information and using ikiwiki
-constructs to make it accessible. The main constructs I use are
-blogging, tagging, and categories.
+This document forms the automated acceptance test suite for jt.
The journal is structured as a private blog, where jt allows the user
-to create new entries as "notes". The notes are collected by ikiwiki
-into a timeline. Each entry can be assigned arbitrary tags, and
-ikiwiki constructs a list of entries with each tag. I can also create
-topic pages for specific categories, e.g., for projects, and again
-ikiwiki will construct a list of entries in each category.
+to create new entries. The entries are collected by ikiwiki into a
+timeline. Each entry can be assigned arbitrary tags, and ikiwiki
+constructs a list of entries with each tag. JT can also create topic
+pages for specific categories, e.g., for projects, and again ikiwiki
+will construct a list of entries in each category.
The journal is manipulated as a "source tree", consisting of
files in the [markdown][] format. The files are stored in a [git][]
repository, for version control, and for sharing between computers.
-How the source tree is laid out mostly don't matter for
-jt, except for the following details:
+How the source tree is laid out mostly doesn't matter for
+jt, except the following subdirectories in the journal must exist:
* a directory for drafts of new entries ("drafts")
-* a directory for finished journal entries ("notes")
+* a directory for finished journal entries ("blog")
-The names of both directories can be configured for jt; the default
-names are as above. If the directories don't exist, jt will create
-them as needed.
+The names of both directories can be configured for jt. If the
+directories don't exist, jt will create them as needed. Further, jt
+will put finished entries into a date-based hierarchy. The minimal
+tree for jt would look look something like below.
+
+```
+path/to/journal/
+ .git/
+ drafts/
+ blog/
+ 2019/
+ 06/
+ 15/
+ my_first_journal_entry.mdwn
+```
When a new journal is started, the git repository needs to exist, and
the user needs to add any category pages, and other structures to it,