Skip to content

Instantly share code, notes, and snippets.

@swanson
Created May 21, 2011 01:57
Show Gist options
  • Select an option

  • Save swanson/984145 to your computer and use it in GitHub Desktop.

Select an option

Save swanson/984145 to your computer and use it in GitHub Desktop.
from argparse import ArgumentParser
import re
from datetime import date
p = ArgumentParser(description='Generate a jeykll blog post template')
p.add_argument('title', help='title of the post, generates slug')
p.add_argument('category', help='category (e.g blog, writeup)')
args = p.parse_args()
template = '''---
layout: post
title: %s
categories:
- %s
---
Go-go-gadget blog post
'''
def slugify(value):
"slugify non-crazy strings"
value = unicode(re.sub('[^\w\s-]', '', value).strip().lower())
return re.sub('[-\s]+', '-', value)
fn = str(date.today()) + '-' + slugify(args.title) + '.md'
post = template % (args.title, args.category)
with open('_posts/%s' % fn, 'w') as fp:
fp.write(post)
print "generated %s" % fn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment