pnbp

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

commit 9dd52ed93996d8a32966bea4bed2908d5b7d2269
parent b08de652ec4a450985d69cb4a6f0f238129165aa
Author: Paul Longtine <paullongtine@gmail.com>
Date:   Thu Jun 12 07:06:20 2014

page working, working on 'location'

Diffstat:
 build.py               | 37 ++++++++++++++++++++++++-------------
 includes/archive.html  |  4 +++-
 includes/header.html   |  5 -----
 mod/__init__.py        |  2 +-
 pages.json             |  7 +++++--
 templates/archive.html | 13 +++++++++++++
 templates/std.html     |  1 -
 7 files changed, 46 insertions(+), 23 deletions(-)

diff --git a/build.py b/build.py @@ -33,18 +33,24 @@ def generateTemplate(t,var,page): page = "" t = t.replace("%page%",page) - + t = runInlineScript(t,page) for search,replace in var.items(): if search[0] == ":": - inc = open(replace).read() - inc = inc.replace("%page%", page) - inc = runInlineScript(inc, page) - for subsearch,subreplace in var.items(): - inc = inc.replace("%"+subsearch+"%",subreplace) + try: + t.index("%"+search+"%") + exists = True + except: + exists = False + if exists: + 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) + t = t.replace("%"+search+"%",inc) else: t = t.replace("%"+search+"%",replace) @@ -72,16 +78,21 @@ def runMod(t,var,page): elif mdata['mod'] == "page": try: - template = open(mdata['settings']['template']) + template = open(mdata['settings']['template']).read() except: print("Error occured at {} using module page".format(page)) - print("Cannot open file {}".format(mdata['settings']['templates'])) + print("Cannot open file {}".format(mdata['settings']['template'])) sys.exit() - template = generateTemplate(template,var['pagevar'].update(mdata['settings']['pagevar']),name) - template = runInlineScript(template,name) - subpage.update({mdata['settings']['location']:template}) + pv = var['pagevar'] + pv.update(mdata['settings']['pagevar']) + template = generateTemplate(template,pv,name) + if mdata['settings']['location'] == "": + t = {'default':template} + else: + pass + subpage.update(t) return subpage @@ -100,7 +111,7 @@ def runInlineScript(template,page): index += 1 returns = "" - exec script + exec(script) template = template.replace(template[template.index("{:"):template.index(":}")+2],returns) return template diff --git a/includes/archive.html b/includes/archive.html @@ -2,6 +2,8 @@ {: if page == "": page = "index" +elif page =="archive": + page = "index" data = json.load(open(pagedata[page]['pagemod']['content']['settings']['data'])) a = "" dates = {} @@ -24,7 +26,7 @@ for year,months in sorted(dates.items(),reverse=True): 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 + "<li>{} - <a href=\"../post/{}\">{}</a></li>".format(day,mod.blog.slug(title),title) a = a + "</ul></li>" a = a + "</ul></li>" returns = a + "</div>" diff --git a/includes/header.html b/includes/header.html @@ -11,10 +11,5 @@ for i,x in sorted(pagedata.items(),reverse=True): i = "" i = "/"+i returns = "<a class=\"{}\" href=\"{}\">{}</a>&nbsp;".format(c, i, l) + returns -if page != "index": - page = page + "/" -else: - page = "" -returns = returns + "<a href=\"/{}all\">All posts</a>&nbsp<a href=\"/{}post\">Archive</a>".format(page,page) :} </div> diff --git a/mod/__init__.py b/mod/__init__.py @@ -1,2 +1,2 @@ #Imports all mods from mod/ -import blog, page +import blog diff --git a/pages.json b/pages.json @@ -1,8 +1,11 @@ { "index":{"template":"templates/std.html", - "pagevar":{":header":"./includes/header.html",":footer":"./includes/archive.html","title":"This is a test page"}, + "pagevar":{":header":"./includes/header.html","title":"This is a test page"}, "pagemod":{"content":{"mod":"blog","settings":{"defaultPostCount":"0","data":"./data/index.json"}}}}, +"archive":{"template":"templates/archive.html", + "pagevar":{":header":"./includes/header.html","title":"This is a test page"}, + "pagemod":{"archive":{"mod":"page","settings":{"pagevar":{":archive":"./includes/archive.html"},"location":"","template":"templates/archive.html"}}}}, "test":{"template":"templates/std.html", - "pagevar":{":header":"./includes/header.html",":footer":"./includes/archive.html","title":"This is THE test page"}, + "pagevar":{":header":"./includes/header.html","title":"This is THE test page"}, "pagemod":{"content":{"mod":"blog","settings":{"description":1,"defaultPostCount":"1","data":"./data/test.json"}}}} } diff --git a/templates/archive.html b/templates/archive.html @@ -0,0 +1,13 @@ +<!DOCTYPE html> +<html> + <head> + <title>%title%</title> + <link rel="stylesheet" type="text/css" href="/styles/style.css" /> + </head> + <body> + %:header% + <div id="split"> + %:archive% + </div> + </body> +</html> diff --git a/templates/std.html b/templates/std.html @@ -8,7 +8,6 @@ %:header% <div id="split"> %content% - %:footer% </div> </body> </html>