Mostly port the individual entry template to Jinja2 - the actual entry content isn't being rendered, and there's no breadcrumbs yet, but otherwise it's spot-on

This commit is contained in:
Danielle McLean 2018-06-19 15:47:10 +10:00
parent 741c2eb234
commit ee12c15d1c
Signed by untrusted user: 00dani
GPG key ID: 8EB789DDF3ABD240
5 changed files with 93 additions and 2 deletions

View file

@ -1,3 +1,4 @@
from django.contrib.humanize.templatetags.humanize import naturaltime
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import reverse
from jinja2 import Environment
@ -6,7 +7,7 @@ from compressor.contrib.jinja2ext import CompressorExtension
from django_activeurl.ext.django_jinja import ActiveUrl
from entries.kinds import all as entry_kinds
from .utils import load_package_json
from .utils import friendly_url, load_package_json
def environment(**options):
@ -16,6 +17,10 @@ def environment(**options):
lstrip_blocks=True,
**options
)
env.filters.update({
'friendly_url': friendly_url,
'naturaltime': naturaltime,
})
env.globals.update({
'entry_kinds': entry_kinds,
'package': load_package_json(),

View file

@ -5,6 +5,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title class="p-name">{% if title %}{{ title }} ~ {% endif %}{{ request.site.name }}</title>
{% block head %}{% endblock %}
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css"
integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">

View file

@ -7,13 +7,18 @@ from django.http import HttpResponseForbidden, HttpResponseBadRequest
from django.utils.html import strip_tags
from os.path import join
from types import SimpleNamespace
from urllib.parse import urlencode, urljoin
from urllib.parse import urlencode, urljoin, urlparse
from .templatetags.markdown import markdown
cache = SimpleNamespace(package_json=None)
def friendly_url(url):
(scheme, netloc, path, params, q, fragment) = urlparse(url)
return netloc + path
def load_package_json():
if cache.package_json:
return cache.package_json