Skip to content

Commit bc87977

Browse files
ci: practicalli standard workflows
- CODEOWNERS to set default reviewer for pull requests - FUNDING to add repository to GitHub sponsorship - megalinter workflow for quality checks and report - publish-book to generate a new version of the MkDocs book and push to gh-pages branch - scheduled-version-check monthly report on new library versions available
1 parent 91e7148 commit bc87977

11 files changed

Lines changed: 638 additions & 0 deletions

.github/CODEOWNERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Codeowners
2+
3+
# Default owner accounts for the current repository
4+
# Automatically added as a reviewr to all pull requests (not including drafts)
5+
6+
* @practicalli-john

.github/FUNDING.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
# GitHub Supported funding model platforms
3+
4+
github: [practicali-john]
5+
# patreon: # Replace with a single Patreon username
6+
# open_collective: # Replace with a single Open Collective username
7+
# ko_fi: # Replace with a single Ko-fi username
8+
# tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
9+
# community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
10+
# liberapay: # Replace with a single Liberapay username
11+
# issuehunt: # Replace with a single IssueHunt username
12+
# otechie: # Replace with a single Otechie username
13+
# custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
{
2+
"ignorePatterns": [
3+
{
4+
"pattern": "^http://localhost"
5+
},
6+
{
7+
"pattern": "^mailto:*"
8+
},
9+
{
10+
"pattern": "^#*"
11+
},
12+
{
13+
"pattern": "^https://127.0.0.0/"
14+
}
15+
],
16+
"timeout": "20s",
17+
"retryOn429": true,
18+
"retryCount": 5,
19+
"fallbackRetryDelay": "30s",
20+
"aliveStatusCodes": [
21+
200,
22+
206
23+
]
24+
}

