Skip to content
Snippets Groups Projects
Commit 3ab2b9df authored by James Catmore's avatar James Catmore Committed by Frank Winklmeier
Browse files

Updating contribution guide with general guidelines

parent 16beb382
No related branches found
No related tags found
1 merge request!88Updating contribution guide with general guidelines
...@@ -82,6 +82,48 @@ python -m pyspelling -j4 ...@@ -82,6 +82,48 @@ python -m pyspelling -j4
``` ```
This requires that `aspell` is installed locally (e.g. `apt install aspell aspell-en`). This requires that `aspell` is installed locally (e.g. `apt install aspell aspell-en`).
## General guidelines
Please abide by the following guidelines when adding new material to the site.
### Location of source material
* If you start a new topic, put the relevant pages in a directory with a logical name, and select the location in the menu structure via the top-level `mkdocs.yml` configuration file.
* Directories and files should have short and logical names, and if multiple strings are used they should be separated by a hyphen, e.g. `software-infrastructure` not `SoftwareInfrastructure` etc.
### Internal links, locations and data
Links to other pages within this site should use the following: `[Link text](/path/to/page.md)`. Omit the `docs` head directory. Don't add the domain name to internal links. Files in the same directory can just be pointed at directly with no path: `[Link text](page.md)`
Make use of pre-defined data and locations where possible. For instance:
* Links to the analysis software tutorial which are still on the legacy site: `{{locations.analysisSWTutorial}}`
* GitLab: `{{data.athena_git_url}}/-/tree/...` or `{{data.athena_git_url}}/-/blob/...`
These variables are defined in [variables.yaml](data/variables.yaml).
New variables should have a meaningful name based on the topic they discuss. For example, if a topic discusses remote proxy login, it should be named
```
locations.remote_proxy_login
```
or similar.
### Headings
Each page can have only one top level heading (`# Title`) which should resemble the name on the menu. All other headings below it should be `##` or lower. Capitalise the first word of the title and all words within the title (except articles, prepositions and conjunctions).
### Quoting code snippets from GitLab
If you want to include a block of code from GitLab, don't copy-and-paste it but instead quote it directly, e.g.:
````
```python
--8<-- "{{data.athena_git_url}}/-/raw/main/Control/AthenaExamples/AthExHiveAthenaPool/python/WriteHiveDataObjConfig.py"
```
````
In this way the quoted code will update as the code on GitLab is updated.
## Site Description ## Site Description
This site makes use of a few [MkDocs](https://www.mkdocs.org) markdown extensions, which you can see under `markdown_extensions:` in the [mkdocs.yml](mkdocs.yml) file, and the [macros](https://mkdocs-macros-plugin.readthedocs.io/en/latest/) plugin. This plugin allows a lot more complicated behaviour than base MkDocs, and also reads in the [variables](data/variables.yaml) file. This site makes use of a few [MkDocs](https://www.mkdocs.org) markdown extensions, which you can see under `markdown_extensions:` in the [mkdocs.yml](mkdocs.yml) file, and the [macros](https://mkdocs-macros-plugin.readthedocs.io/en/latest/) plugin. This plugin allows a lot more complicated behaviour than base MkDocs, and also reads in the [variables](data/variables.yaml) file.
...@@ -93,3 +135,4 @@ Each merge request is deployed into a staging area using [GitLab Pages parallel ...@@ -93,3 +135,4 @@ Each merge request is deployed into a staging area using [GitLab Pages parallel
## Migration ## Migration
For tips about the migration of the ATLAS software documentation from Jekyll to MkDocs, please have a look at the [Migration](MIGRATION.md) document. For tips about the migration of the ATLAS software documentation from Jekyll to MkDocs, please have a look at the [Migration](MIGRATION.md) document.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment