diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 00000000..c5c6b37e --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,25 @@ +# Authors + +GeophysicalModelGenerator.jl's development is coordinated by a group of *principal developers*, +who are also its main contributors and who can be contacted in case of +questions about GeophysicalModelGenerator.jl. In addition, there are *contributors* who have +provided substantial additions or modifications. Together, these two groups form +"The GeophysicalModelGenerator.jl Authors" as mentioned in the [LICENSE.md](LICENSE.md) file. + +## Principal Developers +* [Boris Kaus](https://www.geosciences.uni-mainz.de/geophysics-and-geodynamics/team/univ-prof-dr-boris-kaus/), + Johannes Gutenberg University Mainz, Germany +* [Marcel Thielmann](https://www.staff.uni-bayreuth.de/~bt303651/), + Bayrisches Geoinstitut, University of Bayreuth, Germany + + +## Contributors +The following people contributed major additions or modifications to GeophysicalModelGenerator.jl and +are listed in alphabetical order: + +* Pascal Aellig +* Luca De Siena +* Andrea Piccolo +* Christian Schuler +* Arne Spang +* Tatjana Weiler diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..37e79e31 --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,131 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to +[Michael Schlottke-Lakemper](mailto:m.schlottke-lakemper@acom.rwth-aachen.de), +[Hendrik Ranocha](mailto:mail@ranocha.de), +or any other of the principal developers responsible for enforcement listed in +[AUTHORS.md](AUTHORS.md). +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series +of actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or +permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within +the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.0, available at +https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct +enforcement ladder](https://github.com/mozilla/diversity). + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see the FAQ at +https://www.contributor-covenant.org/faq. Translations are available at +https://www.contributor-covenant.org/translations. diff --git a/docs/make.jl b/docs/make.jl index c01b742c..bbc8073c 100644 --- a/docs/make.jl +++ b/docs/make.jl @@ -4,6 +4,36 @@ using Documenter #DocMeta.setdocmeta!(GeophysicalModelGenerator, :DocTestSetup, :(using GeophysicalModelGenerator); recursive=true) +# Get GeophysicalModelGenerator.jl root directory +GMG_root_dir = dirname(@__DIR__) + +include(joinpath(GMG_root_dir, "docs", "man", "make.jl")) + +# Copy list of authors to not need to synchronize it manually +authors_text = read(joinpath(GMG_root_dir, "AUTHORS.md"), String) +authors_text = replace(authors_text, "in the [LICENSE.md](LICENSE.md) file" => "under [License](@ref)") +write(joinpath(@__DIR__, "src", "man", "authors.md"), authors_text) + + +# Copy some files from the repository root directory to the docs and modify them +# as necessary +# Based on: https://github.com/ranocha/SummationByPartsOperators.jl/blob/0206a74140d5c6eb9921ca5021cb7bf2da1a306d/docs/make.jl#L27-L41 +open(joinpath(@__DIR__, "src", "man", "code_of_conduct.md"), "w") do io + # Point to source license file + println(io, """ + ```@meta + EditURL = "https://github.com/JuliaGeodynamics/GeophysicalModelGenerator.jl/blob/main/CODE_OF_CONDUCT.md" + ``` + """) + # Write the modified contents + println(io, "# [Code of Conduct](@id code-of-conduct)") + println(io, "") + for line in eachline(joinpath(dirname(@__DIR__), "CODE_OF_CONDUCT.md")) + line = replace(line, "[AUTHORS.md](AUTHORS.md)" => "[Authors](@ref)") + println(io, "> ", line) + end +end + makedocs(; modules=[GeophysicalModelGenerator], authors="Marcel Thielmann, Boris Kaus", @@ -26,7 +56,7 @@ makedocs(; "ISC earthquake data" => "man/tutorial_ISC_data.md", "Plot GPS vectors" => "man/tutorial_GPS.md", "Read UTM data" => "man/tutorial_UTM.md", - "VoteMaps" => "man/Tutorial_Votemaps.md", + "VoteMaps" => "man/Tutorial_Votemaps.md", "Kilometer-scale volcano" => "man/tutorial_local_Flegrei.md", "Generating LaMEM model" => "man/LaPalma_example.md", "Create movies" => "man/tutorial_time_Seismicity.md" @@ -43,8 +73,12 @@ makedocs(; "LaMEM" => "man/lamem.md", "Profile Processing" => "man/profile_processing.md" ], - "List of functions" => "man/listfunctions.md" - ], + "List of functions" => "man/listfunctions.md", + "Authors" => "man/authors.md", + "Contributing" => "man/contributing.md", + "Code of Conduct" => "code_of_conduct.md", + "License" => "license.md", + ], ) deploydocs(; @@ -56,4 +90,3 @@ deploydocs(; forcepush=true, push_preview = true ) -