From fc791c497d144801e4a75cb1e3a4ce3e32f7c229 Mon Sep 17 00:00:00 2001 From: cytopia Date: Sat, 10 Mar 2018 22:27:14 +0100 Subject: [PATCH] Setup menu --- docs/_static/css/custom.css | 10 +++ docs/conf.py | 48 +++++++------- docs/img/banner.png | Bin 0 -> 31264 bytes docs/img/logo.png | Bin 0 -> 6964 bytes docs/index.md | 9 --- docs/index.rst | 106 +++++++++++++++++++++++++++++-- docs/index.rst.old | 20 ++++++ docs/quickstart/installation.md | 0 docs/quickstart/requirements.rst | 0 docs/quickstart/run.md | 0 10 files changed, 155 insertions(+), 38 deletions(-) create mode 100644 docs/_static/css/custom.css create mode 100644 docs/img/banner.png create mode 100644 docs/img/logo.png delete mode 100644 docs/index.md create mode 100644 docs/index.rst.old delete mode 100644 docs/quickstart/installation.md delete mode 100644 docs/quickstart/requirements.rst delete mode 100644 docs/quickstart/run.md diff --git a/docs/_static/css/custom.css b/docs/_static/css/custom.css new file mode 100644 index 00000000..9966401d --- /dev/null +++ b/docs/_static/css/custom.css @@ -0,0 +1,10 @@ +/* overwrite logo dimensions */ +.wy-side-nav-search>a img.logo, +.wy-side-nav-search .wy-dropdown>a img.logo { + width: 128px; +} + +/* overwrite top-left serach div */ +.wy-side-nav-search { + background-color: #343131; +} diff --git a/docs/conf.py b/docs/conf.py index 83810e5d..bf02fb2c 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -55,6 +55,10 @@ templates_path = ['_templates'] source_suffix = ['.rst', '.md'] #source_suffix = '.rst' +source_parsers = { + '.md': CommonMarkParser, +} + # The master toctree document. master_doc = 'index' @@ -83,9 +87,10 @@ pygments_style = 'sphinx' #html_theme = 'sphinx_rtd_theme' html_theme = 'default' -# From: -# * https://github.com/snide/sphinx_rtd_theme#using-this-theme-locally-then-building-on-read-the-docs +html_logo = 'img/logo.png' +# From: +# * https://github.com/snide/sphinx_png_theme#using-this-theme-locally-then-building-on-read-the-docs if not on_rtd: # only import and set the theme if we're building docs locally import sphinx_rtd_theme html_theme = 'sphinx_rtd_theme' @@ -97,21 +102,21 @@ if not on_rtd: # only import and set the theme if we're building docs locally # # html_theme_options = {} # https://sphinx-rtd-theme.readthedocs.io/en/latest/configuring.html#project-wide-configuration -#html_theme_options = { -# 'canonical_url': '', -# 'analytics_id': '', -# 'logo_only': False, -# 'display_version': True, -# 'prev_next_buttons_location': 'bottom', -# 'style_external_links': False, -# #'vcs_pageview_mode': '', -# # Toc options -# 'collapse_navigation': False, -# 'sticky_navigation': True, -# 'navigation_depth': 4, -# #'includehidden': True, -# 'titles_only': False -#} +html_theme_options = { + 'canonical_url': '', + 'analytics_id': '', + 'logo_only': False, + 'display_version': True, + 'prev_next_buttons_location': 'bottom', + #'style_external_links': False, + #'vcs_pageview_mode': '', + # Toc options + 'collapse_navigation': False, + 'sticky_navigation': True, + 'navigation_depth': 5, + #'includehidden': True, + #'titles_only': False +} # 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, @@ -128,6 +133,9 @@ html_static_path = ['_static'] # # html_sidebars = {} +def setup(app): + app.add_stylesheet('css/custom.css') + # -- Options for HTMLHelp output --------------------------------------------- @@ -135,12 +143,6 @@ html_static_path = ['_static'] htmlhelp_basename = 'devilboxdoc' -# -- Options for Markdown output ------------------------------------------------ -source_parsers = { - '.md': CommonMarkParser, -} - - # -- Options for LaTeX output ------------------------------------------------ latex_elements = { diff --git a/docs/img/banner.png b/docs/img/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..7ed3dbebd062541bc41f2898a493028864f053ee GIT binary patch literal 31264 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 literal 0 HcmV?d00001 diff --git a/docs/img/logo.png b/docs/img/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..c0f20213b78b90ca7759c2b719488744e337c9b7 GIT binary patch literal 6964 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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index 658d4a04..00000000 --- a/docs/index.md +++ /dev/null @@ -1,9 +0,0 @@ -.. include:: ../README.md - -.. toctree:: - :caption: Quickstart - :maxdepth: 2 - - quickstart/requirements - quickstart/installation - quickstart/run diff --git a/docs/index.rst b/docs/index.rst index 658d4a04..167fb159 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,9 +1,103 @@ -.. include:: ../README.md +********************** +devilbox documentation +********************** +.. :hidden: + +.. image:: img/banner.png + + .. toctree:: - :caption: Quickstart - :maxdepth: 2 + :maxdepth: 2 + :numbered: + :caption: Getting started - quickstart/requirements - quickstart/installation - quickstart/run + getting-started/installation + getting-started/create-env-file + getting-started/start-the-devilbox + getting-started/create-your-first-project + + +.. toctree:: + :maxdepth: 2 + :caption: Tutorials + + tutorials/change-document-root + tutorials/change-container-versions + tutorials/work-inside-the-container + tutorials/enable-auto-dns + tutorials/enable-xdebug + tutorials/customize-vhost + tutorials/backup-mysql + tutorials/backup-pgsql + tutorials/backup-mongo + tutorials/custom-environment-variables + tutorials/password-protect-intranet + tutorials/disable-intranet + + +.. toctree:: + :maxdepth: 2 + :caption: Examples + + examples/setup-cakephp + examples/setup-drupal + examples/setup-joomla + examples/setup-laravel + examples/setup-phalcon + examples/setup-symfony + examples/setup-wordpress + examples/setup-yii + examples/setup-zend + + +.. toctree:: + :caption: Global configuration + :maxdepth: 2 + + configuration-global/webserver + configuration-global/php + configuration-global/mysql + configuration-global/mongodb + configuration-global/redis + configuration-global/memcached + configuration-global/bind + configuration-global/devilbox-intranet + +.. toctree:: + :caption: Project configuration + :maxdepth: 2 + + configuration-project/dns + configuration-project/auto-dns + configuration-project/domain + configuration-project/custom-vhost + + +.. toctree:: + :caption: Configuration files + :maxdepth: 2 + + configuration-files/env-file + configuration-files/apache-conf + configuration-files/nginx-conf + configuration-files/php-ini + configuration-files/my-cnf + configuration-files/bashrc + configuration-files/vhost-gen + + +.. toctree:: + :caption: Advanced + :maxdepth: 2 + + advanced/technical + advanced/hacking + + +.. toctree:: + :caption: Support + :maxdepth: 2 + + support/faq + support/contributing diff --git a/docs/index.rst.old b/docs/index.rst.old new file mode 100644 index 00000000..537c781c --- /dev/null +++ b/docs/index.rst.old @@ -0,0 +1,20 @@ +.. devilbox documentation master file, created by + sphinx-quickstart on Sat Mar 10 11:28:55 2018. + You can adapt this file completely to your liking, but it should at least + contain the root `toctree` directive. + +Welcome to devilbox's documentation! +==================================== + +.. toctree:: + :maxdepth: 2 + :caption: Contents: + + + +Indices and tables +================== + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` diff --git a/docs/quickstart/installation.md b/docs/quickstart/installation.md deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/quickstart/requirements.rst b/docs/quickstart/requirements.rst deleted file mode 100644 index e69de29b..00000000 diff --git a/docs/quickstart/run.md b/docs/quickstart/run.md deleted file mode 100644 index e69de29b..00000000