Skip to content

Commit e8fd5aa

Browse files
committed
Merge remote-tracking branch 'umbraco/main' into confirm-dialog
# Conflicts: # 14/umbraco-cms/customizing/extending-overview/extension-types/modals/confirm-dialog.md
2 parents d1fea2f + cb4d782 commit e8fd5aa

File tree

5,575 files changed

+7077
-191451
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

5,575 files changed

+7077
-191451
lines changed

.github/lychee.toml

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# .github/lychee.toml
2+
3+
############################# Display #############################
4+
# Verbose program output
5+
# Accepts log level: "error", "warn", "info", "debug", "trace"
6+
verbose = "info"
7+
8+
# Don't show interactive progress bar while checking links.
9+
no_progress = true
10+
11+
############################# Cache ###############################
12+
# Enable link caching. This can be helpful to avoid checking the same links on
13+
# multiple runs.
14+
cache = false
15+
16+
############################# Runtime #############################
17+
# Maximum number of concurrent link checks.
18+
max_concurrency = 12
19+
20+
# Maximum number of allowed redirects.
21+
max_redirects = 5
22+
23+
# Maximum number of allowed retries before a link is declared dead.
24+
max_retries = 1
25+
26+
############################# Requests ############################
27+
# Website timeout from connect to response finished.
28+
timeout = 10
29+
30+
# Minimum wait time in seconds between retries of failed requests.
31+
retry_wait_time = 1
32+
33+
# Accept more status codes (follow redirects automatically)
34+
accept = ["200..=204", "301..=308", "429"]
35+
36+
# Avoid false fragment errors
37+
include_fragments = false
38+
39+
# Only test links with the given schemes (e.g. https).
40+
# Omit to check links with any other scheme.
41+
# At the moment, we support http, https, file, and mailto.
42+
scheme = ["https"]
43+
44+
# When links are available using HTTPS, treat HTTP links as errors.
45+
require_https = false
46+
47+
# Fallback extensions to apply when a URL does not specify one.
48+
# This is common in documentation tools that cross-reference files without extensions.
49+
fallback_extensions = ["md", "html"]
50+
51+
############################# Exclusions ##########################
52+
# Exclude URLs and mail addresses from checking (supports regex).
53+
exclude = [
54+
'^mailto:',
55+
'^https?://localhost',
56+
'^https?://127\\.0\\.0\\.1',
57+
'^https://www\.linkedin\.com',
58+
'^https?://issues\.umbraco\.org/',
59+
'^https?://web\\.archive\\.org/web/'
60+
]
61+
62+
# Exclude these filesystem paths from getting checked.
63+
exclude_path = [
64+
'(^|/)node_modules/',
65+
'(^|/)dist/',
66+
'(^|/)bin/',
67+
'\\.txt$', # skip .txt extensions
68+
'(^|/)test/' # skip directories named "test"
69+
]
70+
71+
# URLs to check (supports regex). Has preference over all excludes.
72+
include = ['gist\.github\.com.*']
73+
74+
# Skip checking mail addresses
75+
include_mail = true
76+
77+
############################# Content Checks ######################
78+
# Mark pages as broken if the body contains "page not found" or "404"
79+
[content]
80+
deny = ["(?i)page not found", "(?i)404"]
Lines changed: 120 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,126 @@
1+
---
12
extends: conditional
2-
message: "'%s' has no definition"
3-
level: error
3+
message: "'%s' has no definition."
4+
description: >
5+
Ensures that all acronyms used in the documentation are clearly defined.
6+
link: https://docs.umbraco.com/contributing/documentation/style-guide#acronyms
47
scope: text
8+
level: error
59
ignorecase: false
6-
# Ensures that the existence of 'first' implies the existence of 'second'.
7-
# Require leading whitespace to avoid matching on URL substrings eg https://www.youtube.com/embed/OUD-PbWESAs?rel=0
10+
# If an uppercase acronym of 3-5 letters is found (first),
11+
# require a definition (second) somewhere nearby.
812
first: '\b([A-Z]{3,5})\b'
913
second: '([A-Z]{3,5}): (?:\b[A-Z][a-z]+ )+|(?:\b[A-Z][a-z]+ )+\(([A-Z]{3,5})\)'
10-
# ... with the exception of these:
14+
# ... with the exception of these. Sorted alphabetically for easier maintenance.
1115
exceptions:
12-
- ABC
13-
- ADD
14-
- ALT
15-
- HTML
16-
- JSON
17-
- CSS
18-
- API
19-
- URL
20-
- UDI
21-
- URI
22-
- NET
23-
- MVC
24-
- GET
25-
- ASP
26-
- ADO
27-
- REST
28-
- HTTP
29-
- HTTPS
30-
- CURL
31-
- BASE
32-
- UDA
33-
- CLI
34-
- KUDU
35-
- XML
36-
- PATH
37-
- SQL
38-
- SHIFT
39-
- POST
40-
- GUID
41-
- UWP
42-
- HAL
43-
- LINK
44-
- DLL
45-
- CMS
46-
- ONLY
47-
- IIS
48-
- DNS
49-
- DOM
50-
- XSLT
51-
- AJAX
52-
- YAML
53-
- PNG
54-
- ISO
55-
- PDF
56-
- DXP
57-
- FAQ
58-
- DIBS
59-
- VAT
60-
- SKU
61-
- UTC
62-
- HEX
63-
- RGBA
64-
- IDE
65-
- CPU
66-
- RAM
67-
- CNAME
68-
- AAAA
69-
- TXT
70-
- PUT
71-
- DELETE
72-
- ZIP
73-
- CTRL
74-
- SPACE
75-
- ENTER
76-
- VIP
77-
- DEBUG
78-
- INFO
79-
- TEMP
80-
- GIF
81-
- GDPR
82-
- NPM
83-
- SVG
84-
- DHL
85-
- UUI
86-
- MDN
87-
- JPG
88-
- JPEG
89-
- BCC
90-
- SSD
91-
- ASCII
92-
- CMD
93-
- NGINX
16+
- AAAA # IPv6 address record (DNS)
17+
- ADD #
18+
- ADO # ActiveX Data Objects
19+
- AJAX # Asynchronous JavaScript and XML
20+
- ALT # Alternative text (images)
21+
- API # Application Programming Interface
22+
- ASCII # American Standard Code for Information Interchange
23+
- ASP # Active Server Pages
24+
- BCC # Blind Carbon Copy (email)
25+
- CD # Continuous Delivery
26+
- CDN # Content Delivery Network
27+
- CI # Continuous Integration
28+
- CLI # Command Line Interface
29+
- CNAME #
30+
- CMD # Command (Windows shell)
31+
- CMS # Content Management System
32+
- CPU # Central Processing Unit
33+
- CSS # Cascading Style Sheets
34+
- CTRL # Control (Keyboard key)
35+
- CURL # Client URL
36+
- DELETE # HTTP DELETE method
37+
- DHL # International Shipping brand
38+
- DIBS # DIBS by Nets
39+
- DLL # Dynamic-Link Library
40+
- DNS # Domain Name System
41+
- DOM # Document Object Model
42+
- DXP # Digital Experience Platform
43+
- EOL # End of Life
44+
- FAQ # Frequently Asked Questions
45+
- FTP # File Transfer Protocol
46+
- GDPR # General Data Protection Regulation
47+
- GET # HTTP GET method
48+
- GIF # Graphics Interchange Format
49+
- GUI # Graphical user interface
50+
- GUID # Globally Unique Identifier
51+
- HAL # Hypertext Application Language
52+
- HASH # Cryptographic hash
53+
- HEX # Hexadecimal
54+
- HTML # HyperText Markup Language
55+
- HTTP # HyperText Transfer Protocol
56+
- HTTPS # HyperText Transfer Protocol Secure
57+
- IaaS # Infrastructure as a Service
58+
- IDE # Integrated Development Environment
59+
- IIS # Internet Information Services
60+
- INFO # Information
61+
- ISO # International Organization for Standardization
62+
- JPG # Joint Photographic Experts Group
63+
- JPEG # Joint Photographic Experts Group
64+
- JSON # JavaScript Object Notation
65+
- JSONP # JSON with Padding
66+
- JS # JavaScript
67+
- JWT # JSON Web Token
68+
- KUDU # Azure deployment engine
69+
- LDAP # Lightweight Directory Access Protocol
70+
- LINK #
71+
- MIT # Open-source software license developed at the Massachusetts Institute of Technology (MIT)
72+
- MDN # Mozilla Developer Network
73+
- MFA # Multi-factor Authentication
74+
- MVC # Model-View-Controller
75+
- NET # .NET Framework
76+
- NGINX # Engine X (web server)
77+
- NPM # Node Package Manager
78+
- OAuth # Open Authorization
79+
- ONLY #
80+
- ORM # Object-Relational Mapping
81+
- PaaS # Platform as a Service
82+
- PATH # file system path
83+
- PDF # Portable Document Format
84+
- PNG # Portable Network Graphics
85+
- POST # HTTP POST method
86+
- PUT # HTTP PUT method
87+
- RAM # Random Access Memory
88+
- REST # Representational State Transfer
89+
- RGBA # Red Green Blue Alpha (color model)
90+
- RPG # Role-Playing Game
91+
- RTX # Ray Tracing Texel eXtreme (NVIDIA tech)
92+
- SaaS # Software as a Service
93+
- SDK # Software Development Kit
94+
- SEO # Search Engine Optimization
95+
- SHIFT # Keyboard key
96+
- SPACE # Keyboard key
97+
- SKU # Stock Keeping Unit
98+
- SMTP # Simple Mail Transfer Protocol
99+
- SQL # Structured Query Language
100+
- SSD # Solid State Drive
101+
- SSL # Secure Sockets Layer
102+
- SVG # Scalable Vector Graphics
103+
- TCP # Transmission Control Protocol
104+
- TEMP # Temporary
105+
- TS # TypeScript
106+
- TXT # Text (file format)
107+
- TLS # Transport Layer Security
108+
- UDA # Files for Umbraco project's metadata
109+
- UDI # Unique Device Identifier
110+
- UI # User Interface
111+
- URI # Uniform Resource Identifier
112+
- URL # Uniform Resource Locator
113+
- UTC # Coordinated Universal Time
114+
- UUID # Universally Unique Identifier
115+
- UWP # Universal Windows Platform
116+
- UX # User Experience
117+
- VAL #
118+
- VAT # Value-Added Tax
119+
- VIP # Very Important Person
120+
- WAF # Web Application Firewall
121+
- WYSIWYG # What You See Is What You Get
122+
- XML # Extensible Markup Language
123+
- XSLT # Extensible Stylesheet Language Transformations
124+
- XSS # Cross-Site Scripting
125+
- YAML # YAML file
126+
- ZIP # ZIP file format
Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,31 @@
11
---
22
extends: substitution
3-
message: "We prefer %s over '%s.'"
3+
message: "Use '%s' instead of '%s' for brand consistency."
4+
description: >
5+
Ensures consistent capitalization of brand and product names.
6+
This rule ignores matches inside markdown links and inline code to prevent false warnings.
7+
link: https://docs.umbraco.com/contributing/documentation/style-guide#brands
48
level: warning
9+
scope: text
10+
ignorecase: true
11+
# Sorted alphabetically for easier maintenance.
512
swap:
6-
'(?<![\.\/])youtube': "'YouTube'"
7-
microsoft: "'Microsoft'"
8-
slack: "'Slack'"
9-
azure: "'Azure'"
10-
gitbook: "'GitBook'"
11-
Gitbook: "'GitBook'"
12-
github: "'GitHub'"
13-
Github: "'GitHub'"
13+
# Use negative lookbehind to ignore matches inside markdown links `[text](link)` or inline code `code`
14+
'(?<![\[`(])\bazure\b(?![.\w/-]*\))': "Azure"
15+
'(?<![\[`])\bazure devops\b': "Azure DevOps"
16+
'(?<![\[`])\bchrome\b': "Chrome"
17+
'(?<![\[`])\bcloudflare\b': "Cloudflare"
18+
'(?<![\[`])\bfirefox\b': "Firefox"
19+
'(?<![\[`\/\.])\bgitbook\b': "GitBook"
20+
'(?<![\[`])\bgithub\b': "GitHub"
21+
'(?<![\[`])\bmacos\b': "macOS"
22+
'(?<![\[`(])\bmicrosoft\b(?![.\w/-]*\))': "Microsoft"
23+
'(?<![\[`])\bnginx\b': "NGINX"
24+
'(?<![\[`])\bsafari\b': "Safari"
25+
'(?<![\[`])\bslack\b': "Slack"
26+
'(?<![\[`])\btwitter\b': "Twitter"
27+
'(?<![\[`])\bumbraco id\b': "Umbraco ID"
28+
'(?<![\[`])\bumbraco support\b': "Umbraco Support"
29+
'(?<![\[`])\bvisual studio code\b': "Visual Studio Code"
30+
'(?<![\[`])\bvs code\b': "Visual Studio Code"
31+
'(?<![\[`])\byoutube\b(?![-\.\/])': "YouTube"

