コード例 #1
0
ファイル: outputter.py プロジェクト: joshleejosh/tmplr
def generate_archive_entry():
    aeid = consts.ARCHIVEID
    print "Generate archive as entry %d"%aeid
    oute = entry.empty_entry()
    oute['id'] = aeid
    oute['title'] = consts.ARCHIVE_TITLE
    oute['slug'] = 'archive'
    oute['date'] = s2d('2013-09-25 12:00:00')
    oute['blurb'] = 'A list of all %s posts.'%consts.TITLE
    oute['url'] = '' + oute['slug'] + '.html'
    oute['body'] = '<ul class="archive">\n'
    entries = entry.get_entries()
    for k in entry.sorted_entry_keys(entries):
        oute['body'] += '<li><a href="%s">%s</a></li>\n'%(entries[k]['title'])
    oute['body'] += '</ul>\n'
    entries[oute['id']] = oute
コード例 #2
0
ファイル: template.py プロジェクト: joshleejosh/tmplr
def run_template_loop(tk, baseEntry, entries, numToDo=-1):
    ekeys = entry.sorted_entry_keys(entries)
    if numToDo == -1:
        numToDo = len(ekeys)
    tm = gTemplates[tk]
    s = tm['template']
    for i in reTemplateTag.findall(s):
        nv = ''
        if i.startswith('loopentries-'):
            k = i[len('loopentries-'):]
            for key in ekeys[:numToDo]:
                nv += run_template_entry(k, entries[key]) + '\n'
        else:
            nv = run_template_tag(i, baseEntry)
        s = re.sub('\<@'+i+'@\>', nv, s)
    return s
コード例 #3
0
ファイル: outputter.py プロジェクト: joshleejosh/tmplr
def generate_index():
    print "Generate index"
    entries = entry.get_entries()
    fn = os.path.join(consts.OUTDIR, 'index.html')
    fp = open(fn, 'w')
    ie = entry.empty_entry()
    ie['title'] = consts.INDEX_TITLE
    ie['blurb'] = consts.BLURB
    fp.write(template.run_template_entry('htmlHead.html', ie))
    fp.write(template.run_template_loop('index.html', ie, entries, consts.NUM_INDEX_ENTRIES))
    fp.write(template.run_template_entry('htmlFoot.html', ie))
    fp.close()

    # write a faked entry back to the input dir(!)
    fn = os.path.join(consts.INDIR, '%d.md'%consts.ARCHIVEID)
    fp = open(fn, 'w')
    fp.write(entry.ENTRY_HEADER%(ie['title'], 'index', d2s_dt(consts.NOW), ie['blurb'], ie['tags']))
    ekeys = entry.sorted_entry_keys(entries)
    for k in ekeys[:consts.NUM_INDEX_ENTRIES]:
        e = entries[k]
        url = '%s/%s.html'%(consts.BASEURL, e['slug'])
        fp.write('<a href="%s">%s</a>\n\n'%(url, e['title']))
    fp.close()