standalone added

dependabot/pip/src/flask-2.3.2
TiynGER 5 years ago
parent ba1be5199b
commit a5a20398c0

@ -13,8 +13,9 @@ However I dislike using a script for adding entries and just want to add entries
- [x] Archive page - [x] Archive page
- [x] Months as headings - [x] Months as headings
- [x] Links to scrolling blog page - [x] Links to scrolling blog page
- [ ] Links to standalone article - [x] Links to standalone article
- [ ] Standalone article page - [x] Standalone article page
- [x] Links to scrolling blog page
- [x] RSS feed - [x] RSS feed
- [ ] Better navigation - [ ] Better navigation
- [ ] Header - [ ] Header

@ -1,4 +1,4 @@
from flask import Flask, flash, make_response, render_template, request, redirect from flask import Flask, flash, make_response, render_template, request, redirect, abort
import content as con_gen import content as con_gen
@ -24,6 +24,13 @@ def blog_archive():
content = con_gen.gen_arch_string() content = con_gen.gen_arch_string()
return render_template('archive.html', title='Blog Archive', content_string=content) return render_template('archive.html', title='Blog Archive', content_string=content)
@app.route('/entry/<path>')
def entry(path):
content = con_gen.gen_stand_string(path)
if content != '':
return render_template('standalone.html', title='Blog Entry', content_string=content)
abort(404)
@app.route('/feed.xml') @app.route('/feed.xml')
@app.route('/rss.xml') @app.route('/rss.xml')

@ -36,8 +36,12 @@ def gen_arch_string():
filename = filename.split('.', 1)[0] filename = filename.split('.', 1)[0]
content_string += '<li>' content_string += '<li>'
content_string += curr_date + ' - ' content_string += curr_date + ' - '
content_string += title + ' ['
content_string += '<a href="' + '/index.html#' + \ content_string += '<a href="' + '/index.html#' + \
filename + '">' + title + '</a><br>' filename + '">' + 'link' + '</a> - '
content_string += '<a href="' + '/entry/' + \
pathlib.PurePath(file).name + '">' + 'standalone' + '</a>'
content_string += '] <br>'
content_string += '</li>\n' content_string += '</li>\n'
content_string += '</ul>\n' content_string += '</ul>\n'
return content_string return content_string
@ -60,12 +64,14 @@ def gen_index_string():
filename = filename.split('.', 1)[0] filename = filename.split('.', 1)[0]
content_string += '<div class=\'entry\'>\n' content_string += '<div class=\'entry\'>\n'
content_string += '<h2 id=\'' + filename + '\'>' + title + '</h2>\n' content_string += '<h2 id=\'' + filename + '\'>' + title + '</h2>\n'
content_string += '[<a href="' + '/entry/' + \
pathlib.PurePath(file).name + '">' + 'standalone' + '</a>]<br>\n'
if file.endswith('.html'): if file.endswith('.html'):
for line in text: for line in text:
content_string += line content_string += line
content_string += '<br>' content_string += '<br>'
if file.endswith('.md'): if file.endswith('.md'):
content_string += gen_md_content(file) content_string += gen_md_content(file, 2)
content_string += '<small>' + \ content_string += '<small>' + \
datetime.fromtimestamp(os.path.getctime( datetime.fromtimestamp(os.path.getctime(
file)).strftime('%Y-%m-%d') + '</small>' file)).strftime('%Y-%m-%d') + '</small>'
@ -73,18 +79,40 @@ def gen_index_string():
return content_string return content_string
def gen_md_content(path_ex): def gen_stand_string(path_ex):
filename = os.path.join(ENTRY_DIR, path_ex)
content_string = ''
if path.exists(filename):
title = open(filename).readline().rstrip('\n')
text = open(filename).readlines()[1:]
filename_no_end = filename.split('.', 1)[0]
content_string += '<h1>' + title + '</h1>\n'
content_string += '['
content_string += '<a href="' + '/index.html#' + \
filename_no_end + '">' + 'link' + '</a>'
content_string += ']<br>\n'
if filename.endswith('.html'):
for line in text:
content_string += line
content_string += '<br>'
if filename.endswith('.md'):
content_string += gen_md_content(filename, 1)
return content_string
def gen_md_content(path_ex, depth):
content_string = '' content_string = ''
if path.exists(path_ex): if path.exists(path_ex):
filename = path_ex.split('.', 1) filename = path_ex.split('.', 1)
fileend = filename[len(filename) - 1] fileend = filename[len(filename) - 1]
markdown_file = open(path_ex, "r")
depth = 2
header = '#' header = '#'
for i in range(depth): for i in range(depth):
header += '#' header += '#'
header += ' ' header += ' '
markdown_text = markdown_file.read().replace('# ', header) markdown_lines = open(path_ex, "r").readlines()[1:]
markdown_text = ''
for line in markdown_lines:
markdown_text += line.replace('# ', header)
content_string = markdown.markdown( content_string = markdown.markdown(
markdown_text, extensions=["fenced_code", "tables"] markdown_text, extensions=["fenced_code", "tables"]
) )

@ -0,0 +1,10 @@
{% extends 'template.html' %}
{% block content %}
<div class="container">
<div class="standalone">
{% autoescape off %}
{{ content_string }}
{% endautoescape %}
</div>
</div>
{% endblock %}
Loading…
Cancel
Save