diff --git a/www/Dockerfile b/www/Dockerfile
index 931f8d8419185cdfe31ab7d0a4f0b3bf3bca66dd..e718b7d5617789e0bb8366eb404a33fa7588c453 100644
--- a/www/Dockerfile
+++ b/www/Dockerfile
@@ -31,6 +31,7 @@ RUN pip3 install \
     uwsgi \
     django-two-factor-auth \
     matterhook \
+    markdown \
     --upgrade
 
 RUN pip3 install git+https://github.com/nkunihiko/django-bootstrap3-datetimepicker.git
diff --git a/www/web/warpmain/templates/warpmain/main.html b/www/web/warpmain/templates/warpmain/main.html
index f2fc14dbe285b6f48bb82beb9b6dfb539779f429..46fd97ecfe80b29defdf449d3b294b89441b50be 100644
--- a/www/web/warpmain/templates/warpmain/main.html
+++ b/www/web/warpmain/templates/warpmain/main.html
@@ -21,7 +21,24 @@
                         </div>
                     </div>
                 </form>
+                <div class="panel-body">
+                <H4>{%trans "markdown_support" %}</H4>
+                <pre>
+# h1
+## h2
+### h3
+#### h4
+
+1. Ordered item 1
+2. Ordered item 2
+
+* Unordered item 1
+* Unordered item 2
+</pre>
+                <br>
+                </div>
             </div>
+
         </div>
     {%  endif %}
     {% for news in news_list %}
@@ -30,7 +47,7 @@
                 <span class="lead">{{ news.title }}</span><div class="pull-right">{% if user.is_superuser %}<a href="/news/delete/{{ news.id }}" class="btn btn-danger"><span class="glyphicon glyphicon-trash"></span></a>{% endif %}</div>
             </div>
             <div class="panel-body">
-                {{ news.message|linebreaksbr }}
+                {{ news.message|safe }}
             </div>
             <div class="panel-footer">
                 {% trans "created_by" %} {{ news.user }} {{ news.created | naturaltime }}
diff --git a/www/web/warpmain/views.py b/www/web/warpmain/views.py
index 97a5ea2b484c3604b6af49148d469004b7f9f4d9..07455afef0e0df7679affaabd171429eaa338a05 100644
--- a/www/web/warpmain/views.py
+++ b/www/web/warpmain/views.py
@@ -5,6 +5,8 @@ from warpmain.models import News, NewsForm
 from django.shortcuts import render, redirect
 from django.contrib.auth.decorators import login_required
 from warpzone.util import send_to_mattermost
+import markdown
+from django.utils.html import escape
 
 @login_required(login_url=settings.LOGIN_URL, redirect_field_name=None)
 def index(request, news_id=0):
@@ -26,7 +28,11 @@ def index(request, news_id=0):
                 news_form = NewsForm(News.objects.get(id=news_id))
 
     page_context['create_news_form'] = news_form
-    page_context['news_list'] = News.objects.order_by("-created")
+    page_context['news_list'] = []
+    news_list = News.objects.order_by("-created")
+    for news in news_list:
+        news.message = markdown.markdown(escape(news.message), extensions=['markdown.extensions.nl2br','markdown.extensions.sane_lists'])
+        page_context['news_list'].append(news)
     return HttpResponse(render(request, 'warpmain/main.html', page_context))