A simple Django app to generate pages from files.
Project description
Mdpages is a simple Django app to generate pages from Markdown files.
Pages also can have a Table of Content automatically generated based on headings.
Quick start
Supposing you want to create an About page, having the markdown file at /pages/content/about.md.
Add “mdpages” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [
...
'mdpages',
]
Set the location of the directory that will contain the Markdown files in settings with MDPAGES_CONTENT_DIR:
MDPAGES_CONTENT_DIR = '{}/pages/content/'.format(BASE_DIR)
Add the template that will contain the Markdown generated content, you will have two variables available: body and toc (for the table of contents), for example create a template /templates/mdpages/page.html with contents like:
{% extends "base.html" %}
{% block title %}{{title}}{%endblock%}
{% block description %}{{description}}{%endblock%}
{% block content %}
<div class="container">
{{ toc|safe }}
<hr>
{{ body|safe }}
</div>
{% endblock %}
And add the template path to settings MDPAGES_TEMPLATE_NAME:
MDPAGES_TEMPLATE_NAME = 'mdpages/page.html'
Create a view using staticages.views.MdPageView specifying the name of the Markdown file md_file and the template_name:
from mdpages.views import MdPageView
class AboutView(MdPageView):
md_file = 'language-learning.md'
# any kind of extra content used in your template
extra_context = {
'title': 'About page',
'description': 'This is the about page of the site.'
}
Use it in your urls.py:
from .views import AboutView
urlpatterns = [
path('about', AboutView.as_view()),
]
Reference
Markdown library https://python-markdown.github.io/reference/
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_mdpages-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4448b370b8059d8e7d80a5752418e902b5b93052713f8037c395c53c1c79fcc0 |
|
MD5 | 39daee9a75dfcd6cf92ed127b0e8dcf6 |
|
BLAKE2b-256 | 048727a6839db31fc9b74c7f4d4e941c93321e2e9b51771ee904e5a39c4dff62 |