Skip to content

Commit e2e413e

Browse files
committed
Merge branch 'feature/mkdocforge-setup-dev-environment'
2 parents 9423435 + e4589f1 commit e2e413e

File tree

8 files changed

+642
-7
lines changed

8 files changed

+642
-7
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,4 +189,4 @@ _build/
189189
.vagrant
190190

191191
# Log files
192-
.logs
192+
.logs

.markdownlint.yaml

Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# MkDocs-compatible markdownlint configuration
2+
3+
# Default state for all rules
4+
default: true
5+
6+
# Path to configuration file to extend
7+
extends: null
8+
9+
# MD001/heading-increment : Heading levels should only increment by one level at a time
10+
MD001: true
11+
12+
# MD003/heading-style : Heading style
13+
MD003:
14+
# Use ATX style headings for MkDocs
15+
style: "atx"
16+
17+
# MD004/ul-style : Unordered list style
18+
MD004:
19+
# MkDocs works best with dash style
20+
style: "dash"
21+
22+
# MD005/list-indent : Inconsistent indentation for list items at the same level
23+
MD005: true
24+
25+
# MD007/ul-indent : Unordered list indentation
26+
MD007:
27+
# Standard 4 space indent works better with MkDocs
28+
indent: 4
29+
start_indented: false
30+
start_indent: 4
31+
32+
# MD009/no-trailing-spaces : Trailing spaces
33+
MD009:
34+
# Allow line breaks in MkDocs content
35+
br_spaces: 2
36+
list_item_empty_lines: true
37+
strict: false
38+
39+
# MD010/no-hard-tabs : Hard tabs
40+
MD010:
41+
code_blocks: true
42+
# Allow tabs in some code languages
43+
ignore_code_languages: [
44+
"makefile", "Makefile", "python",
45+
"yaml", "yml", "sh", "bash", "markdown",
46+
"md", "toml", "ini", "toml",
47+
"json", "dockerfile", "toml",
48+
"plaintext", "text", "txt", "shell",
49+
"console", "mermaid", "plantuml",
50+
"puml", "ps1", "powershell"
51+
]
52+
spaces_per_tab: 4
53+
54+
# MD011/no-reversed-links : Reversed link syntax
55+
MD011: true
56+
57+
# MD012/no-multiple-blanks : Multiple consecutive blank lines
58+
MD012: false, # 🚫 Allow multiple consecutive blank lines
59+
60+
# MD013/line-length : Line length
61+
MD013: false # 🚫 Disable line length restrictions (similar to mdformat --wrap=no)
62+
63+
# MD014/commands-show-output : Dollar signs used before commands without showing output
64+
MD014: true
65+
66+
# MD018-MD023: Heading formatting rules
67+
MD018: true
68+
MD019: true
69+
MD020: true
70+
MD021: true
71+
MD022: true
72+
MD023: false # Allow indented headings for MkDocs features
73+
74+
# MD024/no-duplicate-heading : Multiple headings with the same content
75+
MD024:
76+
# Allow same headings in different sections (common in MkDocs)
77+
siblings_only: true
78+
79+
# MD025/single-title/single-h1 : Multiple top-level headings
80+
MD025:
81+
# Configure for MkDocs frontmatter
82+
level: 1
83+
front_matter_title: "^\\s*(title|page.title)\\s*[:=]"
84+
85+
# MD026/no-trailing-punctuation : Trailing punctuation in heading
86+
MD026:
87+
# Allow question marks in headings
88+
punctuation: ".,;:!。,;:!"
89+
90+
# MD027-MD030: Spacing and style rules
91+
MD027: true
92+
MD028: false # Allow blank lines in blockquotes for MkDocs styling
93+
MD029:
94+
style: "one_or_ordered"
95+
MD030: true
96+
97+
# MD031/blanks-around-fences : Fenced code blocks should be surrounded by blank lines
98+
MD031:
99+
list_items: true
100+
101+
# MD032/blanks-around-lists : Lists should be surrounded by blank lines
102+
MD032: true
103+
104+
# MD033/no-inline-html : Inline HTML
105+
MD033: false # Disable inline HTML restriction completely for MkDocs templates
106+
107+
# MD034/no-bare-urls : Bare URL used
108+
MD034: true
109+
110+
# MD035/hr-style : Horizontal rule style
111+
MD035:
112+
style: "---" # MkDocs standard
113+
114+
# MD036/no-emphasis-as-heading : Emphasis used instead of a heading
115+
MD036:
116+
punctuation: ".,;:!?。,;:!?"
117+
118+
# MD037-MD039: Emphasis and links formatting
119+
MD037: true
120+
MD038: true
121+
MD039: true
122+
123+
# MD040/fenced-code-language : Fenced code blocks should have a language specified
124+
MD040: false # 🚫 Allow non-fenced code blocks (if needed)
125+
126+
# MD041/first-line-heading/first-line-h1 : First line in a file should be a top-level heading
127+
MD041: false # Disable requirement for first line to be heading for MkDocs templates
128+
129+
# MD042/no-empty-links : No empty links
130+
MD042: false # Allow placeholder links used in MkDocs templates
131+
132+
# MD043/required-headings : Required heading structure
133+
MD043: false
134+
135+
136+
# MD044/proper-names : Proper names should have the correct capitalization
137+
MD044: false # Disable proper names capitalization check for flexibility
138+
139+
# MD045/no-alt-text : Images should have alternate text (alt text)
140+
MD045: true
141+
142+
# MD046/code-block-style : Code block style
143+
MD046: false
144+
145+
# MD047/single-trailing-newline : Files should end with a single newline character
146+
MD047: true
147+
148+
# MD048/code-fence-style : Code fence style
149+
MD048:
150+
# Triple backticks are standard in MkDocs
151+
style: "backtick"
152+
153+
# MD049/emphasis-style : Emphasis style
154+
MD049:
155+
style: "asterisk" # Standard for MkDocs
156+
157+
# MD050/strong-style : Strong style
158+
MD050:
159+
style: "asterisk" # Standard for MkDocs
160+
161+
# MD051-MD058: Link and table formatting
162+
MD051: false # Disable link fragment checking for MkDocs compatibility
163+
MD052: true
164+
MD053:
165+
ignored_definitions: ["//", "#"] # Allow MkDocs-specific reference formats
166+
MD054:
167+
# Allow all link styles for maximum compatibility
168+
autolink: true
169+
inline: true
170+
full: true
171+
collapsed: true
172+
shortcut: true
173+
url_inline: true
174+
MD055:
175+
style: "consistent"
176+
MD056: true
177+
MD058: true

