test
This commit is contained in:
@@ -1,4 +1,6 @@
|
|||||||
*.db
|
*.db
|
||||||
*.html
|
*.html
|
||||||
|
|
||||||
|
config.toml
|
||||||
|
|
||||||
templates/*
|
templates/*
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
+3
-1
@@ -1,4 +1,4 @@
|
|||||||
from blahblah import bbdb
|
from blahblah import bbdb, render
|
||||||
import tempfile
|
import tempfile
|
||||||
import subprocess
|
import subprocess
|
||||||
import os
|
import os
|
||||||
@@ -167,6 +167,8 @@ if __name__ == "__main__":
|
|||||||
confirmDelete(db)
|
confirmDelete(db)
|
||||||
elif choice == 'l' or choice == 'L' or choice == "4":
|
elif choice == 'l' or choice == 'L' or choice == "4":
|
||||||
listPosts(db)
|
listPosts(db)
|
||||||
|
elif choice == 'g' or choice == 'G' or choice == "5":
|
||||||
|
render.generateBodies(db)
|
||||||
|
|
||||||
db.close()
|
db.close()
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,62 @@
|
|||||||
import markdown
|
import markdown
|
||||||
|
import toml
|
||||||
|
from jinja2 import Environment, PackageLoader
|
||||||
|
from blahblah import bbdb
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
env = Environment( loader = PackageLoader("blahblah") )
|
||||||
|
|
||||||
|
rollTemplate = env.get_template("roll_template.html.jinja")
|
||||||
|
postTemplate = env.get_template("post_template.html.jinja")
|
||||||
|
|
||||||
|
with open('config.toml', 'r') as f:
|
||||||
|
config = toml.load(f)
|
||||||
|
|
||||||
|
|
||||||
|
def generateBodies(db):
|
||||||
|
postCount = 0
|
||||||
|
blogRoll = []
|
||||||
|
blobStack = ""
|
||||||
|
for p in bbdb.getAllPosts(db):
|
||||||
|
if p["title"] != None:
|
||||||
|
newPost = '<div class="blobs mainbox blogpost">'
|
||||||
|
newPost = newPost + "<h2>" + p["title"] + "</h2><br>"
|
||||||
|
else:
|
||||||
|
newPost = '<div class="blobs mainbox micropost">'
|
||||||
|
|
||||||
|
bodyText = p["body"]
|
||||||
|
|
||||||
|
if len(bodyText) > 512:
|
||||||
|
formattedBody = bodyText[0:512]
|
||||||
|
# formattedBody = markdown.markdown(formattedBody)
|
||||||
|
# bodyText = markdown.markdown(bodyText)
|
||||||
|
else:
|
||||||
|
formattedBody = bodyText
|
||||||
|
|
||||||
|
formattedBody = markdown.markdown(formattedBody)
|
||||||
|
bodyText = markdown.markdown(bodyText)
|
||||||
|
|
||||||
|
#newPost = newPost + formattedBody
|
||||||
|
|
||||||
|
#newPost = newPost + "</div>"
|
||||||
|
|
||||||
|
with open("./blog/posts/" + str(p["id"]) + ".html", "w") as f:
|
||||||
|
singlePost = newPost + bodyText
|
||||||
|
singlePost = singlePost + '</div>'
|
||||||
|
f.write(postTemplate.render(webRoot=config['server']['document_root'], blogContent=singlePost, siteCopyright=config['server']['copyright_holder']))
|
||||||
|
|
||||||
|
ts = p["timestamp"] / 1000
|
||||||
|
newPost = newPost + formattedBody
|
||||||
|
newPost = newPost + '<p style="font-size:small;text-align:right">' + datetime.fromtimestamp(ts).strftime('%B %-d, %Y ')
|
||||||
|
newPost = newPost + '<a href="' + config['server']['document_root'] + "/blog/posts/" + str(p["id"]) + '.html">'
|
||||||
|
newPost = newPost + 'permalink</a></p></div>'
|
||||||
|
blogRoll.append(newPost)
|
||||||
|
|
||||||
|
postCount += 1
|
||||||
|
|
||||||
|
if postCount < config['formatting']['post_per_page']:
|
||||||
|
for p in blogRoll:
|
||||||
|
blobStack = blobStack + p
|
||||||
|
|
||||||
|
with open("./blog/index.html", "w") as f:
|
||||||
|
f.write(rollTemplate.render(webRoot=config['server']['document_root'], blogContent=blobStack, siteCopyright=config['server']['copyright_holder']))
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="{{ webRoot }}/main.css">
|
||||||
|
<title>{{ siteCopyright }}</title>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class = "outer-shell">
|
||||||
|
<div class="blobs titlebar">
|
||||||
|
<a href="{{ webRoot }}"><h1>{{ siteCopyright }} dot com</h1></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class ="inner-content">
|
||||||
|
<div class ="blogbox">
|
||||||
|
{{ blogContent }}
|
||||||
|
<div class = "blobs mainbox navi">
|
||||||
|
<a href="{{ webRoot }}/blog"><p>See all blog posts</p></a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="blobs linkbox">
|
||||||
|
<a href="{{ webRoot }}"><p>HOME</p></a><hr>
|
||||||
|
<a href="{{ webRoot }}/about.html"><p>ABOUT ME</p></a><hr>
|
||||||
|
<p style="text-decoration:line-through">PHOTOS</p><hr>
|
||||||
|
<a href="{{ webRoot }}/git"><p>CODE</p></a><hr>
|
||||||
|
<a href="{{ webRoot }}/blog"><p>BLOG</p></a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class ="blobs underbox">
|
||||||
|
<p> Copyright 2026 {{ siteCopyright }} </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="{{ webRoot }}/main.css">
|
||||||
|
<title>{{ siteCopyright }}'s Blog</title>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div class = "outer-shell">
|
||||||
|
<div class="blobs titlebar">
|
||||||
|
<a href="{{ webRoot }}"><h1>{{ siteCopyright }} dot com</h1></a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class ="inner-content">
|
||||||
|
<div class ="blogbox">
|
||||||
|
{{ blogContent }}
|
||||||
|
</div>
|
||||||
|
<div class="blobs linkbox">
|
||||||
|
<a href="{{ webRoot }}"><p>HOME</p></a><hr>
|
||||||
|
<a href="{{ webRoot }}/about.html"><p>ABOUT ME</p></a><hr>
|
||||||
|
<p style="text-decoration:line-through">PHOTOS</p><hr>
|
||||||
|
<a href="{{ webRoot }}/git"><p>CODE</p></a><hr>
|
||||||
|
<p style="color:BLACK">BLOG</p>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class ="blobs underbox">
|
||||||
|
<p> Copyright 2026 {{ siteCopyright }} </p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</body>
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
#Change the name of this file to config.toml!
|
||||||
|
|
||||||
|
title = " blahblah config example -- rename me 'config.toml' "
|
||||||
|
|
||||||
|
[server]
|
||||||
|
document_root = "https://mysite.com"
|
||||||
|
copyright_holder = "Suzy Greenberg"
|
||||||
|
|
||||||
|
[formatting]
|
||||||
|
post_per_page = 25
|
||||||
Reference in New Issue
Block a user