diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a5bba87..33fcc97 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,7 +1,7 @@ # Contributing to `LieGroups.jl` First, thanks for taking the time to contribute. -Any contribution is appreciated and welcome. +We appreciate and welcome any contribution. The following is a set of guidelines to [`LieGroups.jl`](https://juliamanifolds.github.io/LieGroups.jl/). @@ -9,45 +9,43 @@ The following is a set of guidelines to [`LieGroups.jl`](https://juliamanifolds. - [Contributing to `LieGroups.jl`](#Contributing-to-manoptjl) - [Table of Contents](#Table-of-Contents) - - [I just have a question](#I-just-have-a-question) - - [How can I file an issue?](#How-can-I-file-an-issue) - - [How can I contribute?](#How-can-I-contribute) + - [How to just ask a question](#I-just-have-a-question) + - [How to file an issue](#How-can-I-file-an-issue) + - [How to contribute](#How-can-I-contribute) - [Code style](#Code-style) -## I just have a question +## How to just ask a question The developer can most easily be reached in the Julia Slack channel [#manifolds](https://julialang.slack.com/archives/CP4QF0K5Z). You can apply for the Julia Slack workspace [here](https://julialang.org/slack/) if you haven't joined yet. You can also ask your question on [discourse.julialang.org](https://discourse.julialang.org). -## How can I file an issue? +## How to file an issue If you found a bug or want to propose a feature, please open an issue in within the [GitHub repository](https://github.com/JuliaManifolds/LieGroups.jl/issues). -## How can I contribute? +## How to contribute -Currently we are still consolidating most details and defaults, but feel free to contribute to these discussions within this repository. +Currently most details are still work-in-progress. +Feel free to contribute ideas, features you would like to see, Lie groups you want to have or would like to contribute, or any other idea for `LieGroups.jl`. For these, use either the [discussions](https://github.com/JuliaManifolds/LieGroups.jl/discussions) or [issues](https://github.com/JuliaManifolds/LieGroups.jl/issues) in the [GitHub repository](https://github.com/JuliaManifolds/LieGroups.jl) ## Code style -Try to follow the [documentation guidelines](https://docs.julialang.org/en/v1/manual/documentation/) from the Julia documentation as well as [Blue Style](https://github.com/invenia/BlueStyle). -Run [`JuliaFormatter.jl`](https://github.com/domluna/JuliaFormatter.jl) on the repository in the way set in the `.JuliaFormatter.toml` file, which enforces a number of conventions consistent with the Blue Style. +Please follow the [documentation guidelines](https://docs.julialang.org/en/v1/manual/documentation/) from the Julia documentation as well as [Blue Style](https://github.com/invenia/BlueStyle). +Run [`JuliaFormatter.jl`](https://github.com/domluna/JuliaFormatter.jl) on the repository running `using JuliaFormatter; format(".")` on the main folder of the project. Please follow a few internal conventions: -- Any implemented function should be accompanied by its mathematical formulae if a closed form exists. -- A Lie group, a Lie group action or a Lie algebra should be implemented in it own file +- Include the mathematical formulae for any implemented function if a closed form exists. +- Define a Lie group, a Lie group action, or a Lie algebra in its own file. Include all related functions in the same file - an alphabetical order of functions in every file is preferable. - The preceding implies that the mutating variant of a function follows the non-mutating variant. -- usually, both the allocating and the mutating variants of a function should be documented. For avoiding duplication, one doc string attached to both is preferrable +- Document both the allocating and the mutating variants of a function. To avoid duplication, attach one doc string defined before both functions and attach it to both. - There should be no dangling `=` signs. -- Always add a newline between things of different types (struct/method/const). -- Always add a newline between methods for different functions (including allocating/mutating variants). +- Add a newline between things of different types (struct/method/const). +- Add a newline between methods for different functions (including allocating/mutating variants). - Prefer to have no newline between methods for the same function; when reasonable, merge the documentation strings. - All `import`/`using`/`include` should be in the main module file. -- `import` is discouraged and the explicit full name, like `Base.exp` should be used when implementing functions - -Concerning documentation - +- Avoid using `import` and use the explicit full name, like `Base.exp`, when implementing functions, that extend functions of other packages. - if possible provide both mathematical formulae and literature references using [DocumenterCitations.jl](https://juliadocs.org/DocumenterCitations.jl/stable/) and BibTeX where possible - Always document all input variables and keyword arguments \ No newline at end of file diff --git a/docs/styles/config/vocabularies/LieGroups/accept.txt b/docs/styles/config/vocabularies/LieGroups/accept.txt index 2927698..043f7a7 100644 --- a/docs/styles/config/vocabularies/LieGroups/accept.txt +++ b/docs/styles/config/vocabularies/LieGroups/accept.txt @@ -1,4 +1,5 @@ julia +Julia LieGroups.jl Lie algebra Lie algebras diff --git a/src/documentation_glossary.jl b/src/documentation_glossary.jl index 4334faa..ff940bd 100644 --- a/src/documentation_glossary.jl +++ b/src/documentation_glossary.jl @@ -9,7 +9,7 @@ # * links # * notes # -# to keep naming, notation, and formatting in a unifed way +# to keep naming, notation, and formatting in a unified way # In general every dictionary here can be either `:Symbol-> String` or `:Symbol -> Dictionary enrties` @@ -28,7 +28,7 @@ if that entrs is * a function, it is called with `args...` and `kwargs...` passed * a dictionary, then the arguments and keyword arguments are passed to this dictionary, assuming `args[1]` is a symbol """ -#Do not attach the doc string here for now, since there is no internals section in the documenttion yet +#Do not attach the doc string here for now, since there is no internals section in the documentation yet glossary(s::Symbol, args...; kwargs...) = glossary(_manopt_glossary, s, args...; kwargs...) function glossary(g::_LIEGROUPS_DOC_TYPE, s::Symbol, args...; kwargs...) return glossary(g[s], args...; kwargs...)