pnbp

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 60fdc534744c653867e953313ccb228aaf4b2d29
parent 3760806002d5ce723c8570e5c7a6a114f48638c3
Author: Paul Longtine <paullongtine@gmail.com>
Date:   Tue Jun 10 13:59:29 2014

Removed archive in blog, added example archive script

Diffstat:
 build.py              | 35 +++++++++++++++--------------------
 includes/archive.html | 32 ++++++++++++++++++++++++++++++++
 mod/__init__.py       |  2 +-
 mod/blog.py           | 34 +---------------------------------
 pages.json            |  4 ++--
 templates/std.html    |  3 ++-
 6 files changed, 53 insertions(+), 57 deletions(-)

diff --git a/build.py b/build.py @@ -37,17 +37,13 @@ def generateTemplate(t,var,page): for search,replace in var.items(): if search[0] == ":": - try: - inc = open(replace).read() - inc = inc.replace("%page%", page) - inc = runInlineScript(inc, page) - for subsearch,subreplace in var.items(): - inc = inc.replace("%"+subsearch+"%",subreplace) - - t = t.replace("%"+search+"%",inc) - - except: - print("Can't open file '{}'".format(replace)) + inc = open(replace).read() + inc = inc.replace("%page%", page) + inc = runInlineScript(inc, page) + for subsearch,subreplace in var.items(): + inc = inc.replace("%"+subsearch+"%",subreplace) + + t = t.replace("%"+search+"%",inc) else: t = t.replace("%"+search+"%",replace) @@ -60,15 +56,14 @@ def generateTemplate(t,var,page): def runMod(t,var,page): subpage = {} for name, mdata in var.items(): - try: - subpage.update(getattr(mod,mdata['mod']).getPages(t,mdata['settings'],name,page)) - except Exception,e: - print("Error occured at {} using module {}:".format(page,mdata['mod'])) - if type(e) == KeyError: - print("Missing attribute {}".format(e)) - sys.exit() - - + if name != "page": + try: + subpage.update(getattr(mod,mdata['mod']).getPages(t,mdata['settings'],name,page)) + except Exception,e: + print("Error occured at {} using module {}:".format(page,mdata['mod'])) + if type(e) == KeyError: + print("Missing attribute {}".format(e)) + sys.exit() return subpage diff --git a/includes/archive.html b/includes/archive.html @@ -0,0 +1,32 @@ +<div> +{: +if page == "": + page = "index" +data = json.load(open(pagedata[page]['pagemod']['content']['settings']['data'])) +a = "" +dates = {} +for i in data: + if 'date' in i: + datedata = i['date'].split("-") + if datedata[0] in dates: + if datedata[1] in dates[datedata[0]]: + dates[datedata[0]][datedata[1]][datedata[2]] = i['title'] + else: + dates[datedata[0]][datedata[1]] = {} + dates[datedata[0]][datedata[1]][datedata[2]] = i['title'] + else: + dates[datedata[0]] = {} + dates[datedata[0]][datedata[1]] = {} + dates[datedata[0]][datedata[1]][datedata[2]] = i['title'] +a = "<div id=\"archives\"><ul>" +for year,months in sorted(dates.items(),reverse=True): + a = a + "<li>{}</li><li><ul>".format(year) + for month,days in sorted(months.items(),reverse=True): + a = a + "<li>{}</li><li><ul>".format(month) + for day,title in sorted(days.items(),reverse=True): + a = a + "<li>{} - <a href=\"{}\">{}</a></li>".format(day,"",title) + a = a + "</ul></li>" + a = a + "</ul></li>" +returns = a + "</div>" +:} +</div> diff --git a/mod/__init__.py b/mod/__init__.py @@ -1,2 +1,2 @@ #Imports all mods from mod/ -import blog +import blog, page diff --git a/mod/blog.py b/mod/blog.py @@ -34,40 +34,8 @@ def getPages(template,settings,name,page): pages['post'] = {} for i in data: post = generatePost(i,temp,page) - pages['post'][slug(i['title'])] = template.replace("%"+name+"%",post) - - # Generates archive based off of dates. - a = "" - dates = {} - for i in data: - if 'date' in i: - datedata = i['date'].split("-") - if datedata[0] in dates: - if datedata[1] in dates[datedata[0]]: - dates[datedata[0]][datedata[1]][datedata[2]] = i['title'] + pages['post'][slug(i['title'])] = template.replace("%"+name+"%",post) - else: - dates[datedata[0]][datedata[1]] = {} - dates[datedata[0]][datedata[1]][datedata[2]] = i['title'] - - else: - dates[datedata[0]] = {} - dates[datedata[0]][datedata[1]] = {} - dates[datedata[0]][datedata[1]][datedata[2]] = i['title'] - - a = "<div id=\"archives\"><ul>" - for year,months in sorted(dates.items(),reverse=True): - a = a + "<li>{}</li><li><ul>".format(year) - for month,days in sorted(months.items(),reverse=True): - a = a + "<li>{}</li><li><ul>".format(month) - for day,title in sorted(days.items(),reverse=True): - a = a + "<li>{} - <a href=\"{}\">{}</a></li>".format(day,slug(title),title) - - a = a + "</ul></li>" - - a = a + "</ul></li>" - a = a + "</div>" - pages['post']['default'] = template.replace("%content%", a) return pages diff --git a/pages.json b/pages.json @@ -1,8 +1,8 @@ { "index":{"template":"templates/std.html", - "pagevar":{":header":"./includes/header.html","title":"This is a test page"}, + "pagevar":{":header":"./includes/header.html",":footer":"./includes/archive.html","title":"This is a test page"}, "pagemod":{"content":{"mod":"blog","settings":{"defaultPostCount":"0","data":"./data/index.json"}}}}, "test":{"template":"templates/std.html", - "pagevar":{":header":"./includes/header.html","title":"This is THE test page"}, + "pagevar":{":header":"./includes/header.html",":footer":"./includes/archive.html","title":"This is THE test page"}, "pagemod":{"content":{"mod":"blog","settings":{"description":1,"defaultPostCount":"1","data":"./data/test.json"}}}} } diff --git a/templates/std.html b/templates/std.html @@ -6,8 +6,9 @@ </head> <body> %:header% - <div> + <div id="split"> %content% + %:footer% </div> </body> </html>