mirror of
https://github.com/openziti/zrok.git
synced 2024-11-22 16:13:47 +01:00
Merge pull request #496 from openziti/contributing-with-style
initial code style guides
This commit is contained in:
commit
2ef52607f0
256
.markdownlint.yaml
Normal file
256
.markdownlint.yaml
Normal file
@ -0,0 +1,256 @@
|
|||||||
|
# Example markdownlint YAML configuration with all properties set to their default value
|
||||||
|
|
||||||
|
# Default state for all rules
|
||||||
|
default: true
|
||||||
|
|
||||||
|
# Path to configuration file to extend
|
||||||
|
extends: null
|
||||||
|
|
||||||
|
# MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time
|
||||||
|
MD001: true
|
||||||
|
|
||||||
|
# deprecated in favor of MD041
|
||||||
|
# MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading
|
||||||
|
|
||||||
|
# MD003/heading-style/header-style - Heading style
|
||||||
|
MD003:
|
||||||
|
# Heading style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD004/ul-style - Unordered list style
|
||||||
|
MD004:
|
||||||
|
# List style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD005/list-indent - Inconsistent indentation for list items at the same level
|
||||||
|
MD005: true
|
||||||
|
|
||||||
|
# MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line
|
||||||
|
MD006: true
|
||||||
|
|
||||||
|
# MD007/ul-indent - Unordered list indentation
|
||||||
|
MD007:
|
||||||
|
# Spaces for indent
|
||||||
|
indent: 2
|
||||||
|
# Whether to indent the first level of the list
|
||||||
|
start_indented: false
|
||||||
|
# Spaces for first level indent (when start_indented is set)
|
||||||
|
start_indent: 2
|
||||||
|
|
||||||
|
# MD009/no-trailing-spaces - Trailing spaces
|
||||||
|
MD009: false
|
||||||
|
# # Spaces for line break
|
||||||
|
# br_spaces: 2
|
||||||
|
# # Allow spaces for empty lines in list items
|
||||||
|
# list_item_empty_lines: false
|
||||||
|
# # Include unnecessary breaks
|
||||||
|
# strict: false
|
||||||
|
|
||||||
|
# MD010/no-hard-tabs - Hard tabs
|
||||||
|
MD010:
|
||||||
|
# Include code blocks
|
||||||
|
code_blocks: true
|
||||||
|
# Fenced code languages to ignore
|
||||||
|
ignore_code_languages: []
|
||||||
|
# Number of spaces for each hard tab
|
||||||
|
spaces_per_tab: 1
|
||||||
|
|
||||||
|
# MD011/no-reversed-links - Reversed link syntax
|
||||||
|
MD011: true
|
||||||
|
|
||||||
|
# MD012/no-multiple-blanks - Multiple consecutive blank lines
|
||||||
|
MD012:
|
||||||
|
# Consecutive blank lines
|
||||||
|
maximum: 1
|
||||||
|
|
||||||
|
# MD013/line-length - Line length
|
||||||
|
line_length: false
|
||||||
|
# MD013:
|
||||||
|
# # Number of characters
|
||||||
|
# line_length: 80
|
||||||
|
# # Number of characters for headings
|
||||||
|
# heading_line_length: 80
|
||||||
|
# # Number of characters for code blocks
|
||||||
|
# code_block_line_length: 80
|
||||||
|
# # Include code blocks
|
||||||
|
# code_blocks: true
|
||||||
|
# # Include tables
|
||||||
|
# tables: true
|
||||||
|
# # Include headings
|
||||||
|
# headings: true
|
||||||
|
# # Include headings
|
||||||
|
# headers: true
|
||||||
|
# # Strict length checking
|
||||||
|
# strict: false
|
||||||
|
# # Stern length checking
|
||||||
|
# stern: false
|
||||||
|
|
||||||
|
# MD014/commands-show-output - Dollar signs used before commands without showing output
|
||||||
|
MD014: true
|
||||||
|
|
||||||
|
# MD018/no-missing-space-atx - No space after hash on atx style heading
|
||||||
|
MD018: true
|
||||||
|
|
||||||
|
# MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading
|
||||||
|
MD019: true
|
||||||
|
|
||||||
|
# MD020/no-missing-space-closed-atx - No space inside hashes on closed atx style heading
|
||||||
|
MD020: true
|
||||||
|
|
||||||
|
# MD021/no-multiple-space-closed-atx - Multiple spaces inside hashes on closed atx style heading
|
||||||
|
MD021: true
|
||||||
|
|
||||||
|
# MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines
|
||||||
|
MD022:
|
||||||
|
# Blank lines above heading
|
||||||
|
lines_above: 1
|
||||||
|
# Blank lines below heading
|
||||||
|
lines_below: 1
|
||||||
|
|
||||||
|
# MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line
|
||||||
|
MD023: true
|
||||||
|
|
||||||
|
# MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
|
||||||
|
MD024:
|
||||||
|
# Only check sibling headings
|
||||||
|
allow_different_nesting: false
|
||||||
|
# Only check sibling headings
|
||||||
|
siblings_only: false
|
||||||
|
|
||||||
|
# MD025/single-title/single-h1 - Multiple top-level headings in the same document
|
||||||
|
MD025:
|
||||||
|
# Heading level
|
||||||
|
level: 1
|
||||||
|
# RegExp for matching title in front matter
|
||||||
|
front_matter_title: "^\\s*title\\s*[:=]"
|
||||||
|
|
||||||
|
# MD026/no-trailing-punctuation - Trailing punctuation in heading
|
||||||
|
MD026:
|
||||||
|
# Punctuation characters
|
||||||
|
punctuation: ".,;:!。,;:!"
|
||||||
|
|
||||||
|
# MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol
|
||||||
|
MD027: true
|
||||||
|
|
||||||
|
# MD028/no-blanks-blockquote - Blank line inside blockquote
|
||||||
|
MD028: true
|
||||||
|
|
||||||
|
# MD029/ol-prefix - Ordered list item prefix
|
||||||
|
MD029:
|
||||||
|
# List style
|
||||||
|
style: "one_or_ordered"
|
||||||
|
|
||||||
|
# MD030/list-marker-space - Spaces after list markers
|
||||||
|
MD030:
|
||||||
|
# Spaces for single-line unordered list items
|
||||||
|
ul_single: 1
|
||||||
|
# Spaces for single-line ordered list items
|
||||||
|
ol_single: 1
|
||||||
|
# Spaces for multi-line unordered list items
|
||||||
|
ul_multi: 1
|
||||||
|
# Spaces for multi-line ordered list items
|
||||||
|
ol_multi: 1
|
||||||
|
|
||||||
|
# MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines
|
||||||
|
MD031:
|
||||||
|
# Include list items
|
||||||
|
list_items: true
|
||||||
|
|
||||||
|
# MD032/blanks-around-lists - Lists should be surrounded by blank lines
|
||||||
|
MD032: true
|
||||||
|
|
||||||
|
# MD033/no-inline-html - Inline HTML
|
||||||
|
MD033:
|
||||||
|
# Allowed elements
|
||||||
|
allowed_elements: []
|
||||||
|
|
||||||
|
# MD034/no-bare-urls - Bare URL used
|
||||||
|
MD034: true
|
||||||
|
|
||||||
|
# MD035/hr-style - Horizontal rule style
|
||||||
|
MD035:
|
||||||
|
# Horizontal rule style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading
|
||||||
|
MD036:
|
||||||
|
# Punctuation characters
|
||||||
|
punctuation: ".,;:!?。,;:!?"
|
||||||
|
|
||||||
|
# MD037/no-space-in-emphasis - Spaces inside emphasis markers
|
||||||
|
MD037: true
|
||||||
|
|
||||||
|
# MD038/no-space-in-code - Spaces inside code span elements
|
||||||
|
MD038: true
|
||||||
|
|
||||||
|
# MD039/no-space-in-links - Spaces inside link text
|
||||||
|
MD039: true
|
||||||
|
|
||||||
|
# MD040/fenced-code-language - Fenced code blocks should have a language specified
|
||||||
|
MD040: true
|
||||||
|
|
||||||
|
# MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading
|
||||||
|
MD041:
|
||||||
|
# Heading level
|
||||||
|
level: 1
|
||||||
|
# RegExp for matching title in front matter
|
||||||
|
front_matter_title: "^\\s*title\\s*[:=]"
|
||||||
|
|
||||||
|
# MD042/no-empty-links - No empty links
|
||||||
|
MD042: true
|
||||||
|
|
||||||
|
# disabled because many Markdown files are partials without headings and intended for transclusion
|
||||||
|
# MD043/required-headings/required-headers - Required heading structure
|
||||||
|
# MD043:
|
||||||
|
# # List of headings
|
||||||
|
# headings: []
|
||||||
|
# # List of headings
|
||||||
|
# headers: []
|
||||||
|
|
||||||
|
# MD044/proper-names - Proper names should have the correct capitalization
|
||||||
|
MD044:
|
||||||
|
# List of proper names
|
||||||
|
names: []
|
||||||
|
# Include code blocks
|
||||||
|
code_blocks: true
|
||||||
|
# Include HTML elements
|
||||||
|
html_elements: true
|
||||||
|
|
||||||
|
# MD045/no-alt-text - Images should have alternate text (alt text)
|
||||||
|
MD045: true
|
||||||
|
|
||||||
|
# MD046/code-block-style - Code block style
|
||||||
|
MD046:
|
||||||
|
# Block style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD047/single-trailing-newline - Files should end with a single newline character
|
||||||
|
MD047: true
|
||||||
|
|
||||||
|
# MD048/code-fence-style - Code fence style
|
||||||
|
MD048:
|
||||||
|
# Code fence style
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD049/emphasis-style - Emphasis style should be consistent
|
||||||
|
MD049:
|
||||||
|
# Emphasis style should be consistent
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD050/strong-style - Strong style should be consistent
|
||||||
|
MD050:
|
||||||
|
# Strong style should be consistent
|
||||||
|
style: "consistent"
|
||||||
|
|
||||||
|
# MD051/link-fragments - Link fragments should be valid
|
||||||
|
MD051: true
|
||||||
|
|
||||||
|
# MD052/reference-links-images - Reference links and images should use a label that is defined
|
||||||
|
MD052: true
|
||||||
|
|
||||||
|
# MD053/link-image-reference-definitions - Link and image reference definitions should be needed
|
||||||
|
MD053:
|
||||||
|
# Ignored definitions
|
||||||
|
ignored_definitions: [
|
||||||
|
"//"
|
||||||
|
]
|
@ -4,3 +4,52 @@ NetFoundry welcomes all and any contributions. All open source projects managed
|
|||||||
[guide for contributions](https://netfoundry.github.io/policies/CONTRIBUTING.html).
|
[guide for contributions](https://netfoundry.github.io/policies/CONTRIBUTING.html).
|
||||||
|
|
||||||
If you are eager to contribute to a NetFoundry-managed open source project please read and act accordingly.
|
If you are eager to contribute to a NetFoundry-managed open source project please read and act accordingly.
|
||||||
|
|
||||||
|
## Project Styles
|
||||||
|
|
||||||
|
This project uses several programming languages. Each language has its own style guide specifying any language-specific
|
||||||
|
conventions and idioms. The log formatting examples for Go are applicable to all languages.
|
||||||
|
|
||||||
|
### Markdown
|
||||||
|
|
||||||
|
+ This project uses [GitHub Flavored Markdown](https://github.github.com/gfm/).
|
||||||
|
+ Wrap lines at 120 characters if the audience is expected to read the source.
|
||||||
|
+ Do not wrap lines if the audience is expected to read the rendered output as HTML.
|
||||||
|
+ Use [Markdownlint](https://github.com/DavidAnson/markdownlint) with [the configuration file](.markdownlint.yaml) committed to this repository to find formatting problems.
|
||||||
|
|
||||||
|
### Go
|
||||||
|
|
||||||
|
+ This project uses [Go](https://golang.org/) language conventions.
|
||||||
|
+ Organize imports as a single block in alphabetical order without empty lines.
|
||||||
|
+ Begin log messages with a lowercase letter and do not end with punctuation. This log formatting guidance applies to all languages, not only Go.
|
||||||
|
|
||||||
|
Format log messages that report errors.
|
||||||
|
|
||||||
|
```go
|
||||||
|
logrus.Errorf("tried a thing and failed: %v", err)
|
||||||
|
```
|
||||||
|
|
||||||
|
Format in-line information in informational log messages.
|
||||||
|
|
||||||
|
```go
|
||||||
|
logrus.Infof("the expected value '%v' arrived as '%v'", expected, actual)
|
||||||
|
```
|
||||||
|
|
||||||
|
Format in-line information in error log messages.
|
||||||
|
|
||||||
|
```go
|
||||||
|
logrus.Errorf("the expected value '%v did not compute: %v", value, err)
|
||||||
|
```
|
||||||
|
|
||||||
|
+ Format log messages with format strings and arguments like 'tried a thing and failed: %s'.
|
||||||
|
|
||||||
|
### Python
|
||||||
|
|
||||||
|
+ This project uses [Python](https://www.python.org/) language conventions PEP-8.
|
||||||
|
+ Use [flake8](https://flake8.pycqa.org/en/latest/) with [the configuration file](.flake8) committed to this repository to find formatting problems.
|
||||||
|
+ Use Go log formatting guidance for Python too.
|
||||||
|
|
||||||
|
### Docusaurus
|
||||||
|
|
||||||
|
+ This project uses [Docusaurus](https://docusaurus.io/) with NodeJS 18 to build static content for docs.zrok.io.
|
||||||
|
+ Use `npm` to manage Node modules, not `yarn` (Ken plans to switch from `npm` to `yarn` if no one else does).
|
||||||
|
Loading…
Reference in New Issue
Block a user