diff options
Diffstat (limited to 'bin/feed')
-rw-r--r-- | bin/feed | 17 |
1 files changed, 10 insertions, 7 deletions
@@ -77,12 +77,12 @@ def write(p, c): def slug(p): - m = re.search(r'([a-zA-Z\-]+)\.md', p) + m = re.search(r'(([a-zA-Z\-]+)(\.([a-z]{2}))?)\.md', p) if not m: err('Unable to get slug') - return m.group(1) + return m.group(1), m.group(2), m.group(4) def template(type): @@ -98,8 +98,11 @@ def title(c): return m.group(1) -def elink(sec, s): - return '/'.join([URL, sec, s]) +def elink(sec, s, l): + if l is None: + return '/'.join([URL, sec, s]) + else: + return '/'.join([URL, sec, s, l]) def flink(sec): @@ -159,15 +162,15 @@ def now(): def entry(sec, f): c = read(f.path) - s = slug(f.path) + u, s, l = slug(f.path) t = time(c) - id = t + ':' + s + id = t + ':' + u e = template('entry') e = e.replace(E_PH['id'], id, 1) e = e.replace(E_PH['title'], title(c), 1) - e = e.replace(E_PH['link'], elink(sec, s), 1) + e = e.replace(E_PH['link'], elink(sec, s, l), 1) e = e.replace(E_PH['updated'], t, 1) e = e.replace(E_PH['content'], content(c), 1) |