index page is now also rendered from MD file

This commit is contained in:
CDaut 2022-06-26 11:40:30 +02:00 committed by CDaut
parent 0ac0cb7300
commit bf554230aa
3 changed files with 47 additions and 15 deletions

View file

@ -1,4 +1,4 @@
from blog.views import viewblog, addpost, order, index, edit, addtopic#, createmocks
from blog.views import viewblog, addpost, order, index, edit, addtopic # , createmocks
from django.urls import path
urlpatterns = [
@ -7,6 +7,6 @@ urlpatterns = [
path('manage/addtopic', addtopic, name='addtopic'),
path('manage/order', order, name='order'),
path('manage/edit/<int:id>/', edit, name='editpost'),
#path('mock/<str:objtype>/<int:n>/', createmocks, name='mock'),
# path('mock/<str:objtype>/<int:n>/', createmocks, name='mock'),
path('read/<str:title>', viewblog, name='readpost'),
]

View file

@ -1,6 +1,4 @@
import os
import random
import re
import markdown2
@ -8,18 +6,14 @@ from django.contrib.auth.decorators import login_required
from django.db import IntegrityError
from django.http import HttpResponse
from django.shortcuts import render, redirect
#from blog.factories import TopicFactory
# from blog.factories import TopicFactory
from blog.models import Topic, Tag, Blogpost
from django.template import Template, Context
from django.views.decorators.csrf import csrf_exempt
from markdownblog import settings
def viewblog(request, title) -> HttpResponse:
post = Blogpost.objects.get(title=title)
filepath = os.path.join(os.environ.get("MD_FILE_PATH"), title + ".md")
with open(filepath, 'r') as mdfile:
def render_md_file(path) -> Template:
with open(path, 'r') as mdfile:
md_file_content = mdfile.read()
mdfile.close()
@ -31,6 +25,16 @@ def viewblog(request, title) -> HttpResponse:
'{% autoescape off %}' +
html_form_md +
'{% endautoescape %}').render(Context({}))
return rendered_html
def viewblog(request, title) -> HttpResponse:
post = Blogpost.objects.get(title=title)
filepath = os.path.join(os.environ.get("MD_FILE_PATH"), title + ".md")
rendered_html = render_md_file(filepath)
context = {'post': post, 'html': rendered_html, 'roottopics': Topic.objects.all().filter(rootTopic=None),
'allposts': Blogpost.objects.all()}
@ -38,8 +42,13 @@ def viewblog(request, title) -> HttpResponse:
def index(request) -> HttpResponse:
context = {'roottopics': Topic.objects.all().filter(rootTopic=None), 'allposts': Blogpost.objects.all(),
'debug': settings.DEBUG}
filepath = os.path.join(os.environ.get("MD_FILE_PATH"), 'indexpage/index.md')
rendered_html = render_md_file(filepath)
context = {'html': rendered_html, 'roottopics': Topic.objects.all().filter(rootTopic=None),
'allposts': Blogpost.objects.all()}
return render(request, 'blog/index.html', context)

View file

@ -1,9 +1,32 @@
{% extends 'base/base.html' %}
{% load static %}
{% block title %}
Willkommen!
Welcome!
{% endblock %}
{% block includehere %}
<script src="{% static 'fontawesomefree/js/all.min.js' %}"></script>
<link rel="stylesheet" href="{% static 'viewblog.css' %}">
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.5.1/build/styles/default.min.css">
<link rel="stylesheet" href="{% static 'pygments/tango.css' %}">
{% endblock %}
{% block content %}
<h1>Willkommen!</h1>
{% autoescape off %}
<div class="col s10 offset-s1">
{{ html }}
</div>
{% endautoescape %}
<script>
MathJax = {
tex: {
inlineMath: [['$', '$'], ['\\(', '\\)']]
},
svg: {
fontCache: 'global'
}
};
</script>
<script src="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.5.1/build/highlight.min.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
{% endblock %}