From eefcedfc4eea9320c84d51c3a1e21c7bf0d283d6 Mon Sep 17 00:00:00 2001 From: Robert Tice Date: Tue, 21 Nov 2017 16:56:51 -0500 Subject: [PATCH] Added markdown filter to parse content pages written in markdown instead of html. --- REQUIREMENTS.txt | 1 + compile_server/app/templates/readerpage.html | 5 ++- compile_server/app/templatetags/__init__.py | 0 .../app/templatetags/markdown_filter.py | 8 ++++ compile_server/app/views.py | 2 +- ...{part1-chapter1.html => part1-chapter1.md} | 37 ++++++++++--------- 6 files changed, 33 insertions(+), 20 deletions(-) create mode 100644 compile_server/app/templatetags/__init__.py create mode 100644 compile_server/app/templatetags/markdown_filter.py rename resources/books/Ada_For_The_C_Developer/pages/{part1-chapter1.html => part1-chapter1.md} (60%) diff --git a/REQUIREMENTS.txt b/REQUIREMENTS.txt index b16f0fe..47bfcc0 100644 --- a/REQUIREMENTS.txt +++ b/REQUIREMENTS.txt @@ -2,3 +2,4 @@ django djangorestframework django-cors-headers pyyaml +markdown diff --git a/compile_server/app/templates/readerpage.html b/compile_server/app/templates/readerpage.html index 246bf49..f32649c 100644 --- a/compile_server/app/templates/readerpage.html +++ b/compile_server/app/templates/readerpage.html @@ -1,4 +1,7 @@ {% extends 'book_base.html' %} + +{% load markdown_filter %} + {% block sidebar %} - {{ content|safe }} + {{ content|markdownify|safe }} {% endblock%} \ No newline at end of file diff --git a/compile_server/app/templatetags/__init__.py b/compile_server/app/templatetags/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/compile_server/app/templatetags/markdown_filter.py b/compile_server/app/templatetags/markdown_filter.py new file mode 100644 index 0000000..12ee4a2 --- /dev/null +++ b/compile_server/app/templatetags/markdown_filter.py @@ -0,0 +1,8 @@ +from django import template +import markdown + +register = template.Library() + +@register.filter +def markdownify(text): + return markdown.markdown(text, safe_mode='escape') \ No newline at end of file diff --git a/compile_server/app/views.py b/compile_server/app/views.py index a94884c..ad8c24a 100644 --- a/compile_server/app/views.py +++ b/compile_server/app/views.py @@ -156,7 +156,7 @@ def book_router(request, book, part, chapter): content_page = os.path.join(book_path, "pages", - "part%s-chapter%s.html" % (part, chapter)) + "part%s-chapter%s.md" % (part, chapter)) if os.path.isfile(content_page): with open(content_page, 'r') as f: diff --git a/resources/books/Ada_For_The_C_Developer/pages/part1-chapter1.html b/resources/books/Ada_For_The_C_Developer/pages/part1-chapter1.md similarity index 60% rename from resources/books/Ada_For_The_C_Developer/pages/part1-chapter1.html rename to resources/books/Ada_For_The_C_Developer/pages/part1-chapter1.md index b482272..51d5bbc 100644 --- a/resources/books/Ada_For_The_C_Developer/pages/part1-chapter1.html +++ b/resources/books/Ada_For_The_C_Developer/pages/part1-chapter1.md @@ -1,34 +1,35 @@ +# Part 1 Chapter 1 -

Part 1 Chapter 1

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+ sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. + +--- -
- -

Lorem Ipsum Dolor

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna +## Lorem Ipsum Dolor +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+ sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -
+--- -

Lorem Ipsum Dolor

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna +## Lorem Ipsum Dolor +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

+ sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. -
+--- -

Lorem Ipsum Dolor

-

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna +### Lorem Ipsum Dolor +Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur - sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

\ No newline at end of file + sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \ No newline at end of file