Add recent posts & tracks to homepage
This commit is contained in:
+8
-3
@@ -3,19 +3,24 @@
|
||||
import os
|
||||
import sys
|
||||
import markdown
|
||||
from template import template
|
||||
|
||||
def gen_list(files, ext):
|
||||
def gen_list(files, ext, limit=-1, mini=False):
|
||||
from template import template
|
||||
md = markdown.Markdown(extensions = ["meta", "extra"])
|
||||
items = ""
|
||||
i = 0
|
||||
for post in files:
|
||||
with open("posts/"+post, "r", encoding="utf-8") as file_in:
|
||||
html = md.convert(file_in.read())
|
||||
md.Meta["template"] = "post_preview"
|
||||
md.Meta["template"] = "post_preview" if not mini else "post_preview_mini"
|
||||
items += template(html, "blog/"+post[:-3]+ext, ext, md.Meta)
|
||||
i += 1
|
||||
if limit >= 0 and i >= limit:
|
||||
break;
|
||||
return items
|
||||
|
||||
def main():
|
||||
from template import template
|
||||
meta = {"template": "post_list"}
|
||||
ext = "."+sys.argv[2].split(".")[-1]
|
||||
files = sorted(os.listdir(sys.argv[1]), reverse=True)
|
||||
|
||||
@@ -5,14 +5,18 @@ import sys
|
||||
import json
|
||||
from template import template
|
||||
|
||||
def gen_list(music, ext):
|
||||
def gen_list(music, ext, limit=-1, mini=False):
|
||||
items = ""
|
||||
i = 0
|
||||
for track in music:
|
||||
track["template"] = "track_preview"
|
||||
track["template"] = "track_preview" if not mini else "track_preview_mini"
|
||||
track["file_size"] = str(os.path.getsize("music/"+track["id"]+".mp3"))
|
||||
if "group" in track:
|
||||
track["group_text"] = "<span>Part of "+track["group"]+"</span><br/>"
|
||||
items += template("", sys.argv[2], ext, track)
|
||||
i += 1
|
||||
if limit >= 0 and i >= limit:
|
||||
break;
|
||||
return items
|
||||
|
||||
def main():
|
||||
|
||||
@@ -87,6 +87,17 @@ def template(content, path, ext, meta):
|
||||
meta["date"] = datetime.fromtimestamp(int(meta["timestamp"])).isoformat().split("T")[0]
|
||||
if "pub_date" not in meta and "timestamp" in meta:
|
||||
meta["pub_date"] = utils.format_datetime(datetime.fromtimestamp(int(meta["timestamp"])))
|
||||
if "blog_list_limit" in meta:
|
||||
import gen_blog
|
||||
import os
|
||||
files = sorted(os.listdir("posts"), reverse=True)
|
||||
meta["blog_list"] = gen_blog.gen_list(files, ext, limit=int(meta["blog_list_limit"]), mini=True)
|
||||
if "music_list_limit" in meta:
|
||||
import gen_music
|
||||
import json
|
||||
with open("music.json", "r", encoding="utf-8") as file:
|
||||
music = json.loads(file.read())
|
||||
meta["music_list"] = gen_music.gen_list(music, ext, limit=int(meta["music_list_limit"]), mini=True)
|
||||
meta["head"] += "\n<link rel=\"canonical\" href=\""+meta["base"]+meta["full_path"]+"\"/>"
|
||||
meta["content"] = content.format_map(meta)
|
||||
if "description" not in meta and meta["ext"] == ".html":
|
||||
|
||||
Reference in New Issue
Block a user