diff --git a/.gitignore b/.gitignore
index 9fa7d127b4713c32b770a3f1f421d3c789eed030..217117d639d5b715ed71bdacc89b8de047b2ba9f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,6 +39,7 @@ output/*/index.html
 
 # Sphinx
 docs/_build
+README.html
 
 # Cookiecutter
 output/
diff --git a/README.rst b/README.rst
index ffaf8e7b027974946b833e211335c7b3a98b5ee1..0248cbe2df053639ad2e2ab9c1c0dc38bcc5db18 100644
--- a/README.rst
+++ b/README.rst
@@ -78,9 +78,9 @@ Changelog
 0.11.1 (11/06/2016)
 *******************
 
-- Correctly pass first parameter to ``Flask`` according to the 0.11 `docs <http://flask.pocoo.org/docs/0.11/api/#application-object>`. Thanks `aliavni <https://github.com/aliavni>`.
-- Remove setuptools and wheel as dependencies to fix deployment on Heroku. Thanks `Cabalist <https://github.com/Cabalist>`.
-- Make User.password a Binary field for compatibility with new versions of bcrypt. Thanks again `Cabalist <https://github.com/Cabalist>`.
+- Correctly pass first parameter to ``Flask`` according to the 0.11 `docs <http://flask.pocoo.org/docs/0.11/api/#application-object>`_. Thanks `@aliavni <https://github.com/aliavni>`_.
+- Remove setuptools and wheel as dependencies to fix deployment on Heroku. Thanks `@Cabalist <https://github.com/Cabalist>`_.
+- Make User.password a Binary field for compatibility with new versions of bcrypt. Thanks again `@Cabalist <https://github.com/Cabalist>`_.
 
 0.11.0 (09/10/2016)
 *******************
diff --git a/tasks.py b/tasks.py
index 0fe715840e0342e34b8272a99a102a9961c86674..e008690108b5bc4de6644f50e82e6e1e7ba01d81 100644
--- a/tasks.py
+++ b/tasks.py
@@ -4,6 +4,7 @@
 import os
 import json
 import shutil
+import webbrowser
 
 from invoke import task
 
@@ -44,3 +45,10 @@ def test(ctx):
     os.chdir(COOKIE)
     _run_flask_command(ctx, 'lint')
     _run_flask_command(ctx, 'test')
+
+@task
+def readme(ctx, browse=False):
+    ctx.run("rst2html.py README.rst > README.html")
+    if browse:
+        webbrowser.open_new_tab('README.html')
+