From 87b259ab548763bda9a3e19363349bd15ca93565 Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Fri, 30 Dec 2016 01:09:27 +0000 Subject: [PATCH] Make the documentation a little more like the official python docs, with a favicon and a small icon on the navigation bar. --- doc/source/conf.py | 6 +++--- doc/source/tools/static/favicon.ico | Bin 0 -> 7886 bytes doc/source/tools/static/vol.png | Bin 0 -> 15776 bytes doc/source/tools/templates/layout.html | 5 +++++ 4 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 doc/source/tools/static/favicon.ico create mode 100644 doc/source/tools/static/vol.png create mode 100644 doc/source/tools/templates/layout.html diff --git a/doc/source/conf.py b/doc/source/conf.py index f6b6ee4e1..b92aa160e 100644 --- a/doc/source/conf.py +++ b/doc/source/conf.py @@ -38,7 +38,7 @@ extensions = [ ] # Add any paths that contain templates here, relative to this directory. -templates_path = ['_templates'] +templates_path = ['tools/templates'] # The suffix of source filenames. source_suffix = '.rst' @@ -127,12 +127,12 @@ html_theme_options = {'collapsiblesidebar': True} # The name of an image file (relative to this directory) to place at the top # of the sidebar. -#html_logo = None +# html_logo = 'tools/static/volatility.png' # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -#html_favicon = None +html_favicon = 'tools/static/favicon.ico' # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/doc/source/tools/static/favicon.ico b/doc/source/tools/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..141257b78e89b710925266fd155e218f24806db4 GIT binary patch literal 7886 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

;?|IC@Q`FLK4+SEqzg*zA(+O0tBQTI~h zuin_uLyZ@p4``V*X$t+ebsoRfsrQG3gl;8$fkV%6r*RJP{>L}r1L}zu@WU`HEX+|Z zPq!leXV0F^N54D|_2DPjZX#mtH4G;i_z%&gI3WxKCMDu*kci)Mbs*y#F;s~x5^4iW jU0@&(7->mp7yol=I8$aw6DrV literal 0 HcmV?d00001 diff --git a/doc/source/tools/static/vol.png b/doc/source/tools/static/vol.png new file mode 100644 index 0000000000000000000000000000000000000000..ba3d73424ff575bd49973c3d9d75b7fdce24ddf4 GIT binary patch literal 15776 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 ZnlYfj1^&Sz`u7q8$Ve!P*N7U2{9hY>XzKs~ literal 0 HcmV?d00001 diff --git a/doc/source/tools/templates/layout.html b/doc/source/tools/templates/layout.html new file mode 100644 index 000000000..ad0cb37d5 --- /dev/null +++ b/doc/source/tools/templates/layout.html @@ -0,0 +1,5 @@ +{% extends "!layout.html" %} +{% block rootrellink %} +

  • +{% endblock %}