Skip to main content

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.

  1. Add “mdpages” to your INSTALLED_APPS setting like this:

INSTALLED_APPS = [
        ...
        'mdpages',
]
  1. 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)
  1. 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'
  1. 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.'
        }
  1. Use it in your urls.py:

from .views import AboutView

urlpatterns = [
        path('about', AboutView.as_view()),
]

Reference

Project details


Release history Release notifications | RSS feed

This version

0.2

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-mdpages-0.2.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

django_mdpages-0.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file django-mdpages-0.2.tar.gz.

File metadata

  • Download URL: django-mdpages-0.2.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for django-mdpages-0.2.tar.gz
Algorithm Hash digest
SHA256 c01cd523cce3b34c2b24e1344f4391a8708aa4efe4e17042438bdea7d327b262
MD5 2d81b6817b2b1b2acbd65abefa4ddab9
BLAKE2b-256 b18e56be8c66d188f6f5c1aae96b5d406f17d31c20c0f46c96dceb0c43763080

See more details on using hashes here.

File details

Details for the file django_mdpages-0.2-py3-none-any.whl.

File metadata

  • Download URL: django_mdpages-0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.7

File hashes

Hashes for django_mdpages-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4448b370b8059d8e7d80a5752418e902b5b93052713f8037c395c53c1c79fcc0
MD5 39daee9a75dfcd6cf92ed127b0e8dcf6
BLAKE2b-256 048727a6839db31fc9b74c7f4d4e941c93321e2e9b51771ee904e5a39c4dff62

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page