Skip to content

Commit

Permalink
add documentation with mkdocs
Browse files Browse the repository at this point in the history
  • Loading branch information
ACea15 committed Sep 10, 2024
1 parent ca0dc0f commit 6c9bb79
Show file tree
Hide file tree
Showing 6 changed files with 151 additions and 0 deletions.
1 change: 1 addition & 0 deletions docs/documentation/api/modes.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
::: intrinsic.modes
1 change: 1 addition & 0 deletions docs/documentation/examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Examples
11 changes: 11 additions & 0 deletions docs/documentation/getting_started.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Getting Started

Welcome to the `Getting Started` guide for **My Project**.

## Installation

To install the project, run:

```bash
pip install my-project
```
11 changes: 11 additions & 0 deletions docs/documentation/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Finite Element models 4 Intrinsic Nonlinear Aeroelastics in JAX [FENIAX]

FEM4INAS is an aeroelastic toolbox written and parallelized in Python, which acts as a post-processor of commercial software such as MSC Nastran.
Arbitrary FE models built for linear aeroelastic analysis are enhanced with geometric nonlinear effects, flight dynamics and linearized state-space solutions about nonlinear equilibrium.


## t1

fsdf

### t3
8 changes: 8 additions & 0 deletions docs/documentation/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Latest versions at time of writing.
mkdocs # Main documentation generator.
mkdocs-material # Theme
pymdown-extensions # Markdown extensions e.g. to handle LaTeX.
mkdocstrings # Autogenerate documentation from docstrings.
mknotebooks # Turn Jupyter Lab notebooks into webpages.
pytkdocs_tweaks # Tweaks mkdocstrings to improve various aspects
mkdocs_include_exclude_files # Allow for customising which files get included
119 changes: 119 additions & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
site_name: FENIAX
site_description: Documentation for aeroelastic library FENIAX.
site_author: Alvaro Cea
docs_dir: docs/documentation

repo_url: https://github.com/ACea15/FENIAX
repo_name: ACea15/FENIAX
edit_uri: "" # No edit button, as some of our pages are in /docs and some in /examples via symlink, so it's impossible for them all to be accurate
strict: False # Don't allow warnings during the build process

theme:
name: material
features:
# - navigation.sections # Sections are included in the navigation on the left.
# - toc.integrate # Table of contents is integrated on the left; does not appear separately on the right.
# - header.autohide # header disappears as you scroll
- announce.dismiss
- content.action.edit
- content.action.view
- content.code.annotate
- content.code.copy
# - content.code.select
# - content.footnote.tooltips
# - content.tabs.link
- content.tooltips
# - header.autohide
# - navigation.expand
- navigation.footer
- navigation.indexes
# - navigation.instant
# - navigation.instant.prefetch
# - navigation.instant.progress
# - navigation.prune
- navigation.sections
- navigation.tabs
- navigation.tabs.sticky
- navigation.top
- navigation.tracking
- search.highlight
- search.share
- search.suggest
- toc.follow
# - toc.integrate
palette:
# Light mode / dark mode
# We deliberately don't automatically use `media` to check a user's preferences. We default to light mode as
# (a) it looks more professional, and (b) is more obvious about the fact that it offers a (dark mode) toggle.
- scheme: default
primary: white
accent: amber
toggle:
icon: material/weather-night
name: Switch to dark mode
- scheme: slate
primary: black
accent: amber
toggle:
icon: material/weather-sunny
name: Switch to light mode
icon:
repo: fontawesome/brands/github # GitHub logo in top right
# logo: "material/math-integral-box" # logo in top left

markdown_extensions:
- pymdownx.arithmatex: # Render LaTeX via MathJax
generic: true
- pymdownx.superfences # Seems to enable syntax highlighting when used with the Material theme.
- pymdownx.details # Allowing hidden expandable regions denoted by ???
- pymdownx.snippets: # Include one Markdown file into another
base_path: docs
- admonition
- toc:
permalink: "¤" # Adds a clickable permalink to each section heading
toc_depth: 4 # Prevents h5, h6 (i.e. methods) from showing up in the TOC.

plugins:
- search # default search plugin; needs manually re-enabling when using any other plugins
- autorefs # Cross-links to headings
- include_exclude_files:
include:
# exclude:
# - "_overrides"
# - "_static/README.md"
- mknotebooks # Jupyter notebooks
- mkdocstrings:
default_handler: python
handlers:
python:
paths: [fem4inas]
options:
docstring_style: numpy # 'google' 'numpy', 'rst', etc.
filters: ["!^_[^_]"] # Exclude private members
show_root_full_path: true
# setup_commands:
# - import pytkdocs_tweaks
# - pytkdocs_tweaks.main()

selection:
- inherited_members: true # Allow looking up inherited methods
rendering:
- show_root_heading: true # actually display anything at all...
- show_root_full_path: true # display "diffrax.asdf" not just "asdf"
- show_if_no_docstring: true
- show_signature_annotations: true
- show_source: false # don't include source code
- members_order: source # order methods according to their order of definition in the source code, not alphabetical order
- heading_level: 4 # Makes everything top-level be <h4>. Child entries will be <h5> etc., but because of toc_depth, above, (deliberately) won't appear in the TOC.

nav:
- Home: index.md
# - Getting started
# - Installation:
# - Theoretical Background:
# - Running:
#- Tutorials
- Examples: examples.md
#- Postprocessing
- Codes:
- Modes: api/modes.md

0 comments on commit 6c9bb79

Please sign in to comment.