Skip to content

Commit

Permalink
Work through the tipps from vale.
Browse files Browse the repository at this point in the history
  • Loading branch information
kellertuer committed Oct 19, 2024
1 parent 03fc158 commit fb1f1a1
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 21 deletions.
36 changes: 17 additions & 19 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,51 @@
# 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/).

#### Table of contents

- [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
1 change: 1 addition & 0 deletions docs/styles/config/vocabularies/LieGroups/accept.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
julia
Julia
LieGroups.jl
Lie algebra
Lie algebras
Expand Down
4 changes: 2 additions & 2 deletions src/documentation_glossary.jl
Original file line number Diff line number Diff line change
Expand Up @@ -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`

Expand All @@ -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...)
Expand Down

0 comments on commit fb1f1a1

Please sign in to comment.