summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Silverstone <daniel.silverstone@codethink.co.uk>2013-10-30 10:56:42 +0000
committerDaniel Silverstone <daniel.silverstone@codethink.co.uk>2013-10-30 10:56:42 +0000
commit0a1d06d6ecea1c6ebda980fb91339fe0363ff52f (patch)
tree9617355f3a6e336fbc1d8828b79831d0907ce3b7
parent4d92d10d99b704331a78c14a1bacb37008a680c2 (diff)
parent97755806efc52658a8eef434f3510fcc9e75d0b7 (diff)
downloadjt-0a1d06d6ecea1c6ebda980fb91339fe0363ff52f.tar.gz
Merge remote-tracking branch 'origin/master' into kinnison/editor
-rwxr-xr-xjt38
1 files changed, 37 insertions, 1 deletions
diff --git a/jt b/jt
index 17d8ac5..300a02d 100755
--- a/jt
+++ b/jt
@@ -54,7 +54,7 @@ class JournalTool(cliapp.Application):
self.settings.choice(
['layout'],
- ['liw', 'ct'],
+ ['ct', 'liw'],
'use journal layout (one of liw, ct)',
metavar='LAYOUT')
@@ -223,4 +223,40 @@ class JournalTool(cliapp.Application):
['git', 'push', 'origin', 'HEAD'],
cwd=self.settings['source'])
+ def cmd_new_person(self, args):
+ '''Create a page to list all notes referring to a person.
+
+ This is probably only useful to Lars's personal journal.
+
+ '''
+
+ if len(args) != 1:
+ raise cliapp.AppException(
+ 'Need the name of a person (in Last, First form)')
+
+ def normalise(name):
+ s = name.lower()
+ s = ' '.join(s.split(','))
+ s = '.'.join(s.split())
+ return s
+
+ name = args[0]
+ basename = normalise(name)
+ pathname = os.path.join(
+ self.settings['source'], 'people', basename + '.mdwn')
+
+ if os.path.exists(pathname):
+ raise cliapp.AppException('File %s already exists' % pathname)
+
+ with open(pathname, 'w') as f:
+ f.write('''\
+[[!meta title="%(name)s"]]
+
+[[!inline archive=yes pages="link(people/%(basename)s)"]]
+''' %
+ {
+ 'name': name,
+ 'basename': basename,
+ })
+
JournalTool().run()