From ea7ca2398748ee9b1989743d18fdb9fcdb3d2ead Mon Sep 17 00:00:00 2001 From: Mike Auty Date: Sun, 18 Aug 2019 18:28:34 +0100 Subject: [PATCH] Update the documentation generation and sphinx used. --- doc/Makefile | 183 +------------- doc/make.bat | 225 +----------------- .../{tools/static => _static}/favicon.ico | Bin doc/source/_static/vol.png | Bin 0 -> 28849 bytes doc/source/conf.py | 53 +++-- doc/source/index.rst | 10 - .../tools/pydoctheme/static/pydoctheme.css | 183 -------------- doc/source/tools/pydoctheme/theme.conf | 23 -- doc/source/tools/static/copybutton.js | 62 ----- doc/source/tools/static/sidebar.js | 193 --------------- doc/source/tools/static/vol.png | Bin 15776 -> 0 bytes doc/source/tools/templates/layout.html | 5 - 12 files changed, 56 insertions(+), 881 deletions(-) rename doc/source/{tools/static => _static}/favicon.ico (100%) create mode 100644 doc/source/_static/vol.png delete mode 100644 doc/source/tools/pydoctheme/static/pydoctheme.css delete mode 100644 doc/source/tools/pydoctheme/theme.conf delete mode 100644 doc/source/tools/static/copybutton.js delete mode 100644 doc/source/tools/static/sidebar.js delete mode 100644 doc/source/tools/static/vol.png delete mode 100644 doc/source/tools/templates/layout.html diff --git a/doc/Makefile b/doc/Makefile index ec5aa125c..69fe55ecf 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,184 +1,19 @@ -# Makefile for Sphinx documentation +# Minimal makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build -PAPER = +SOURCEDIR = source BUILDDIR = build -# User-friendly check for sphinx-build -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) -endif - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source - -.PHONY: genfiles help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - +# Put it first so that "make" without argument is like "make help". help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " xml to make Docutils-native XML files" - @echo " pseudoxml to make pseudoxml-XML files for display purposes" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) -source/volatility.rst: - $(MAKE) genfiles +.PHONY: help Makefile -genfiles: - sphinx-apidoc -e -M -T -f -o source ../volatility - -clean: - rm -rf $(BUILDDIR)/* - rm -f source/volatility*.rst - -html: source/volatility.rst - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Volatility.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Volatility.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/Volatility" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Volatility" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -latexpdfja: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through platex and dvipdfmx..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." - -xml: - $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml - @echo - @echo "Build finished. The XML files are in $(BUILDDIR)/xml." - -pseudoxml: - $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml - @echo - @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) \ No newline at end of file diff --git a/doc/make.bat b/doc/make.bat index 06cb101d1..543c6b13b 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -1,53 +1,18 @@ @ECHO OFF +pushd %~dp0 + REM Command file for Sphinx documentation if "%SPHINXBUILD%" == "" ( set SPHINXBUILD=sphinx-build ) +set SOURCEDIR=source set BUILDDIR=build -set ALLSPHINXOPTS=-d %BUILDDIR%/doctrees %SPHINXOPTS% source -set I18NSPHINXOPTS=%SPHINXOPTS% source -if NOT "%PAPER%" == "" ( - set ALLSPHINXOPTS=-D latex_paper_size=%PAPER% %ALLSPHINXOPTS% - set I18NSPHINXOPTS=-D latex_paper_size=%PAPER% %I18NSPHINXOPTS% -) if "%1" == "" goto help -if "%1" == "help" ( - :help - echo.Please use `make ^` where ^ is one of - echo. html to make standalone HTML files - echo. dirhtml to make HTML files named index.html in directories - echo. singlehtml to make a single large HTML file - echo. pickle to make pickle files - echo. json to make JSON files - echo. htmlhelp to make HTML files and a HTML help project - echo. qthelp to make HTML files and a qthelp project - echo. devhelp to make HTML files and a Devhelp project - echo. epub to make an epub - echo. latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter - echo. text to make text files - echo. man to make manual pages - echo. texinfo to make Texinfo files - echo. gettext to make PO message catalogs - echo. changes to make an overview over all changed/added/deprecated items - echo. xml to make Docutils-native XML files - echo. pseudoxml to make pseudoxml-XML files for display purposes - echo. linkcheck to check all external links for integrity - echo. doctest to run all doctests embedded in the documentation if enabled - goto end -) - -if "%1" == "clean" ( - for /d %%i in (%BUILDDIR%\*) do rmdir /q /s %%i - del /q /s %BUILDDIR%\* - goto end -) - - -%SPHINXBUILD% 2> nul +%SPHINXBUILD% >NUL 2>NUL if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx @@ -60,183 +25,11 @@ if errorlevel 9009 ( exit /b 1 ) -if "%1" == "html" ( - %SPHINXBUILD% -b html %ALLSPHINXOPTS% %BUILDDIR%/html - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/html. - goto end -) +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% +goto end -if "%1" == "dirhtml" ( - %SPHINXBUILD% -b dirhtml %ALLSPHINXOPTS% %BUILDDIR%/dirhtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/dirhtml. - goto end -) - -if "%1" == "singlehtml" ( - %SPHINXBUILD% -b singlehtml %ALLSPHINXOPTS% %BUILDDIR%/singlehtml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The HTML pages are in %BUILDDIR%/singlehtml. - goto end -) - -if "%1" == "pickle" ( - %SPHINXBUILD% -b pickle %ALLSPHINXOPTS% %BUILDDIR%/pickle - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the pickle files. - goto end -) - -if "%1" == "json" ( - %SPHINXBUILD% -b json %ALLSPHINXOPTS% %BUILDDIR%/json - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can process the JSON files. - goto end -) - -if "%1" == "htmlhelp" ( - %SPHINXBUILD% -b htmlhelp %ALLSPHINXOPTS% %BUILDDIR%/htmlhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run HTML Help Workshop with the ^ -.hhp project file in %BUILDDIR%/htmlhelp. - goto end -) - -if "%1" == "qthelp" ( - %SPHINXBUILD% -b qthelp %ALLSPHINXOPTS% %BUILDDIR%/qthelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; now you can run "qcollectiongenerator" with the ^ -.qhcp project file in %BUILDDIR%/qthelp, like this: - echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Volatility.qhcp - echo.To view the help file: - echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Volatility.ghc - goto end -) - -if "%1" == "devhelp" ( - %SPHINXBUILD% -b devhelp %ALLSPHINXOPTS% %BUILDDIR%/devhelp - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. - goto end -) - -if "%1" == "epub" ( - %SPHINXBUILD% -b epub %ALLSPHINXOPTS% %BUILDDIR%/epub - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The epub file is in %BUILDDIR%/epub. - goto end -) - -if "%1" == "latex" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - if errorlevel 1 exit /b 1 - echo. - echo.Build finished; the LaTeX files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdf" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "latexpdfja" ( - %SPHINXBUILD% -b latex %ALLSPHINXOPTS% %BUILDDIR%/latex - cd %BUILDDIR%/latex - make all-pdf-ja - cd %BUILDDIR%/.. - echo. - echo.Build finished; the PDF files are in %BUILDDIR%/latex. - goto end -) - -if "%1" == "text" ( - %SPHINXBUILD% -b text %ALLSPHINXOPTS% %BUILDDIR%/text - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The text files are in %BUILDDIR%/text. - goto end -) - -if "%1" == "man" ( - %SPHINXBUILD% -b man %ALLSPHINXOPTS% %BUILDDIR%/man - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The manual pages are in %BUILDDIR%/man. - goto end -) - -if "%1" == "texinfo" ( - %SPHINXBUILD% -b texinfo %ALLSPHINXOPTS% %BUILDDIR%/texinfo - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The Texinfo files are in %BUILDDIR%/texinfo. - goto end -) - -if "%1" == "gettext" ( - %SPHINXBUILD% -b gettext %I18NSPHINXOPTS% %BUILDDIR%/locale - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The message catalogs are in %BUILDDIR%/locale. - goto end -) - -if "%1" == "changes" ( - %SPHINXBUILD% -b changes %ALLSPHINXOPTS% %BUILDDIR%/changes - if errorlevel 1 exit /b 1 - echo. - echo.The overview file is in %BUILDDIR%/changes. - goto end -) - -if "%1" == "linkcheck" ( - %SPHINXBUILD% -b linkcheck %ALLSPHINXOPTS% %BUILDDIR%/linkcheck - if errorlevel 1 exit /b 1 - echo. - echo.Link check complete; look for any errors in the above output ^ -or in %BUILDDIR%/linkcheck/output.txt. - goto end -) - -if "%1" == "doctest" ( - %SPHINXBUILD% -b doctest %ALLSPHINXOPTS% %BUILDDIR%/doctest - if errorlevel 1 exit /b 1 - echo. - echo.Testing of doctests in the sources finished, look at the ^ -results in %BUILDDIR%/doctest/output.txt. - goto end -) - -if "%1" == "xml" ( - %SPHINXBUILD% -b xml %ALLSPHINXOPTS% %BUILDDIR%/xml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The XML files are in %BUILDDIR%/xml. - goto end -) - -if "%1" == "pseudoxml" ( - %SPHINXBUILD% -b pseudoxml %ALLSPHINXOPTS% %BUILDDIR%/pseudoxml - if errorlevel 1 exit /b 1 - echo. - echo.Build finished. The pseudo-XML files are in %BUILDDIR%/pseudoxml. - goto end -) +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% :end +popd diff --git a/doc/source/tools/static/favicon.ico b/doc/source/_static/favicon.ico similarity index 100% rename from doc/source/tools/static/favicon.ico rename to doc/source/_static/favicon.ico diff --git a/doc/source/_static/vol.png b/doc/source/_static/vol.png new file mode 100644 index 0000000000000000000000000000000000000000..9bc76b3d54a2107887ca43e09c6061d174433b57 GIT binary patch literal 28849 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 h3:first-child { - margin-top: 0.2em; -} - -div.sphinxsidebarwrapper > ul > li > ul > li { - margin-bottom: 0.4em; -} - -div.sphinxsidebar a:hover { - color: #0095C4; -} - -div.sphinxsidebar input { - font-family: 'Lucida Grande',Arial,sans-serif; - border: 1px solid #999999; - font-size: smaller; - border-radius: 3px; -} - -div.sphinxsidebar input[type=text] { - max-width: 150px; -} - -div.body { - padding: 0 0 0 1.2em; -} - -div.body p { - line-height: 140%; -} - -div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 { - margin: 0; - border: 0; - padding: 0.3em 0; -} - -div.body hr { - border: 0; - background-color: #ccc; - height: 1px; -} - -div.body pre { - border-radius: 3px; - border: 1px solid #ac9; -} - -div.body div.admonition, div.body div.impl-detail { - border-radius: 3px; -} - -div.body div.impl-detail > p { - margin: 0; -} - -div.body div.seealso { - border: 1px solid #dddd66; -} - -div.body a { - color: #0072aa; -} - -div.body a:visited { - color: #6363bb; -} - -div.body a:hover { - color: #00B0E4; -} - -tt, code, pre { - font-family: monospace, sans-serif; - font-size: 96.5%; -} - -div.body tt, div.body code { - border-radius: 3px; -} - -div.body tt.descname, div.body code.descname { - font-size: 120%; -} - -div.body tt.xref, div.body a tt, div.body code.xref, div.body a code { - font-weight: normal; -} - -.deprecated { - border-radius: 3px; -} - -table.docutils { - border: 1px solid #ddd; - min-width: 20%; - border-radius: 3px; - margin-top: 10px; - margin-bottom: 10px; -} - -table.docutils td, table.docutils th { - border: 1px solid #ddd !important; - border-radius: 3px; -} - -table p, table li { - text-align: left !important; -} - -table.docutils th { - background-color: #eee; - padding: 0.3em 0.5em; -} - -table.docutils td { - background-color: white; - padding: 0.3em 0.5em; -} - -table.footnote, table.footnote td { - border: 0 !important; -} - -div.footer { - line-height: 150%; - margin-top: -2em; - text-align: right; - width: auto; - margin-right: 10px; -} - -div.footer a:hover { - color: #0095C4; -} - -.refcount { - color: #060; -} - -.stableabi { - color: #229; -} - -.highlight { - background: none !important; -} - diff --git a/doc/source/tools/pydoctheme/theme.conf b/doc/source/tools/pydoctheme/theme.conf deleted file mode 100644 index 0c4388167..000000000 --- a/doc/source/tools/pydoctheme/theme.conf +++ /dev/null @@ -1,23 +0,0 @@ -[theme] -inherit = default -stylesheet = pydoctheme.css -pygments_style = sphinx - -[options] -bodyfont = 'Lucida Grande', Arial, sans-serif -headfont = 'Lucida Grande', Arial, sans-serif -footerbgcolor = white -footertextcolor = #555555 -relbarbgcolor = white -relbartextcolor = #666666 -relbarlinkcolor = #444444 -sidebarbgcolor = white -sidebartextcolor = #444444 -sidebarlinkcolor = #444444 -bgcolor = white -textcolor = #222222 -linkcolor = #0090c0 -visitedlinkcolor = #00608f -headtextcolor = #1a1a1a -headbgcolor = white -headlinkcolor = #aaaaaa diff --git a/doc/source/tools/static/copybutton.js b/doc/source/tools/static/copybutton.js deleted file mode 100644 index 716c9e472..000000000 --- a/doc/source/tools/static/copybutton.js +++ /dev/null @@ -1,62 +0,0 @@ -$(document).ready(function() { - /* Add a [>>>] button on the top-right corner of code samples to hide - * the >>> and ... prompts and the output and thus make the code - * copyable. */ - var div = $('.highlight-python .highlight,' + - '.highlight-python3 .highlight') - var pre = div.find('pre'); - - // get the styles from the current theme - pre.parent().parent().css('position', 'relative'); - var hide_text = 'Hide the prompts and output'; - var show_text = 'Show the prompts and output'; - var border_width = pre.css('border-top-width'); - var border_style = pre.css('border-top-style'); - var border_color = pre.css('border-top-color'); - var button_styles = { - 'cursor':'pointer', 'position': 'absolute', 'top': '0', 'right': '0', - 'border-color': border_color, 'border-style': border_style, - 'border-width': border_width, 'color': border_color, 'text-size': '75%', - 'font-family': 'monospace', 'padding-left': '0.2em', 'padding-right': '0.2em', - 'border-radius': '0 3px 0 0' - } - - // create and add the button to all the code blocks that contain >>> - div.each(function(index) { - var jthis = $(this); - if (jthis.find('.gp').length > 0) { - var button = $('>>>'); - button.css(button_styles) - button.attr('title', hide_text); - button.data('hidden', 'false'); - jthis.prepend(button); - } - // tracebacks (.gt) contain bare text elements that need to be - // wrapped in a span to work with .nextUntil() (see later) - jthis.find('pre:has(.gt)').contents().filter(function() { - return ((this.nodeType == 3) && (this.data.trim().length > 0)); - }).wrap(''); - }); - - // define the behavior of the button when it's clicked - $('.copybutton').click(function(e){ - e.preventDefault(); - var button = $(this); - if (button.data('hidden') === 'false') { - // hide the code output - button.parent().find('.go, .gp, .gt').hide(); - button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'hidden'); - button.css('text-decoration', 'line-through'); - button.attr('title', show_text); - button.data('hidden', 'true'); - } else { - // show the code output - button.parent().find('.go, .gp, .gt').show(); - button.next('pre').find('.gt').nextUntil('.gp, .go').css('visibility', 'visible'); - button.css('text-decoration', 'none'); - button.attr('title', hide_text); - button.data('hidden', 'false'); - } - }); -}); - diff --git a/doc/source/tools/static/sidebar.js b/doc/source/tools/static/sidebar.js deleted file mode 100644 index e8d58f4bf..000000000 --- a/doc/source/tools/static/sidebar.js +++ /dev/null @@ -1,193 +0,0 @@ -/* - * sidebar.js - * ~~~~~~~~~~ - * - * This script makes the Sphinx sidebar collapsible and implements intelligent - * scrolling. - * - * .sphinxsidebar contains .sphinxsidebarwrapper. This script adds in - * .sphixsidebar, after .sphinxsidebarwrapper, the #sidebarbutton used to - * collapse and expand the sidebar. - * - * When the sidebar is collapsed the .sphinxsidebarwrapper is hidden and the - * width of the sidebar and the margin-left of the document are decreased. - * When the sidebar is expanded the opposite happens. This script saves a - * per-browser/per-session cookie used to remember the position of the sidebar - * among the pages. Once the browser is closed the cookie is deleted and the - * position reset to the default (expanded). - * - * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. - * :license: BSD, see LICENSE for details. - * - */ - -$(function() { - // global elements used by the functions. - // the 'sidebarbutton' element is defined as global after its - // creation, in the add_sidebar_button function - var jwindow = $(window); - var jdocument = $(document); - var bodywrapper = $('.bodywrapper'); - var sidebar = $('.sphinxsidebar'); - var sidebarwrapper = $('.sphinxsidebarwrapper'); - - // original margin-left of the bodywrapper and width of the sidebar - // with the sidebar expanded - var bw_margin_expanded = bodywrapper.css('margin-left'); - var ssb_width_expanded = sidebar.width(); - - // margin-left of the bodywrapper and width of the sidebar - // with the sidebar collapsed - var bw_margin_collapsed = '.8em'; - var ssb_width_collapsed = '.8em'; - - // colors used by the current theme - var dark_color = '#AAAAAA'; - var light_color = '#CCCCCC'; - - function get_viewport_height() { - if (window.innerHeight) - return window.innerHeight; - else - return jwindow.height(); - } - - function sidebar_is_collapsed() { - return sidebarwrapper.is(':not(:visible)'); - } - - function toggle_sidebar() { - if (sidebar_is_collapsed()) - expand_sidebar(); - else - collapse_sidebar(); - // adjust the scrolling of the sidebar - scroll_sidebar(); - } - - function collapse_sidebar() { - sidebarwrapper.hide(); - sidebar.css('width', ssb_width_collapsed); - bodywrapper.css('margin-left', bw_margin_collapsed); - sidebarbutton.css({ - 'margin-left': '0', - 'height': bodywrapper.height(), - 'border-radius': '5px' - }); - sidebarbutton.find('span').text('»'); - sidebarbutton.attr('title', _('Expand sidebar')); - document.cookie = 'sidebar=collapsed'; - } - - function expand_sidebar() { - bodywrapper.css('margin-left', bw_margin_expanded); - sidebar.css('width', ssb_width_expanded); - sidebarwrapper.show(); - sidebarbutton.css({ - 'margin-left': ssb_width_expanded-12, - 'height': bodywrapper.height(), - 'border-radius': '0 5px 5px 0' - }); - sidebarbutton.find('span').text('«'); - sidebarbutton.attr('title', _('Collapse sidebar')); - //sidebarwrapper.css({'padding-top': - // Math.max(window.pageYOffset - sidebarwrapper.offset().top, 10)}); - document.cookie = 'sidebar=expanded'; - } - - function add_sidebar_button() { - sidebarwrapper.css({ - 'float': 'left', - 'margin-right': '0', - 'width': ssb_width_expanded - 28 - }); - // create the button - sidebar.append( - '
«
' - ); - var sidebarbutton = $('#sidebarbutton'); - // find the height of the viewport to center the '<<' in the page - var viewport_height = get_viewport_height(); - var sidebar_offset = sidebar.offset().top; - var sidebar_height = Math.max(bodywrapper.height(), sidebar.height()); - sidebarbutton.find('span').css({ - 'display': 'block', - 'position': 'fixed', - 'top': Math.min(viewport_height/2, sidebar_height/2 + sidebar_offset) - 10 - }); - - sidebarbutton.click(toggle_sidebar); - sidebarbutton.attr('title', _('Collapse sidebar')); - sidebarbutton.css({ - 'border-radius': '0 5px 5px 0', - 'color': '#444444', - 'background-color': '#CCCCCC', - 'font-size': '1.2em', - 'cursor': 'pointer', - 'height': sidebar_height, - 'padding-top': '1px', - 'padding-left': '1px', - 'margin-left': ssb_width_expanded - 12 - }); - - sidebarbutton.hover( - function () { - $(this).css('background-color', dark_color); - }, - function () { - $(this).css('background-color', light_color); - } - ); - } - - function set_position_from_cookie() { - if (!document.cookie) - return; - var items = document.cookie.split(';'); - for(var k=0; k wintop && curbot > winbot) { - sidebarwrapper.css('top', $u.max([wintop - offset - 10, 0])); - } - else if (curtop < wintop && curbot < winbot) { - sidebarwrapper.css('top', $u.min([winbot - sidebar_height - offset - 20, - jdocument.height() - sidebar_height - 200])); - } - } - } - jwindow.scroll(scroll_sidebar); -}); diff --git a/doc/source/tools/static/vol.png b/doc/source/tools/static/vol.png deleted file mode 100644 index ba3d73424ff575bd49973c3d9d75b7fdce24ddf4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15776 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 ZnlYfj1^&Sz`u7q8$Ve!P*N7U2{9hY>XzKs~ diff --git a/doc/source/tools/templates/layout.html b/doc/source/tools/templates/layout.html deleted file mode 100644 index ad0cb37d5..000000000 --- a/doc/source/tools/templates/layout.html +++ /dev/null @@ -1,5 +0,0 @@ -{% extends "!layout.html" %} -{% block rootrellink %} -
  • -{% endblock %}