From 0c5c6fcbbeece457c05403bb46fa8572d7c00477 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Wed, 30 May 2018 13:43:48 +0530 Subject: [PATCH] Make the sidebar a little nicer --- docs/_static/custom.css | 18 ++++++++++++++++++ docs/_templates/localtoc.html | 6 ++++++ docs/conf.py | 20 ++++++++++++++++++++ docs/graphics-protocol.rst | 2 ++ docs/index.rst | 2 ++ 5 files changed, 48 insertions(+) create mode 100644 docs/_templates/localtoc.html diff --git a/docs/_static/custom.css b/docs/_static/custom.css index 4bf1395fc..3053eb1c7 100644 --- a/docs/_static/custom.css +++ b/docs/_static/custom.css @@ -64,3 +64,21 @@ body div.document { outline: 0; } + +div.sphinxsidebar { + font-size: inherit; + line-height: inherit; +} + +#sidebartoc li { + margin-top: 0.75ex; + margin-bottom: 0.75ex; +} + +#sidebartoc ul { + list-style: none !important; +} + +#sidebartoc a[href]:hover { + color: red; +} diff --git a/docs/_templates/localtoc.html b/docs/_templates/localtoc.html new file mode 100644 index 000000000..655bdb7c4 --- /dev/null +++ b/docs/_templates/localtoc.html @@ -0,0 +1,6 @@ +{%- if display_toc %} +
 
+
+ {{ toc }} +
+{%- endif %} diff --git a/docs/conf.py b/docs/conf.py index 9480031d2..c74d8228e 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -234,6 +234,26 @@ def commit_role(name, rawtext, text, lineno, inliner, options={}, content=[]): return [node], [] +def create_toc(app, pagename): + toctree = app.env.get_toc_for(pagename, app.builder) + if toctree is not None: + subtree = toctree[toctree.first_child_matching_class(nodes.list_item)] + bl = subtree.first_child_matching_class(nodes.bullet_list) + if bl is None: + return # Empty ToC + subtree = subtree[bl] + # for li in subtree.traverse(nodes.list_item): + # modify_li(li) + # subtree['ids'] = [ID] + return app.builder.render_partial(subtree)['fragment'] + + +def add_html_context(app, pagename, templatename, context, *args): + if 'toc' in context: + context['toc'] = create_toc(app, pagename) or context['toc'] + + def setup(app): app.add_role('iss', issue_role) app.add_role('commit', commit_role) + app.connect('html-page-context', add_html_context) diff --git a/docs/graphics-protocol.rst b/docs/graphics-protocol.rst index f41799912..938daca1a 100644 --- a/docs/graphics-protocol.rst +++ b/docs/graphics-protocol.rst @@ -1,3 +1,5 @@ +:tocdepth: 3 + The terminal graphics protocol ================================== diff --git a/docs/index.rst b/docs/index.rst index dfc1c76fe..078e3fcfc 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,3 +1,5 @@ +:tocdepth: 2 + ========================================================== kitty - the fast, featureful, GPU based, terminal emulator ==========================================================