.github/styles/UmbracoDocs/Editorializing.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
1-
---
1+
---
22
extends: existence
3-
message: "Consider removing '%s'"
4-
ignorecase: true
3+
message: "Consider removing '%s' as it can be considered opinionated."
4+
description: >
5+
Flags words and phrases that express opinion, exaggeration, or assumptions. These can make documentation feel biased, subjective, or unclear.
6+
link: https://docs.umbraco.com/contributing/documentation/style-guide#avoid-punctuation-in-headings
57
level: warning
8+
ignorecase: true
9+
# Sorted alphabetically for easier maintenance.
10+
# Uses regex patterns with \b for whole word matching.
11+
# The pattern for 'simple' excludes common technical terms to reduce false positives.
612
tokens:
713
- actually
814
- aptly
@@ -37,7 +43,7 @@ tokens:
3743
- remarkably
3844
- several
3945
- significantly
40-
- simple
46+
- '\bsimple\b(?! (Mail|Message|Object|Protocol|Transfer|Markup))'
4147
- simply
4248
- substantially
4349
- surprisingly
Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
---
22
extends: existence
3-
message: Do not use '%s' at the end of headings
4-
link: https://github.com/cockroachdb/docs/blob/master/STYLE.md#capitalization-and-punctuation
3+
message: "Do not use '%s' at the end of heading."
4+
description: >
5+
Checks headings to ensure they do not end with punctuation.
6+
link: https://docs.umbraco.com/contributing/documentation/style-guide#avoid-punctuation-in-headings
57
scope: heading
68
level: warning
79
raw:
8-
- '(?:\:|\.)$'
10+
- '(?:[.:;!…])$'
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
---
2+
extends: existence
3+
message: "Avoid generic link text like '%s'. Use descriptive link text instead."
4+
description: >
5+
Descriptive link text improves accessibility and SEO by clearly indicating
6+
where the link leads, rather than using vague terms.
7+
level: warning
8+
ignorecase: true
9+
scope: raw
10+
nonword: true
11+
tokens:
12+
- '\[\s*here\s*\]'
13+
- '\[\s*click here\s*\]'
14+
- '\[\s*read more\s*\]'
15+
- '\[\s*more info\s*\]'

0 commit comments

Comments
 (0)