Skip to main content

Django application to create a blog based on local Markdown files

Project description

Django static Markdown blog

The purpose of this application is to provide an Internet blog based on local files. Those files can be Markdown formatted to add some style to your notes. This app has to be integrated into an existing django website.

Quick start

  1. Add "django_static_markdown_blog" to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [  
    ...  
    'django_static_markdown_blog',
]
  1. In the settings file, add two variables
BLOG_FOLDER = '/tmp/markdown-files/'
BLOG_INDEX_FILE = 'main.md'
  1. Include the django_static_markdown_blog URLconf in your project urls.py like this:
path('blog/', include(('django_static_markdown_blog.urls', 'blog'))),
  1. It is useless to migrate database because it is based on local files

  2. Start the development server and visit http://127.0.0.1:8000/blog to check if everything is ok.

How to use

To use the software, you must have defined the variable BLOG_FOLDER which indicates the name of the directory where the Markdown files are located, as well as the variable BLOG_INDEX_FILE which corresponds to the main file of each directory (it is possible to create an unlimited tree structure).

Write your first page

Your first file is the one at the root of the BLOG_FOLDER directory and must be named as the BLOG_INDEX_FILE variable. This is the entry point of your blog, the page seen by your visitors when they arrive on your blog.

To write a Markdown file, the principle is very simple. It is divided into two parts separated by at least one empty line. The first part contains the metadata of the file which are filled a little lower. The second part is the content of your page, formattable with Markdown.

There is an exemple of a home page:

title: Welcome on my blog

Hello everyone, and welcome to my **blog**. 
Feel free to visit my project page on [PyPI](https://pypi.org/project/django-static-markdown-blog/) or directly on [GitLab](https://gitlab.com/aloha68/django-static-markdown-blog/).

Enjoy your visit!

Supported metadata

There is the full list of the supported metadata:

  • title: set the title of your page
  • date: set a custom date for your page, else we will use the datetime of the file
  • groups: define a group list that can access the page. It means that unauthorized people will not see the page
  • icons: define an icon that will be display in the article list for a page

TODO

  • Remove all BeautifulSoup4 components
  • Remove all libaloha components

Project details


Download files

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

Source Distribution

django-static-markdown-blog-0.1.2.tar.gz (102.8 kB view details)

Uploaded Source

Built Distribution

django_static_markdown_blog-0.1.2-py3-none-any.whl (153.2 kB view details)

Uploaded Python 3

File details

Details for the file django-static-markdown-blog-0.1.2.tar.gz.

File metadata

  • Download URL: django-static-markdown-blog-0.1.2.tar.gz
  • Upload date:
  • Size: 102.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/0.12.17 CPython/3.7.3 Linux/4.19.66-v7l+

File hashes

Hashes for django-static-markdown-blog-0.1.2.tar.gz
Algorithm Hash digest
SHA256 d9683921b697fa51a0a7a11c3b5ce961901c1b06c1ee3f556cf877610747571e
MD5 ed3f2025c9467c5bee66b202132bab03
BLAKE2b-256 dde4eca0f71fb76e214d0228eb1e0d42f2b4b71e6004d301a913704613e3f885

See more details on using hashes here.

File details

Details for the file django_static_markdown_blog-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for django_static_markdown_blog-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 116be5b12ba22caa66a1081efc1db2fc45c8feb444ea7eb01b68a3039cab0687
MD5 fcc018a10e7ffacb01dbe0de1b369ec6
BLAKE2b-256 e4d6cffd525e7d1e8c253ee0c6a9fdbd570c401e0136831c889e93c5c5646f1a

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