.github/config/markdown-lint.jsonc

Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
// Example markdownlint configuration with all properties set to their default value
2+
{
3+
4+
// Default state for all rules
5+
"default": true,
6+
7+
// Path to configuration file to extend
8+
"extends": null,
9+
10+
// MD001/heading-increment/header-increment - Heading levels should only increment by one level at a time
11+
"MD001": true,
12+
13+
// MD002/first-heading-h1/first-header-h1 - First heading should be a top-level heading
14+
"MD002": {
15+
// Heading level
16+
"level": 1
17+
},
18+
19+
// MD003/heading-style/header-style - Heading style
20+
"MD003": {
21+
// Heading style
22+
"style": "consistent"
23+
},
24+
25+
// MD004/ul-style - Unordered list style
26+
"MD004": {
27+
// List style
28+
"style": "consistent"
29+
},
30+
31+
// MD005/list-indent - Inconsistent indentation for list items at the same level
32+
"MD005": true,
33+
34+
// MD006/ul-start-left - Consider starting bulleted lists at the beginning of the line
35+
"MD006": true,
36+
37+
// MD007/ul-indent - Unordered list indentation
38+
"MD007": {
39+
// Spaces for indent
40+
"indent": 2,
41+
// Whether to indent the first level of the list
42+
"start_indented": false,
43+
// Spaces for first level indent (when start_indented is set)
44+
"start_indent": 2
45+
},
46+
47+
// MD009/no-trailing-spaces - Trailing spaces
48+
"MD009": {
49+
// Spaces for line break
50+
"br_spaces": 2,
51+
// Allow spaces for empty lines in list items
52+
"list_item_empty_lines": false,
53+
// Include unnecessary breaks
54+
"strict": true
55+
},
56+
57+
// MD010/no-hard-tabs - Hard tabs
58+
"MD010": {
59+
// Include code blocks
60+
"code_blocks": true,
61+
// Fenced code languages to ignore
62+
"ignore_code_languages": [],
63+
// Number of spaces for each hard tab
64+
"spaces_per_tab": 1
65+
},
66+
67+
// MD011/no-reversed-links - Reversed link syntax
68+
"MD011": true,
69+
70+
// MD012/no-multiple-blanks - Multiple consecutive blank lines
71+
"MD012": {
72+
// Consecutive blank lines
73+
"maximum": 2
74+
},
75+
76+
// MD013/line-length - Line length
77+
"MD013": {
78+
// Number of characters
79+
"line_length": 420,
80+
// Number of characters for headings
81+
"heading_line_length": 90,
82+
// Number of characters for code blocks
83+
"code_block_line_length": 420,
84+
// Include code blocks
85+
"code_blocks": true,
86+
// Include tables
87+
"tables": true,
88+
// Include headings
89+
"headings": true,
90+
// Include headings
91+
"headers": true,
92+
// Strict length checking
93+
"strict": false,
94+
// Stern length checking
95+
"stern": true
96+
},
97+
98+
// MD014/commands-show-output - Dollar signs used before commands without showing output
99+
"MD014": true,
100+
101+
// MD018/no-missing-space-atx - No space after hash on atx style heading
102+
"MD018": true,
103+
104+
// MD019/no-multiple-space-atx - Multiple spaces after hash on atx style heading
105+
"MD019": true,
106+
107+
// MD020/no-missing-space-closed-atx - No space inside hashes on closed atx style heading
108+
"MD020": true,
109+
110+
// MD021/no-multiple-space-closed-atx - Multiple spaces inside hashes on closed atx style heading
111+
"MD021": true,
112+
113+
// MD022/blanks-around-headings/blanks-around-headers - Headings should be surrounded by blank lines
114+
"MD022": {
115+
// Blank lines above heading
116+
"lines_above": 1,
117+
// Blank lines below heading
118+
"lines_below": 1
119+
},
120+
121+
// MD023/heading-start-left/header-start-left - Headings must start at the beginning of the line
122+
"MD023": true,
123+
124+
// MD024/no-duplicate-heading/no-duplicate-header - Multiple headings with the same content
125+
"MD024": {
126+
// Only check sibling headings
127+
"allow_different_nesting": false,
128+
// Only check sibling headings
129+
"siblings_only": false
130+
},
131+
132+
// MD025/single-title/single-h1 - Multiple top-level headings in the same document
133+
"MD025": {
134+
// Heading level
135+
"level": 1,
136+
// RegExp for matching title in front matter
137+
"front_matter_title": "^\\s*title\\s*[:=]"
138+
},
139+
140+
// MD026/no-trailing-punctuation - Trailing punctuation in heading
141+
"MD026": {
142+
// Punctuation characters not allowed at end of headings
143+
"punctuation": ".,;:!。,;:!"
144+
},
145+
146+
// MD027/no-multiple-space-blockquote - Multiple spaces after blockquote symbol
147+
"MD027": true,
148+
149+
// MD028/no-blanks-blockquote - Blank line inside blockquote
150+
"MD028": true,
151+
152+
// MD029/ol-prefix - Ordered list item prefix
153+
"MD029": {
154+
// List style
155+
"style": "one_or_ordered"
156+
},
157+
158+
// MD030/list-marker-space - Spaces after list markers
159+
"MD030": {
160+
// Spaces for single-line unordered list items
161+
"ul_single": 1,
162+
// Spaces for single-line ordered list items
163+
"ol_single": 1,
164+
// Spaces for multi-line unordered list items
165+
"ul_multi": 1,
166+
// Spaces for multi-line ordered list items
167+
"ol_multi": 1
168+
},
169+
170+
// MD031/blanks-around-fences - Fenced code blocks should be surrounded by blank lines
171+
"MD031": {
172+
// Include list items
173+
"list_items": true
174+
},
175+
176+
// MD032/blanks-around-lists - Lists should be surrounded by blank lines
177+
"MD032": true,
178+
179+
// MD033/no-inline-html - Inline HTML
180+
"MD033": {
181+
// Allowed elements
182+
"allowed_elements": ["iframe", "p", "div"]
183+
},
184+
185+
// MD034/no-bare-urls - Bare URL used
186+
"MD034": true,
187+
188+
// MD035/hr-style - Horizontal rule style
189+
"MD035": {
190+
// Horizontal rule style
191+
"style": "consistent"
192+
},
193+
194+
// MD036/no-emphasis-as-heading/no-emphasis-as-header - Emphasis used instead of a heading
195+
"MD036": {
196+
// Punctuation characters
197+
"punctuation": ".,;:!?。,;:!?"
198+
},
199+
200+
// MD037/no-space-in-emphasis - Spaces inside emphasis markers
201+
"MD037": true,
202+
203+
// MD038/no-space-in-code - Spaces inside code span elements
204+
"MD038": true,
205+
206+
// MD039/no-space-in-links - Spaces inside link text
207+
"MD039": true,
208+
209+
// MD040/fenced-code-language - Fenced code blocks should have a language specified
210+
"MD040": {
211+
// List of languages
212+
"allowed_languages": [],
213+
// Require language only
214+
"language_only": false
215+
},
216+
217+
// MD041/first-line-heading/first-line-h1 - First line in a file should be a top-level heading
218+
"MD041": {
219+
// Heading level
220+
"level": 1,
221+
// RegExp for matching title in front matter
222+
"front_matter_title": "^\\s*title\\s*[:=]"
223+
},
224+
225+
// MD042/no-empty-links - No empty links
226+
"MD042": true,
227+
228+
// MD043/required-headings/required-headers - Required heading structure
229+
"MD043": {
230+
231+
},
232+
233+
// MD044/proper-names - Proper names should have the correct capitalization
234+
"MD044": {
235+
// List of proper names
236+
"names": [],
237+
// Include code blocks
238+
"code_blocks": true,
239+
// Include HTML elements
240+
"html_elements": true
241+
},
242+
243+
// MD045/no-alt-text - Images should have alternate text (alt text)
244+
"MD045": true,
245+
246+
// MD046/code-block-style - Code block style
247+
"MD046": false,
248+
249+
// MD047/single-trailing-newline - Files should end with a single newline character
250+
"MD047": true,
251+
252+
// MD048/code-fence-style - Code fence style
253+
"MD048": false,
254+
255+
// MD049/emphasis-style - Emphasis style should be consistent
256+
"MD049": {
257+
// Emphasis style should be consistent
258+
"style": "consistent"
259+
},
260+
261+
// MD050/strong-style - Strong style should be consistent
262+
"MD050": {
263+
// Strong style should be consistent
264+
"style": "consistent"
265+
},
266+
267+
// MD051/link-fragments - Link fragments should be valid
268+
"MD051": true,
269+
270+
// MD052/reference-links-images - Reference links and images should use a label that is defined
271+
"MD052": true,
272+
273+
// MD053/link-image-reference-definitions - Link and image reference definitions should be needed
274+
"MD053": {
275+
// Ignored definitions
276+
"ignored_definitions": [
277+
"//"
278+
]
279+
}
280+
}

0 commit comments

Comments
 (0)