diff --git a/CHANGELOG.md b/CHANGELOG.md index d4808b478..4c1274989 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/). - MNT: refactor u_dot parachute method [#596](https://github.com/RocketPy-Team/RocketPy/pull/596) - BLD: Change setup.py to pyproject.toml [#589](https://github.com/RocketPy-Team/RocketPy/pull/589) - DEP: delete deprecated rocketpy.tools.cached_property [#587](https://github.com/RocketPy-Team/RocketPy/pull/587) +- DOC: Change rocketpy Landing Page to Standard Code docs [#584](https://github.com/RocketPy-Team/RocketPy/pull/584) - ENH: Flight simulation speed up [#581] (https://github.com/RocketPy-Team/RocketPy/pull/581) - MNT: Modularize Rocket Draw [#580](https://github.com/RocketPy-Team/RocketPy/pull/580) - DOC: Improvements of Environment docstring phrasing [#565](https://github.com/RocketPy-Team/RocketPy/pull/565) diff --git a/docs/conf.py b/docs/conf.py index ac0f1c349..3c03540ea 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -41,7 +41,6 @@ "sphinx_design", "jupyter_sphinx", "nbsphinx", - "m2r2", ] # source_suffix = '.rst' @@ -96,7 +95,7 @@ # relative to this directory. They are copied after the builtin static files, # so a file named "default.css" will overwrite the builtin "default.css". html_static_path = ["static"] -html_css_files = ["notebooks.css"] +html_css_files = ["rocketpy.css"] html_favicon = "static/favicon.ico" html_theme_options = { "logo_link": "index", diff --git a/docs/index.rst b/docs/index.rst index 0b5d754bd..773c26366 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,10 +1,92 @@ -.. RocketPy documentation master file, created by - sphinx-quickstart on Wed Mar 4 06:03:53 2020. - You can adapt this file completely to your liking, but it should at least - contain the root `toctree` directive. +###################### +RocketPy Documentation +###################### + +**Version**: |release| + +**Useful links**: +`Installation `_ | +`Source Repository `_ | +`Issue Tracker `_ | +`Q&A Support `_ | + +RocketPy is the next-generation trajectory simulation solution for High-Power Rocketry. The code is written as a Python library and allows for a complete 6 degrees of freedom simulation of a rocket's flight trajectory, including high-fidelity variable mass effects as well as descent under parachutes. Weather conditions, such as wind profiles, can be imported from sophisticated datasets, allowing for realistic scenarios. Furthermore, the implementation facilitates complex simulations, such as multi-stage rockets, design and trajectory optimization and dispersion analysis. + +.. grid:: 2 + + .. grid-item-card:: + :img-top: ./static/landing_images/getting_started.svg + + Getting started + ^^^^^^^^^^^^^^^ + + Simulating your first rocket? Check out the Beginner's Guide. It contains an + introduction to RocketPy main concepts and walks you through the process of + setting up a simulation. + + +++ + + .. button-ref:: user/first_simulation + :expand: + :color: secondary + :click-parent: + + To the beginner's guide + + .. grid-item-card:: + :img-top: ./static/landing_images/user_guide.svg + + User guide + ^^^^^^^^^^ + + The user guide provides in-depth information on + RocketPy functionalities with useful background information and explanation. + + +++ + + .. button-ref:: user/index + :expand: + :color: secondary + :click-parent: + + To the user guide + + .. grid-item-card:: + :img-top: ./static/landing_images/api.svg + + API reference + ^^^^^^^^^^^^^ + + The reference guide contains a detailed description of RocketPy modules. Here it is described how the methods work and which parameters can be used. It assumes that you already have an understanding of key concepts. + + +++ + + .. button-ref:: reference/index + :expand: + :color: secondary + :click-parent: + + To the reference guide + + .. grid-item-card:: + :img-top: ./static/landing_images/contributor.svg + + Contributor's guide + ^^^^^^^^^^^^^^^^^^^ + + Want to contribute to RocketPy source code? The contributing guidelines will guide you through the process of improving RocketPy. + + +++ + + .. button-ref:: development/index + :expand: + :color: secondary + :click-parent: + + To the contributor's guide .. toctree:: - :maxdepth: 4 + :maxdepth: 1 :hidden: User Guide @@ -13,11 +95,3 @@ Technical Flight Examples -.. mdinclude:: ../README.md - -Indices and tables -================== - -* :ref:`genindex` -* :ref:`modindex` -* :ref:`search` diff --git a/docs/requirements.in b/docs/requirements.in index e54e386ad..b716d0c54 100644 --- a/docs/requirements.in +++ b/docs/requirements.in @@ -1,9 +1,7 @@ nbsphinx==0.9.4 pydata-sphinx-theme==0.15.2 -m2r2==0.3.3.post2 jupyter-sphinx==0.5.3 sphinx_design==0.5.0 ipykernel==6.29.4 pandas==2.2.2 -lxml_html_clean==0.1.1 -docutils==0.20.1 \ No newline at end of file +lxml_html_clean==0.1.1 \ No newline at end of file diff --git a/docs/requirements.txt b/docs/requirements.txt index f45dac5e5..bd8cb90ef 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -40,8 +40,6 @@ defusedxml==0.7.1 # via nbconvert docutils==0.20.1 # via - # -r docs/requirements.in - # m2r2 # nbsphinx # pydata-sphinx-theme # sphinx @@ -100,8 +98,6 @@ lxml==5.2.2 # nbconvert lxml-html-clean==0.1.1 # via -r docs/requirements.in -m2r2==0.3.3.post2 - # via -r docs/requirements.in markupsafe==2.1.5 # via # jinja2 @@ -111,9 +107,7 @@ matplotlib-inline==0.1.7 # ipykernel # ipython mistune==0.8.4 - # via - # m2r2 - # nbconvert + # via nbconvert nbclient==0.10.0 # via nbconvert nbconvert==6.5.4 diff --git a/docs/static/landing_images/api.svg b/docs/static/landing_images/api.svg new file mode 100644 index 000000000..e637525cc --- /dev/null +++ b/docs/static/landing_images/api.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/landing_images/contributor.svg b/docs/static/landing_images/contributor.svg new file mode 100644 index 000000000..3a689e0e4 --- /dev/null +++ b/docs/static/landing_images/contributor.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/static/landing_images/getting_started.svg b/docs/static/landing_images/getting_started.svg new file mode 100644 index 000000000..04db7e615 --- /dev/null +++ b/docs/static/landing_images/getting_started.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/landing_images/user_guide.svg b/docs/static/landing_images/user_guide.svg new file mode 100644 index 000000000..d61b0937d --- /dev/null +++ b/docs/static/landing_images/user_guide.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs/static/notebooks.css b/docs/static/notebooks.css deleted file mode 100644 index 2a7f23067..000000000 --- a/docs/static/notebooks.css +++ /dev/null @@ -1,5 +0,0 @@ -.nbinput .prompt, -.nboutput.container .output_area.stderr, -.nboutput .prompt { - display: none; -} diff --git a/docs/static/rocketpy.css b/docs/static/rocketpy.css new file mode 100644 index 000000000..f2a0fc9cc --- /dev/null +++ b/docs/static/rocketpy.css @@ -0,0 +1,80 @@ +.nbinput .prompt, +.nboutput.container .output_area.stderr, +.nboutput .prompt { + display: none; +} + +/* Main page overview cards */ + +.sd-card { + background: #fff; + border-radius: 0; + padding: 30px 10px 20px 10px; + margin: 10px 0px; +} + +.sd-card .sd-card-header { + text-align: center; +} + +.sd-card .sd-card-header .sd-card-text { + margin: 0px; +} + +.sd-card .sd-card-img-top { + height: 52px; + width: 52px; + margin-left: auto; + margin-right: auto; +} + +.sd-card .sd-card-header { + border: none; + background-color: white; + color: #150458 !important; + font-size: var(--pst-font-size-h5); + font-weight: bold; + padding: 2.5rem 0rem 0.5rem 0rem; +} + +.sd-card .sd-card-footer { + border: none; + background-color: white; +} + +.sd-card .sd-card-footer .sd-card-text { + max-width: 220px; + margin-left: auto; + margin-right: auto; +} + +/* Dark theme tweaking */ +html[data-theme=dark] .sd-card img[src*='.svg'] { + filter: invert(0.82) brightness(0.8) contrast(1.2); +} + +/* Main index page overview cards */ +html[data-theme=dark] .sd-card { + background-color:var(--pst-color-background); +} + +html[data-theme=dark] .sd-shadow-sm { + box-shadow: 0 .1rem 1rem rgba(250, 250, 250, .6) !important +} + +html[data-theme=dark] .sd-card .sd-card-header { + background-color:var(--pst-color-background); + color: #150458 !important; +} + +html[data-theme=dark] .sd-card .sd-card-footer { + background-color:var(--pst-color-background); +} + +html[data-theme=dark] h1 { + color: var(--pst-color-primary); +} + +html[data-theme=dark] h3 { + color: #0a6774; +} \ No newline at end of file