.mdformat.toml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
2+
# MDFormat configuration for MkDocs compatibility
3+
4+
# Top-level configuration (don't use 'mdformat' section)
5+
wrap = "no"
6+
number = true
7+
end_of_line = "lf"
8+
validate = true
9+
10+
# Plugin configuration
11+
plugin.gfm.enable = true
12+
plugin.frontmatter.enable = true
13+
plugin.mkdocs.enable = true
14+
plugin.mkdocs.align_semantic_breaks_in_lists = true
15+
plugin.mkdocs.ignore_missing_references = true
16+
plugin.footnote.enable = true
17+
plugin.tables.enable = true
18+
plugin.toc.enable = true
19+
plugin.toc.depth = 4
20+
plugin.myst.enable = true
21+
plugin.gfm_alerts.enable = true
22+
plugin.config.enable = true
23+
plugin.simple_breaks.enable = true
24+
plugin.web.enable = true
25+
26+
# Code formatter plugins
27+
plugin.beautysh.enable = true
28+
plugin.beautysh.indent_size = 4
29+
30+
plugin.black.enable = true
31+
plugin.black.line_length = 88
32+
33+
plugin.ruff.enable = true
34+
plugin.ruff.line_length = 88
35+
plugin.ruff.select = ["E", "F", "W"]
36+
plugin.ruff.ignore = ["ANN101"]

base_vm/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ clean:
1717
test: vagrant-up
1818
@echo "🔧 Validate Vagrantfile..."
1919
vagrant validate
20-
20+
2121
# Vagrant Operations Makefile
2222
# For Ubuntu Docker Development Environment
2323

base_vm/Vagrantfile

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,22 @@ Vagrant.configure("2") do |config|
1414
config.ssh.insert_key = false
1515
# Prevent Vagrant from checking for box updates to speed up startup
1616
config.vm.box_check_update = false
17-
17+
1818
# Configure VirtualBox-specific settings
1919
config.vm.provider "virtualbox" do |v|
2020
# Set a descriptive VM name in the VirtualBox GUI
2121
v.name = 'vbox-docker-ubuntu2404'
2222
# Skip guest additions check to speed up boot time
2323
v.check_guest_additions = false
2424
end
25-
25+
2626
# Run initial system update
2727
config.vm.provision "shell",
2828
inline: "sudo apt-get update"
29-
29+
3030
# Execute the main provisioning script
3131
config.vm.provision "shell",
3232
path: "./scripts/base_provision.sh",
3333
privileged: true # Run as root (sudo)
34-
34+
3535
end
36-

base_vm/scripts/base_provision.sh

100644100755
File mode changed.

0 commit comments

Comments
 (0)