diff options
author | Daniel Silverstone <daniel.silverstone@codethink.co.uk> | 2013-10-30 10:56:42 +0000 |
---|---|---|
committer | Daniel Silverstone <daniel.silverstone@codethink.co.uk> | 2013-10-30 10:56:42 +0000 |
commit | 0a1d06d6ecea1c6ebda980fb91339fe0363ff52f (patch) | |
tree | 9617355f3a6e336fbc1d8828b79831d0907ce3b7 | |
parent | 4d92d10d99b704331a78c14a1bacb37008a680c2 (diff) | |
parent | 97755806efc52658a8eef434f3510fcc9e75d0b7 (diff) | |
download | jt-0a1d06d6ecea1c6ebda980fb91339fe0363ff52f.tar.gz |
Merge remote-tracking branch 'origin/master' into kinnison/editor
-rwxr-xr-x | jt | 38 |
1 files changed, 37 insertions, 1 deletions
@@ -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() |