diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 000000000..b1f60d326 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,29 @@ +# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions +name: deploy EasyBuild documentation (only on push to main branch) +on: + push: + branches: main +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: install mkdocs + run: | + pip install -r requirements.txt + mkdocs --version + + - name: build tutorial + # can't use --strict due to warnings being produced by mkdocs-redirect plugin + # because we are re-directing .html pages + # run: mkdocs build --strict && mkdocs gh-deploy --force + run: mkdocs build && mkdocs gh-deploy --force diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..04ef90917 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,30 @@ +# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions +name: test building of EasyBuild documentation +on: [push, pull_request] +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: checkout + uses: actions/checkout@v3 + + - name: set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Codespell action + uses: codespell-project/actions-codespell@master + with: + check_filenames: true + + - name: install mkdocs + run: | + pip install -r requirements.txt + mkdocs --version + + - name: build tutorial + # can't use --strict due to warnings being produced by mkdocs-redirect plugin + # because we are re-directing .html pages + # run: mkdocs build --strict + run: mkdocs build diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..45ddf0ae3 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +site/ diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..ff24720e8 --- /dev/null +++ b/Makefile @@ -0,0 +1,13 @@ +all: build + +build: + mkdocs build + +deploy: + mkdocs gh-deploy --force + +check test: + mkdocs build --strict + +preview: + mkdocs serve diff --git a/README b/README new file mode 100644 index 000000000..9f3680e52 --- /dev/null +++ b/README @@ -0,0 +1,109 @@ +# EasyBuild documentation + +This repository contains the *sources* of the EasyBuild documentation, which is hosted at https://docs.easybuild.io. + +> **Warning** +> +> The sources of the EasyBuild documentation currently still reside at https://github.com/easybuilders/easybuild/tree/main/docs. +> +> We are actively porting the sources from [reStructuredText](https://en.wikipedia.org/wiki/ReStructuredText) format +> to [MarkDown](https://daringfireball.net/projects/markdown) format. + +## Format + +The documentation sources are located in the [docs subdirectory](https://github.com/easybuilders/easybuild-docs/tree/main/docs). +They are written in [MarkDown](https://daringfireball.net/projects/markdown) format, and rendered using [MkDocs](https://www.mkdocs.org), +more specifically with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material). + +Useful links: + +- The Markdown Guide: +- Reference guide for Material for MkDocs: + +## Publishing + +The documentation is automatically built and published to https://docs.easybuild.io on every push to the `main` branch of this repository. + +This is taken care of by the [`deploy` GitHub Actions workflow](https://github.com/easybuilders/easybuild-docs/tree/main/.github/workflows/deploy.yml). + +## Using `mkdocs` + +### Installing `mkdocs` + +To install all the required `mkdocs` Python packages, use the provided [requirements.txt](https://github.com/easybuilders/easybuild-docs/tree/main/requirements.txt) file: + +``` +pip install -r requirements.txt +``` + +### Building + +To build the documentation, use: + +``` +mkdocs build +``` + +or use the `Makefile` that is provided in this repository: + +``` +make +``` + +### Testing + +To test whether the documentation is building correctly, and whether all (internal) links are correct, use: + +``` +mkdocs build --strict +``` + +or + +``` +make test +``` + +These commands will exit with a non-zero exit code if `mkdocs` produces any errors or warnings. + +### Previewing + +To see a local preview of the rendered documentation in your browser, use + +``` +mkdocs serve +``` + +or + +``` +make preview +``` + +and click the link that is provided, for example: + +``` +INFO - Documentation built in 0.24 seconds +INFO - [17:52:07] Watching paths for changes: 'docs', 'mkdocs.yml' +INFO - [17:52:07] Serving on http://127.0.0.1:8000/ +``` + +This preview of the rendered documentation will automatically refresh when the documentation sources are updated! + + +## Contributing + +To contribute to the EasyBuild documentation, you should make a pull request to the `main` branch. + +For example: + +``` +git clone git@github.com:easybuilders/easybuild-docs.git +cd easybuild-docs +git remote add example_fork git@github.com:example/easybuild-docs.git +git checkout -b example_branch +git add docs/example.md +git commit -m "this is just an example" +git push example_fork example_branch +# then go to https://github.com/easybuilders/easybuild-docs and open the pull request +``` diff --git a/docs/configuring_easybuild.md b/docs/configuring_easybuild.md new file mode 100644 index 000000000..3556b7836 --- /dev/null +++ b/docs/configuring_easybuild.md @@ -0,0 +1,14 @@ +# Configuring EasyBuild + +!!! warning + This page will soon replace . + + ** + It still needs to be ported from *reStructuredText* (.rst) to *MarkDown* (.md), + and you can help with that! + ** + + - source: [`docs/Configuration.rst` in `easybuilders/easybuild` repo](https://raw.githubusercontent.com/easybuilders/easybuild/develop/docs/Configuration.rst) + - target: [`docs/configuring_easybuild.md` in `easybuilders/easybuild-docs` repo](https://github.com/easybuilders/easybuild-docs/tree/main/docs/configuring_easybuild.md) + + See for more information. diff --git a/docs/easybuild_terminology.md b/docs/easybuild_terminology.md new file mode 100644 index 000000000..663cb34f0 --- /dev/null +++ b/docs/easybuild_terminology.md @@ -0,0 +1,14 @@ +# EasyBuild terminology + +!!! warning + This page will soon replace . + + ** + It still needs to be ported from *reStructuredText* (.rst) to *MarkDown* (.md), + and you can help with that! + ** + + - source: [`docs/Concepts_and_Terminology.rst` in `easybuilders/easybuild` repo](https://raw.githubusercontent.com/easybuilders/easybuild/develop/docs/Concepts_and_Terminology.rst) + - target: [`docs/easybuild_terminology.md` in `easybuilders/easybuild-docs` repo](https://github.com/easybuilders/easybuild-docs/tree/main/docs/easybuild_terminology.md) + + See for more information. diff --git a/docs/img/easybuild_logo.png b/docs/img/easybuild_logo.png new file mode 100644 index 000000000..a8b5d29ba Binary files /dev/null and b/docs/img/easybuild_logo.png differ diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 000000000..b57b49d94 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,22 @@ +# Welcome to the EasyBuild documentation! + +!!! warning + This is the new EasyBuild documentation, + made with [Material for MkDocs](https://squidfunk.github.io/mkdocs-material) + and written in [MarkDown](https://daringfireball.net/projects/markdown). + + We intend to replace the , + which is made with [Sphinx](https://www.sphinx-doc.org) + and written in [reStructuredText](https://en.wikipedia.org/wiki/ReStructuredText) + with this documentation soon... + + ** + If you want to help with porting the EasyBuild documentation to MarkDown, you can! + Please see . + ** + +## Getting started + +- [What is EasyBuild?](what_is_easybuild.md) +- [EasyBuild terminology](easybuild_terminology.md) +- [Installing](installing_easybuild.md) and [configuring](configuring_easybuild.md) EasyBuild diff --git a/docs/installing_easybuild.md b/docs/installing_easybuild.md new file mode 100644 index 000000000..7b91e5e95 --- /dev/null +++ b/docs/installing_easybuild.md @@ -0,0 +1,14 @@ +# Installing EasyBuild + +!!! warning + This page will soon replace . + + ** + It still needs to be ported from *reStructuredText* (.rst) to *MarkDown* (.md), + and you can help with that! + ** + + - source: [`docs/Concepts_and_Terminology.rst` in `easybuilders/easybuild` repo](https://raw.githubusercontent.com/easybuilders/easybuild/develop/docs/Installation.rst) + - target: [`docs/installing_easybuild.md` in `easybuilders/easybuild-docs` repo](https://github.com/easybuilders/easybuild-docs/tree/main/docs/installing_easybuild.md) + + See for more information. diff --git a/docs/stylesheets/extra.css b/docs/stylesheets/extra.css new file mode 100644 index 000000000..0cc330cf8 --- /dev/null +++ b/docs/stylesheets/extra.css @@ -0,0 +1,129 @@ +/* + * Custom EasyBuild color scheme for Material for MkDocs, + * derived from default dark mode color scheme 'slate'. +*/ +[data-md-color-scheme="easybuild"] { + /* hue (in range [0,360]) */ + --md-hue: 232; + + --md-default-fg-color: hsla(var(--md-hue), 75%, 95%, 1); + --md-default-fg-color--light: hsla(var(--md-hue), 75%, 90%, 0.62); + --md-default-fg-color--lighter: hsla(var(--md-hue), 75%, 90%, 0.32); + --md-default-fg-color--lightest: hsla(var(--md-hue), 75%, 90%, 0.12); + + --md-default-bg-color: #2F343F; /*hsla(var(--md-hue), 15%, 21%, 1);*/ + --md-default-bg-color--light: hsla(var(--md-hue), 15%, 21%, 0.54); + --md-default-bg-color--lighter: hsla(var(--md-hue), 15%, 21%, 0.26); + --md-default-bg-color--lightest: hsla(var(--md-hue), 15%, 21%, 0.07); + + /* --md-primary-fg-color: #3E70E4; /* blue from original EasyBuild logo */ + --md-primary-fg-color: #94BDCF; /* blue from new EasyBuild logo */ + /* --md-primary-fg-color--light: #44932B; /* green from original EasyBuild logo */ + --md-primary-fg-color--light: #A8BD90; /* green from new EasyBuild logo */ + /* --md-primary-fg-color--dark: #A5241E; /* red from original EasyBuild logo */ + --md-primary-fg-color--dark: #B2666C; /* red from new EasyBuild logo */ + + /* Code color shades */ + --md-code-fg-color: hsla(var(--md-hue), 18%, 86%, 1); + --md-code-bg-color: hsla(var(--md-hue), 15%, 15%, 1); + + /* Code highlighting color shades */ + --md-code-hl-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.15); + --md-code-hl-number-color: hsla(6, 74%, 63%, 1); + --md-code-hl-special-color: hsla(340, 83%, 66%, 1); + --md-code-hl-function-color: hsla(291, 57%, 65%, 1); + --md-code-hl-constant-color: hsla(250, 62%, 70%, 1); + --md-code-hl-keyword-color: hsla(219, 66%, 64%, 1); + --md-code-hl-string-color: hsla(150, 58%, 44%, 1); + --md-code-hl-name-color: var(--md-code-fg-color); + --md-code-hl-operator-color: var(--md-default-fg-color--light); + --md-code-hl-punctuation-color: var(--md-default-fg-color--light); + --md-code-hl-comment-color: var(--md-default-fg-color--light); + --md-code-hl-generic-color: var(--md-default-fg-color--light); + --md-code-hl-variable-color: var(--md-default-fg-color--light); + + /* Typeset color shades */ + --md-typeset-color: var(--md-default-fg-color); + + /* Typeset `a` color shades */ + --md-typeset-a-color: var(--md-primary-fg-color); + + /* Typeset `mark` color shades */ + --md-typeset-mark-color: hsla(#{hex2hsl($clr-blue-a200)}, 0.3); + + /* Typeset `kbd` color shades */ + --md-typeset-kbd-color: hsla(var(--md-hue), 15%, 94%, 0.12); + --md-typeset-kbd-accent-color: hsla(var(--md-hue), 15%, 94%, 0.2); + --md-typeset-kbd-border-color: hsla(var(--md-hue), 15%, 14%, 1); + + /* Typeset `table` color shades */ + --md-typeset-table-color: hsla(var(--md-hue), 75%, 95%, 0.12); + + /* Admonition color shades */ + --md-admonition-fg-color: var(--md-default-fg-color); + --md-admonition-bg-color: var(--md-default-bg-color); + + /* Footer color shades */ + --md-footer-bg-color: hsla(var(--md-hue), 15%, 12%, 0.87); + --md-footer-bg-color--dark: hsla(var(--md-hue), 15%, 10%, 1); + + /* Shadow depth 1 */ + --md-shadow-z1: + 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.2), + 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.1); + + /* Shadow depth 2 */ + --md-shadow-z2: + 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.3), + 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.25); + + /* Shadow depth 3 */ + --md-shadow-z3: + 0 #{px2rem(4px)} #{px2rem(10px)} hsla(0, 0%, 0%, 0.4), + 0 0 #{px2rem(1px)} hsla(0, 0%, 0%, 0.35); + + /* Hide images for light mode */ + img[src$="#only-light"], + img[src$="#gh-light-mode-only"] { + display: none; + } + + /* Show images for dark mode */ + img[src$="#only-dark"], + img[src$="#gh-dark-mode-only"] { + display: initial; + } +} + +/* -------------------------------------------------------------------------- */ + +/* Adjust link colors for dark primary colors */ +@each $name, $color in ( + "pink": hsl(340, 81%, 63%), + "purple": hsl(291, 43%, 63%), + "deep-purple": hsl(262, 63%, 70%), + "indigo": hsl(219, 56%, 63%), + "teal": hsl(174, 100%, 40%), + "green": hsl(122, 39%, 60%), + "deep-orange": hsl(14, 100%, 73%), + "brown": hsl(16, 45%, 60%), + + // Set neutral colors to indigo + "grey": hsl(219, 56%, 63%), + "blue-grey": hsl(219, 56%, 63%), + "white": hsl(219, 56%, 63%), + "black": hsl(219, 56%, 63%) +) { + [data-md-color-scheme="slate"][data-md-color-primary="#{$name}"] { + --md-typeset-a-color: #{$color}; + } +} + +/* -------------------------------------------------------------------------- */ + +/* Switching in progress - disable all transitions temporarily */ +[data-md-color-switching] *, +[data-md-color-switching] *::before, +[data-md-color-switching] *::after { + transition-duration: 0ms !important; // stylelint-disable-line +} diff --git a/docs/what_is_easybuild.md b/docs/what_is_easybuild.md new file mode 100644 index 000000000..2f494ea71 --- /dev/null +++ b/docs/what_is_easybuild.md @@ -0,0 +1,14 @@ +# What is EasyBuild? + +!!! warning + This page will soon replace . + + ** + It still needs to be ported from *reStructuredText* (.rst) to *MarkDown* (.md), + and you can help with that! + ** + + - source: [`docs/Introduction.rst` in `easybuilders/easybuild` repo](https://raw.githubusercontent.com/easybuilders/easybuild/develop/docs/Introduction.rst) + - target: [`docs/what_is_easybuild.md` in `easybuilders/easybuild-docs` repo](https://github.com/easybuilders/easybuild-docs/tree/main/docs/what_is_easybuild.md) + + See for more information. diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 000000000..d4ccb2960 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,382 @@ +site_name: EasyBuild - building software with ease +site_url: https://docs.easybuild.io +extra: + analytics: + provider: google + property: G-BLVCH6991S +theme: + name: material + logo: img/easybuild_logo.png + features: + - instant + palette: + scheme: easybuild +extra_css: + - stylesheets/extra.css +repo_name: EasyBuild @ GitHub +repo_url: https://github.com/easybuilders/easybuild-docs +edit_uri: easybuild-docs/edit/main/docs + +nav: + - Home: index.md + - What is EasyBuild?: what_is_easybuild.md + - Terminology: easybuild_terminology.md + - Installation: installing_easybuild.md + - Configuration: configuring_easybuild.md + +plugins: + # show revision date at bottom of each page + - git-revision-date-localized + # necessary for search to work + - search + # redirects for original EasyBuild documentation to avoid broken URLs + - redirects: + redirect_maps: + # en/latest/Archived-easyconfigs.html: ??? + # en/latest/Backup_modules.html: ??? + # en/latest/Changelog.html: ??? + # en/latest/Code_style.html: ??? + # en/latest/Common-toolchains.html: ??? + en/latest/Concepts_and_Terminology.html: easybuild_terminology.md + en/latest/Configuration.html: configuring_easybuild.md + # en/latest/Configuration_Legacy.html: ??? + # en/latest/Containers.html: ??? + # en/latest/Contributing.html: ??? + # en/latest/Controlling_compiler_optimization_flags.html: ??? + # en/latest/Cray-support.html: ??? + # en/latest/Deprecated-easyconfigs.html: ??? + # en/latest/Deprecated-functionality.html: ??? + # en/latest/Detecting_loaded_modules.html: ??? + # en/latest/EasyBuild4-overview-of-changes.html: ??? + # en/latest/EasyBuild4-overview-relocated-functions-constants.html: ??? + # en/latest/Easyconfig-files-local-variables.html: ??? + # en/latest/Easyconfigs_index.html: ??? + # en/latest/Easystack-files.html: ??? + # en/latest/Experimental_features.html: ??? + # en/latest/Extended_dry_run.html: ??? + # en/latest/Extended_dry_run_examples.html: ??? + # en/latest/Hooks.html: ??? + # en/latest/Implementing-easyblocks.html: ??? + # en/latest/Including_additional_Python_modules.html: ??? + en/latest/Installation.html: installing_easybuild.md + # en/latest/Installation_Alternative.html: ??? + # en/latest/Installing-Lmod-without-root-permissions.html: ??? + # en/latest/Installing-environment-modules-without-root-permissions.html: ??? + # en/latest/Installing_extensions_in_parallel.html: ??? + # en/latest/Integration_with_GitHub.html: ??? + en/latest/Introduction.html: what_is_easybuild.md + # en/latest/Locks.html: ??? + # en/latest/Logfiles.html: ??? + # en/latest/Maintainers.html: ??? + # en/latest/Manipulating_dependencies.html: ??? + # en/latest/Packaging_support.html: ??? + # en/latest/Partial_installations.html: ??? + # en/latest/Progress_bars.html: ??? + # en/latest/Python-2-3-compatibility.html: ??? + # en/latest/RPATH-support.html: ??? + # en/latest/Release_notes.html: ??? + # en/latest/Removed-functionality.html: ??? + # en/latest/Submitting_jobs.html: ??? + # en/latest/System_toolchain.html: ??? + # en/latest/Tracing_progress.html: ??? + # en/latest/Typical_workflow_example_with_WRF.html: ??? + # en/latest/Unit-tests.html: ??? + # en/latest/Useful-scripts.html: ??? + # en/latest/Useful_links.html: ??? + # en/latest/Using_external_modules.html: ??? + # en/latest/Using_the_EasyBuild_command_line.html: ??? + # en/latest/Wrapping_dependencies.html: ??? + # en/latest/Writing_easyconfig_files.html: ??? + # en/latest/Writing_yeb_easyconfig_files.html: ??? + # en/latest/api/easybuild.base.exceptions.html: ??? + # en/latest/api/easybuild.base.fancylogger.html: ??? + # en/latest/api/easybuild.base.frozendict.html: ??? + # en/latest/api/easybuild.base.generaloption.html: ??? + # en/latest/api/easybuild.base.optcomplete.html: ??? + # en/latest/api/easybuild.base.rest.html: ??? + # en/latest/api/easybuild.base.html: ??? + # en/latest/api/easybuild.base.testing.html: ??? + # en/latest/api/easybuild.base.wrapper.html: ??? + # en/latest/api/easybuild.framework.easyblock.html: ??? + # en/latest/api/easybuild.framework.easyconfig.constants.html: ??? + # en/latest/api/easybuild.framework.easyconfig.default.html: ??? + # en/latest/api/easybuild.framework.easyconfig.easyconfig.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.convert.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.format.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.one.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.pyheaderconfigobj.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.two.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.version.html: ??? + # en/latest/api/easybuild.framework.easyconfig.format.yeb.html: ??? + # en/latest/api/easybuild.framework.easyconfig.licenses.html: ??? + # en/latest/api/easybuild.framework.easyconfig.parser.html: ??? + # en/latest/api/easybuild.framework.easyconfig.html: ??? + # en/latest/api/easybuild.framework.easyconfig.style.html: ??? + # en/latest/api/easybuild.framework.easyconfig.templates.html: ??? + # en/latest/api/easybuild.framework.easyconfig.tools.html: ??? + # en/latest/api/easybuild.framework.easyconfig.tweak.html: ??? + # en/latest/api/easybuild.framework.easyconfig.types.html: ??? + # en/latest/api/easybuild.framework.extension.html: ??? + # en/latest/api/easybuild.framework.extensioneasyblock.html: ??? + # en/latest/api/easybuild.framework.html: ??? + # en/latest/api/easybuild.main.html: ??? + # en/latest/api/easybuild.html: ??? + # en/latest/api/easybuild.toolchains.cgmpich.html: ??? + # en/latest/api/easybuild.toolchains.cgmpolf.html: ??? + # en/latest/api/easybuild.toolchains.cgmvapich2.html: ??? + # en/latest/api/easybuild.toolchains.cgmvolf.html: ??? + # en/latest/api/easybuild.toolchains.cgompi.html: ??? + # en/latest/api/easybuild.toolchains.cgoolf.html: ??? + # en/latest/api/easybuild.toolchains.clanggcc.html: ??? + # en/latest/api/easybuild.toolchains.compiler.clang.html: ??? + # en/latest/api/easybuild.toolchains.compiler.craype.html: ??? + # en/latest/api/easybuild.toolchains.compiler.cuda.html: ??? + # en/latest/api/easybuild.toolchains.compiler.dummycompiler.html: ??? + # en/latest/api/easybuild.toolchains.compiler.gcc.html: ??? + # en/latest/api/easybuild.toolchains.compiler.ibmxl.html: ??? + # en/latest/api/easybuild.toolchains.compiler.inteliccifort.html: ??? + # en/latest/api/easybuild.toolchains.compiler.pgi.html: ??? + # en/latest/api/easybuild.toolchains.compiler.html: ??? + # en/latest/api/easybuild.toolchains.compiler.systemcompiler.html: ??? + # en/latest/api/easybuild.toolchains.craycce.html: ??? + # en/latest/api/easybuild.toolchains.craygnu.html: ??? + # en/latest/api/easybuild.toolchains.crayintel.html: ??? + # en/latest/api/easybuild.toolchains.craypgi.html: ??? + # en/latest/api/easybuild.toolchains.dummy.html: ??? + # en/latest/api/easybuild.toolchains.fft.crayfftw.html: ??? + # en/latest/api/easybuild.toolchains.fft.fftw.html: ??? + # en/latest/api/easybuild.toolchains.fft.intelfftw.html: ??? + # en/latest/api/easybuild.toolchains.fft.html: ??? + # en/latest/api/easybuild.toolchains.foss.html: ??? + # en/latest/api/easybuild.toolchains.fosscuda.html: ??? + # en/latest/api/easybuild.toolchains.gcc.html: ??? + # en/latest/api/easybuild.toolchains.gcccore.html: ??? + # en/latest/api/easybuild.toolchains.gcccuda.html: ??? + # en/latest/api/easybuild.toolchains.gimkl.html: ??? + # en/latest/api/easybuild.toolchains.gimpi.html: ??? + # en/latest/api/easybuild.toolchains.gimpic.html: ??? + # en/latest/api/easybuild.toolchains.giolf.html: ??? + # en/latest/api/easybuild.toolchains.giolfc.html: ??? + # en/latest/api/easybuild.toolchains.gmacml.html: ??? + # en/latest/api/easybuild.toolchains.gmkl.html: ??? + # en/latest/api/easybuild.toolchains.gmklc.html: ??? + # en/latest/api/easybuild.toolchains.gmpich.html: ??? + # en/latest/api/easybuild.toolchains.gmpich2.html: ??? + # en/latest/api/easybuild.toolchains.gmpolf.html: ??? + # en/latest/api/easybuild.toolchains.gmvapich2.html: ??? + # en/latest/api/easybuild.toolchains.gmvolf.html: ??? + # en/latest/api/easybuild.toolchains.gnu.html: ??? + # en/latest/api/easybuild.toolchains.goalf.html: ??? + # en/latest/api/easybuild.toolchains.goblf.html: ??? + # en/latest/api/easybuild.toolchains.golf.html: ??? + # en/latest/api/easybuild.toolchains.golfc.html: ??? + # en/latest/api/easybuild.toolchains.gomkl.html: ??? + # en/latest/api/easybuild.toolchains.gomklc.html: ??? + # en/latest/api/easybuild.toolchains.gompi.html: ??? + # en/latest/api/easybuild.toolchains.gompic.html: ??? + # en/latest/api/easybuild.toolchains.goolf.html: ??? + # en/latest/api/easybuild.toolchains.goolfc.html: ??? + # en/latest/api/easybuild.toolchains.gpsmpi.html: ??? + # en/latest/api/easybuild.toolchains.gpsolf.html: ??? + # en/latest/api/easybuild.toolchains.gqacml.html: ??? + # en/latest/api/easybuild.toolchains.gsmpi.html: ??? + # en/latest/api/easybuild.toolchains.gsolf.html: ??? + # en/latest/api/easybuild.toolchains.iccifort.html: ??? + # en/latest/api/easybuild.toolchains.iccifortcuda.html: ??? + # en/latest/api/easybuild.toolchains.ictce.html: ??? + # en/latest/api/easybuild.toolchains.iimkl.html: ??? + # en/latest/api/easybuild.toolchains.iimklc.html: ??? + # en/latest/api/easybuild.toolchains.iimpi.html: ??? + # en/latest/api/easybuild.toolchains.iimpic.html: ??? + # en/latest/api/easybuild.toolchains.iiqmpi.html: ??? + # en/latest/api/easybuild.toolchains.impich.html: ??? + # en/latest/api/easybuild.toolchains.impmkl.html: ??? + # en/latest/api/easybuild.toolchains.intel-para.html: ??? + # en/latest/api/easybuild.toolchains.intel.html: ??? + # en/latest/api/easybuild.toolchains.intelcuda.html: ??? + # en/latest/api/easybuild.toolchains.iomkl.html: ??? + # en/latest/api/easybuild.toolchains.iomklc.html: ??? + # en/latest/api/easybuild.toolchains.iompi.html: ??? + # en/latest/api/easybuild.toolchains.iompic.html: ??? + # en/latest/api/easybuild.toolchains.ipsmpi.html: ??? + # en/latest/api/easybuild.toolchains.iqacml.html: ??? + # en/latest/api/easybuild.toolchains.ismkl.html: ??? + # en/latest/api/easybuild.toolchains.linalg.acml.html: ??? + # en/latest/api/easybuild.toolchains.linalg.atlas.html: ??? + # en/latest/api/easybuild.toolchains.linalg.blacs.html: ??? + # en/latest/api/easybuild.toolchains.linalg.blis.html: ??? + # en/latest/api/easybuild.toolchains.linalg.flame.html: ??? + # en/latest/api/easybuild.toolchains.linalg.gotoblas.html: ??? + # en/latest/api/easybuild.toolchains.linalg.intelmkl.html: ??? + # en/latest/api/easybuild.toolchains.linalg.lapack.html: ??? + # en/latest/api/easybuild.toolchains.linalg.libsci.html: ??? + # en/latest/api/easybuild.toolchains.linalg.openblas.html: ??? + # en/latest/api/easybuild.toolchains.linalg.html: ??? + # en/latest/api/easybuild.toolchains.linalg.scalapack.html: ??? + # en/latest/api/easybuild.toolchains.mpi.craympich.html: ??? + # en/latest/api/easybuild.toolchains.mpi.intelmpi.html: ??? + # en/latest/api/easybuild.toolchains.mpi.mpich.html: ??? + # en/latest/api/easybuild.toolchains.mpi.mpich2.html: ??? + # en/latest/api/easybuild.toolchains.mpi.mvapich2.html: ??? + # en/latest/api/easybuild.toolchains.mpi.openmpi.html: ??? + # en/latest/api/easybuild.toolchains.mpi.psmpi.html: ??? + # en/latest/api/easybuild.toolchains.mpi.qlogicmpi.html: ??? + # en/latest/api/easybuild.toolchains.mpi.html: ??? + # en/latest/api/easybuild.toolchains.mpi.spectrummpi.html: ??? + # en/latest/api/easybuild.toolchains.pgi.html: ??? + # en/latest/api/easybuild.toolchains.pmkl.html: ??? + # en/latest/api/easybuild.toolchains.pomkl.html: ??? + # en/latest/api/easybuild.toolchains.pompi.html: ??? + # en/latest/api/easybuild.toolchains.html: ??? + # en/latest/api/easybuild.toolchains.system.html: ??? + # en/latest/api/easybuild.toolchains.xlcxlf.html: ??? + # en/latest/api/easybuild.toolchains.xlmpich.html: ??? + # en/latest/api/easybuild.toolchains.xlmpich2.html: ??? + # en/latest/api/easybuild.toolchains.xlmvapich2.html: ??? + # en/latest/api/easybuild.toolchains.xlompi.html: ??? + # en/latest/api/easybuild.tools.asyncprocess.html: ??? + # en/latest/api/easybuild.tools.build_details.html: ??? + # en/latest/api/easybuild.tools.build_log.html: ??? + # en/latest/api/easybuild.tools.config.html: ??? + # en/latest/api/easybuild.tools.configobj.html: ??? + # en/latest/api/easybuild.tools.containers.base.html: ??? + # en/latest/api/easybuild.tools.containers.common.html: ??? + # en/latest/api/easybuild.tools.containers.docker.html: ??? + # en/latest/api/easybuild.tools.containers.html: ??? + # en/latest/api/easybuild.tools.containers.singularity.html: ??? + # en/latest/api/easybuild.tools.containers.utils.html: ??? + # en/latest/api/easybuild.tools.convert.html: ??? + # en/latest/api/easybuild.tools.deprecated.html: ??? + # en/latest/api/easybuild.tools.docs.html: ??? + # en/latest/api/easybuild.tools.environment.html: ??? + # en/latest/api/easybuild.tools.filetools.html: ??? + # en/latest/api/easybuild.tools.github.html: ??? + # en/latest/api/easybuild.tools.hooks.html: ??? + # en/latest/api/easybuild.tools.include.html: ??? + # en/latest/api/easybuild.tools.jenkins.html: ??? + # en/latest/api/easybuild.tools.job.backend.html: ??? + # en/latest/api/easybuild.tools.job.gc3pie.html: ??? + # en/latest/api/easybuild.tools.job.pbs_python.html: ??? + # en/latest/api/easybuild.tools.job.html: ??? + # en/latest/api/easybuild.tools.job.slurm.html: ??? + # en/latest/api/easybuild.tools.module_generator.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.categorized_hmns.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.categorized_mns.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.easybuild_mns.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.hierarchical_mns.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.migrate_from_eb_to_hmns.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.mns.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.toolchain.html: ??? + # en/latest/api/easybuild.tools.module_naming_scheme.utilities.html: ??? + # en/latest/api/easybuild.tools.modules.html: ??? + # en/latest/api/easybuild.tools.multidiff.html: ??? + # en/latest/api/easybuild.tools.options.html: ??? + # en/latest/api/easybuild.tools.ordereddict.html: ??? + # en/latest/api/easybuild.tools.package.package_naming_scheme.easybuild_pns.html: ??? + # en/latest/api/easybuild.tools.package.package_naming_scheme.pns.html: ??? + # en/latest/api/easybuild.tools.package.package_naming_scheme.html: ??? + # en/latest/api/easybuild.tools.package.html: ??? + # en/latest/api/easybuild.tools.package.utilities.html: ??? + # en/latest/api/easybuild.tools.parallelbuild.html: ??? + # en/latest/api/easybuild.tools.py2vs3.py2.html: ??? + # en/latest/api/easybuild.tools.py2vs3.py3.html: ??? + # en/latest/api/easybuild.tools.py2vs3.html: ??? + # en/latest/api/easybuild.tools.repository.filerepo.html: ??? + # en/latest/api/easybuild.tools.repository.gitrepo.html: ??? + # en/latest/api/easybuild.tools.repository.hgrepo.html: ??? + # en/latest/api/easybuild.tools.repository.repository.html: ??? + # en/latest/api/easybuild.tools.repository.html: ??? + # en/latest/api/easybuild.tools.repository.svnrepo.html: ??? + # en/latest/api/easybuild.tools.robot.html: ??? + # en/latest/api/easybuild.tools.html: ??? + # en/latest/api/easybuild.tools.run.html: ??? + # en/latest/api/easybuild.tools.systemtools.html: ??? + # en/latest/api/easybuild.tools.testing.html: ??? + # en/latest/api/easybuild.tools.toolchain.compiler.html: ??? + # en/latest/api/easybuild.tools.toolchain.constants.html: ??? + # en/latest/api/easybuild.tools.toolchain.fft.html: ??? + # en/latest/api/easybuild.tools.toolchain.linalg.html: ??? + # en/latest/api/easybuild.tools.toolchain.mpi.html: ??? + # en/latest/api/easybuild.tools.toolchain.options.html: ??? + # en/latest/api/easybuild.tools.toolchain.html: ??? + # en/latest/api/easybuild.tools.toolchain.toolchain.html: ??? + # en/latest/api/easybuild.tools.toolchain.toolchainvariables.html: ??? + # en/latest/api/easybuild.tools.toolchain.utilities.html: ??? + # en/latest/api/easybuild.tools.toolchain.variables.html: ??? + # en/latest/api/easybuild.tools.utilities.html: ??? + # en/latest/api/easybuild.tools.variables.html: ??? + # en/latest/api/easybuild.tools.version.html: ??? + # en/latest/api/framework.easyblock.html: ??? + # en/latest/api/framework.easyconfig.constants.html: ??? + # en/latest/api/framework.easyconfig.default.html: ??? + # en/latest/api/framework.easyconfig.easyconfig.html: ??? + # en/latest/api/framework.easyconfig.format.convert.html: ??? + # en/latest/api/framework.easyconfig.format.format.html: ??? + # en/latest/api/framework.easyconfig.format.one.html: ??? + # en/latest/api/framework.easyconfig.format.pyheaderconfigobj.html: ??? + # en/latest/api/framework.easyconfig.format.html: ??? + # en/latest/api/framework.easyconfig.format.two.html: ??? + # en/latest/api/framework.easyconfig.format.version.html: ??? + # en/latest/api/framework.easyconfig.format.yeb.html: ??? + # en/latest/api/framework.easyconfig.licenses.html: ??? + # en/latest/api/framework.easyconfig.parser.html: ??? + # en/latest/api/framework.easyconfig.html: ??? + # en/latest/api/framework.easyconfig.style.html: ??? + # en/latest/api/framework.easyconfig.templates.html: ??? + # en/latest/api/framework.easyconfig.tools.html: ??? + # en/latest/api/framework.easyconfig.tweak.html: ??? + # en/latest/api/framework.easyconfig.types.html: ??? + # en/latest/api/framework.easystack.html: ??? + # en/latest/api/framework.extension.html: ??? + # en/latest/api/framework.extensioneasyblock.html: ??? + # en/latest/api/framework.html: ??? + # en/latest/api/index.html: ??? + # en/latest/api/modules.html: ??? + # en/latest/demos/bootstrapping.html: ??? + # en/latest/demos/configuring.html: ??? + # en/latest/demos/index.html: ??? + # en/latest/demos/review_pr.html: ??? + # en/latest/eb_a.html: ??? + # en/latest/eb_a_e_EB_WRF.html: ??? + # en/latest/eb_help.html: ??? + # en/latest/eb_list_easyblocks.html: ??? + # en/latest/eb_list_toolchains.html: ??? + en/latest/index.html: index.md + # en/latest/version-specific/Supported_software.html: ??? + # en/latest/version-specific/config_file_constants.html: ??? + # en/latest/version-specific/easyblocks.html: ??? + # en/latest/version-specific/easyconfig_constants.html: ??? + # en/latest/version-specific/easyconfig_license_constants.html: ??? + # en/latest/version-specific/easyconfig_parameters.html: ??? + # en/latest/version-specific/easyconfig_templates.html: ??? + # en/latest/version-specific/generic_easyblocks.html: ??? + # en/latest/version-specific/help.html: ??? + # en/latest/version-specific/index.html: ??? + # en/latest/version-specific/toolchain_opts.html: ??? + # en/latest/version-specific/toolchains.html: ??? + +markdown_extensions: + # notes, warnings, hints, ... + - admonition + # code blocks with syntax highlighting, graphs + - pymdownx.superfences + # clickable details + - pymdownx.details + # tabbed contents + - pymdownx.tabbed + - toc: + permalink: true +extra: + # add links in bottom right + social: + #- type: github + #icon: octicons/logo-github + #link: https://github.com/easybuilders + - icon: fontawesome/brands/twitter + link: https://twitter.com/easy_build + - icon: fontawesome/brands/youtube + link: https://www.youtube.com/c/easybuilders + - icon: fontawesome/solid/book + link: https://docs.easybuild.io diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..f4438b349 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +mkdocs +mkdocs-material +mkdocs-redirects +mkdocs-git-revision-date-localized-plugin