51 lines
1.6 KiB
Python
51 lines
1.6 KiB
Python
import frmWrk.website as website
|
|
import feed_generator
|
|
import pathlib
|
|
from time import sleep
|
|
|
|
article_base_html = ""
|
|
with open("src/article.html") as article_html:
|
|
article_base_html = article_html.read()
|
|
|
|
articles_base_html = ""
|
|
with open("src/articles.html") as articles_html:
|
|
articles_base_html = articles_html.read()
|
|
|
|
def article_list():
|
|
article_paths = (pathlib.Path.cwd() / "feed_articles").glob("[0-9]*")
|
|
article_paths_sorted = sorted(article_paths, key=lambda x: x.name, reverse=True)
|
|
|
|
metadatas = [feed_generator.convert_markdown_to_html(path)[1] for path in article_paths_sorted]
|
|
|
|
elements = ['<li><a href="articles.html?{guid}">{title} ({guid})</a></li>'.format(title=metadata["title"][0], guid=metadata["guid"][0]) for metadata in metadatas]
|
|
|
|
return articles_base_html.format(elements="\n".join(elements))
|
|
|
|
def article(path):
|
|
if not "?" in path:
|
|
return article_list()
|
|
|
|
article_name = path.split("?")[1]
|
|
article_html = feed_generator.convert_markdown_to_html(pathlib.Path("feed_articles") / article_name)
|
|
|
|
return article_base_html.format(body=article_html[0])
|
|
|
|
if __name__ == "__main__":
|
|
webserver = website.WebServer("", 3000, "./src", overwrites={"/articles.html": article})
|
|
|
|
webserver.start()
|
|
|
|
while True:
|
|
feed = feed_generator.make_rss_feed("feed_articles", "Vantens", "https://vanten-s.com/", "Vantens personal feed")
|
|
with open("src/rss.xml", "w") as f:
|
|
f.write(feed)
|
|
|
|
try:
|
|
sleep(15)
|
|
|
|
except KeyboardInterrupt:
|
|
break
|
|
|
|
webserver.close()
|
|
|