Added ability to record metadata at top of page data file.
[cmless] / bin / template.py
index a39090f..cdc7fe7 100644 (file)
@@ -7,27 +7,34 @@ import os, datetime
 # CMless imports
 import config, misc
 
 # CMless imports
 import config, misc
 
+def add_delimiter(keyword):
+    return config.template_delimiter + keyword + config.template_delimiter
+
+def head_meta_description(template):
+    keyword = add_delimiter("meta_description")
+    return template.replace(keyword,'<meta name="description" content="' + misc.lookup_page_metadata("meta_description") + '">')
+
+def head_meta_keywords(template):
+    keyword = add_delimiter("meta_keywords")
+    return template.replace(keyword,'<meta name="keywords" content="' + misc.lookup_page_metadata("meta_keywords") + '">')
+
 def page_title(template):
 def page_title(template):
-    keyword = "page_title"
-    return template.replace(config.template_delimiter + keyword +
-            config.template_delimiter, config.site_name + " - " +
-            os.environ['REQUEST_URI'])
+    keyword = add_delimiter("page_title")
+    return template.replace(keyword, config.site_name + " - " + misc.lookup_page_metadata("page_title"))
 
 def site_title(template):
 
 def site_title(template):
-    keyword = "site_title"
-    return template.replace(config.template_delimiter + keyword +
-            config.template_delimiter, config.site_name)
+    keyword = add_delimiter("site_title")
+    return template.replace(keyword, config.site_name)
 
 def body(template):
 
 def body(template):
-    keyword = "page_content"
+    keyword = add_delimiter("page_content")
     body = misc.load_file(config.site_data_prefix + os.environ['REQUEST_URI'] +
             config.markup_file_extension)
     body = misc.load_file(config.site_data_prefix + os.environ['REQUEST_URI'] +
             config.markup_file_extension)
+    body = misc.strip_page_metadata(body)
     body = misc.process_markup(body)
     body = misc.process_markup(body)
-    return template.replace(config.template_delimiter + keyword +
-            config.template_delimiter, body)
+    return template.replace(keyword, body)
 
 def current_year(template):
 
 def current_year(template):
-    keyword = "current_year"
+    keyword = add_delimiter("current_year")
     now = datetime.datetime.now()
     now = datetime.datetime.now()
-    return template.replace(config.template_delimiter + keyword +
-            config.template_delimiter, str(now.year))
+    return template.replace(keyword, str(now.year))