1- # Contributing
1+ # Contributing {#contributing}
22
33[ commitizen ] : https://github.com/commitizen-tools/commitizen
44[ article from GeeksforGeeks ] : https://www.geeksforgeeks.org/how-to-create-a-new-branch-in-git/
@@ -21,7 +21,7 @@ If you are familiar with contributing to open source software, you can safely
2121skip ahead to [ Core Principles] . Otherwise, read the following section to learn
2222how to fork a repo and open a PR.
2323
24- ## Getting Started
24+ ## Getting Started {#ch-getting-started}
2525
2626To begin contributing to HJR, you will first need to create a fork off of the
2727main branch in order to make changes. For info on how to do this, we recommend
@@ -33,7 +33,7 @@ from your fork. To do so, you can read this [article from GeeksforGeeks] that
3333will also explain branches for you. Don't worry too much about the technical
3434details, the most important thing is to make and switch to a branch from HEAD.
3535
36- ### Commit format
36+ ### Commit Format {#sec-commit- format}
3737
3838> [ !TIP]
3939> Our dev shell allows for interactive commits, through the means of
@@ -77,7 +77,7 @@ After you have setup a PR, it will be [reviewed] by maintainers and changes may
7777be requested. Make the changes requested and eventually it will likely be
7878accepted and merged into main.
7979
80- ## Core Principles
80+ ## Core Principles {#ch-core-principles}
8181
8282In creating HJR, we had a few principles in mind for development:
8383
@@ -88,13 +88,13 @@ In creating HJR, we had a few principles in mind for development:
8888Please keep these in mind as you read through our general guidelines for
8989contributing.
9090
91- ## Guidelines
91+ ## Guidelines {#ch-guidelines}
9292
9393These guidelines, are, of course, merely guidelines. There are and will continue
9494to be exceptions. However, do your best to stick to them, and keep in mind that
9595reviewers will hold you to them as much as possible.
9696
97- ### Aliases
97+ ### Aliases {#sec-aliases}
9898
9999At the top of any module, there should always be a ` let ... in ` set. Within
100100this, functions should have their location aliased, cfg should be aliased, and
@@ -132,7 +132,7 @@ and `type`, so the alias name is just `toml`.
132132Always be sure to include ` cfg ` that links to the point where options are
133133configured by the user.
134134
135- ### Writing Options
135+ ### Writing Options {#sec-writing-options}
136136
137137Writing new options is the core of any new module. It is also the easiest place
138138to blunder. As stated above, a core principle of HJR is to minimize the number
@@ -254,7 +254,7 @@ default. This can also be used in `mkOption`, but it is more common to use it in
254254If you do not set this, the docs builder will break due to not knowing how to
255255resolve the reference to ` config ` .
256256
257- ### Conditionals in Modules
257+ ### Conditionals in Modules {#sec-conditionals-in-modules}
258258
259259Always use a ` mkIf ` before the ` config ` section. Example:
260260
@@ -366,7 +366,7 @@ First, the file is only written if any of the options to write to the file are
366366set. ` optionalString ` is then used to compile each option's results in an
367367optimized and clean way.
368368
369- ### Extending RumLib
369+ ### Extending RumLib {#sec-extending-rumlib}
370370
371371Rather than having functions scattered throughout the module collection, we
372372would rather keep our directories organized and purposeful. Therefore, all
@@ -394,7 +394,7 @@ Additionally, please follow how lib is structured in Nixpkgs. For example, the
394394custom function ` attrsNamesHasPrefix ` is under ` attrsets ` to signify that it
395395operates on an attribute set, just like in Nixpkgs.
396396
397- ### Docs
397+ ### Docs {#sec-docs}
398398
399399If you would like to contribute to our documentation, we ask a few things of
400400you:
@@ -430,12 +430,12 @@ Make sure to use {file}`lib.options.mkEnableOption`, like is done in
430430If you do not do it like this, the link check on the docs will fail, since our
431431docs generator will attempt to make hyperlinks out of those function names.
432432
433- ### Tests
433+ ### Tests {#sec-tests}
434434
435435Please refer to the [ testing documentation] for more information on how tests
436436work.
437437
438- ## Reviewing a PR
438+ ## Reviewing a PR {#ch-reviewing-a-pr}
439439
440440Even if you do not have write-access, you can always leave a review on someone
441441else's PR. Again, GitHub has great [ documentation on reviewing PRs] . This is
0 commit comments