pnbp

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

commit aa739d8e106c8aa94d38259253fb628581b2aaf8
parent 0b74fd72aca50925c6c50877f2d7a9ac8ca27a54
Author: Paul Longtine <paullongtine@gmail.com>
Date:   Wed Aug 13 15:10:38 2014

added functions.py

Diffstat:
 example/templates/std.html |  3 +++-
 src/build.py               | 51 +++++++++++++++++++++++++----------------------
 src/functions.py           | 18 +++++++++++++++++-
 src/module/blog.py         |  4 ++--
 4 files changed, 51 insertions(+), 25 deletions(-)

diff --git a/example/templates/std.html b/example/templates/std.html @@ -9,5 +9,8 @@ <div id="split"> %content% </div> + <div> + This site was last generated on {:returns = now("%D"):} + </div> </body> </html> diff --git a/src/build.py b/src/build.py @@ -6,28 +6,11 @@ ' ' For documentation, please visit http://static.nanner.co/pnbp ''' -import os, sys, shutil, module, json, yaml, time - -def main(): - site = {} - - #Loops through defined "sites" - for name,v in pagedata.items(): - try: - template = file(v['template']).read() - - except: - print("{}: Can't open file '{}'".format(name,v['template'])) - sys.exit() - - template = generateTemplate(template,v['pagevar'],name) - - site[name] = runMod(template,v,name) - - if len(sys.argv) > 1: - buildSite(site,sys.argv[1]) - else: - buildSite(site,"site/") +#Core imports +import os, sys, shutil,json, yaml, time +#Helper imports +import module +from functions import * # Adds in variables defined in pages.json # @@ -99,7 +82,7 @@ def runMod(t,var,page): t = {mdata['settings']['location']:{'default':template}} subpage.update(t) - + return subpage #Takes all code blocks in templates ("{:print("Hi"):}") and executes it, and replaces the block with the "returns" variable @@ -197,6 +180,28 @@ def subpageLoop(d,currentDir): file("{}/{}index.html".format(currentDir,k), "w").write(v) +def main(): + site = {} + + #Loops through defined "sites" + for name,v in pagedata.items(): + try: + template = file(v['template']).read() + + except: + print("{}: Can't open file '{}'".format(name,v['template'])) + sys.exit() + + template = generateTemplate(template,v['pagevar'],name) + + site[name] = runMod(template,v,name) + + if len(sys.argv) > 1: + buildSite(site,sys.argv[1]) + else: + buildSite(site,"site/") + + if __name__ == "__main__": print("Going through pages...") start = time.time() diff --git a/src/functions.py b/src/functions.py @@ -0,0 +1,18 @@ +# Functions file, used for inline scripts +import time + + +#Return the current date in the format sepecified in config +def now(config): + return time.strftime(config) + +#Return an HTML list. example format: {'root':"<ul class=\"special\">%li%</ul>",'li':"<li class=\"list\">%content%</li>"} +def list(things,formats={}): + formats['root'] = formats.get("root","<ul>%li%</ul>") + formats['li'] = formats.get("li","<li>%content%</li>") + li = "" + for thing in things: + li = li + formats['li'].replace("%content%",thing) + + return formats['root'].replace("%li%",li) + diff --git a/src/module/blog.py b/src/module/blog.py @@ -1,4 +1,4 @@ -import json, time +import json,time def getPages(template,settings,name,page): pages = {} @@ -8,7 +8,7 @@ def getPages(template,settings,name,page): data = json.load(file(settings['data'])) temp = file(settings['postTemplate']).read() - # Generates all posts on page (/all + # Generates all posts on page (/all) a = "" posts = 0 for i in data: