Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
61e3c1c
v6: Don't disallow calc (#41681)
mdo Aug 27, 2025
746e0ea
Move ratio from helpers to utilties (#41684)
mdo Aug 27, 2025
794e401
Remove jQuery support in plugins (#41682)
mdo Aug 27, 2025
0640142
Add Markdownlint for our MDX (#41685)
mdo Aug 27, 2025
17a5eda
Drop clearfix for `display: flow-root` (#41686)
mdo Aug 27, 2025
5a41313
Rename mh-* and mw-* to max-h/w-*, add additional width and height va…
mdo Aug 27, 2025
53f3afd
Drop -prefix (#41692)
mdo Aug 27, 2025
b6ab498
Clean up deprecated Sass (#41693)
mdo Aug 28, 2025
868c13b
Remove added badges from docs pages (#41694)
mdo Aug 28, 2025
c492a4c
Co-locate heading and some type styles in Reboot to avoid some extend…
mdo Aug 28, 2025
009d985
Migrate to Sass modules (#41512)
mdo Aug 28, 2025
e9c0a25
First pass at CSS layers (#41701)
mdo Aug 28, 2025
5cafb6c
Restore both grids , enable CSS grid by default, and update mixins (#…
mdo Aug 28, 2025
bcd734e
Refactor accordion button to use mask, remove some Sass vars and dark…
mdo Aug 28, 2025
19659ee
Colocate Sass vars in their respective files (#41706)
mdo Aug 29, 2025
e33dc75
New forms and buttons (#41708)
mdo Sep 17, 2025
e9e8153
v6: Add reference tables to utilities docs, add community links to so…
mdo Sep 19, 2025
656020c
Remove `!important` from utilities, make it opt-in per utility (#41755)
mdo Sep 22, 2025
719903b
v6: `justify-items` and `place-items` utilities (#41757)
mdo Sep 22, 2025
d1ee58b
v6: Add sub-groups to Utilities docs (#41758)
mdo Sep 22, 2025
7ff73a7
v6 Migration guide (#41683)
mdo Sep 23, 2025
19cf42e
Use `@forward` instead of `@use` for proper customization (#41762)
mdo Sep 24, 2025
d7b144d
WIP: New form controls (#41740)
mdo Sep 24, 2025
73b5c9e
Start to redo `generate-utility()` (#41769)
mdo Sep 26, 2025
8fd5f51
v6: New lg, xl, and 2xl breakpoints, plus some renaming (#41770)
mdo Sep 26, 2025
f94bcbe
Fix instances of 2xl, fix utilities generation (#41774)
mdo Sep 28, 2025
6b8a1bb
New validator (#41775)
mdo Sep 28, 2025
5ce4097
v6: Update colors and theme (#41763)
mdo Sep 30, 2025
d8493bf
Scope docs CSS to custom layer
mdo Sep 28, 2025
53d1cdb
Follow up: custom switches get themes
mdo Sep 30, 2025
235be68
v6: Range media queries (#41786)
mdo Oct 2, 2025
f3a5926
Add .prose class (#41791)
mdo Oct 7, 2025
e2df145
v6: Move some Getting Started content into new Guides section (#41797)
mdo Oct 7, 2025
ad836ff
v6: Drop component variants for global `.theme-*` classes (#41789)
mdo Oct 14, 2025
e0f4169
Build(deps-dev): Bump sass from 1.90.0 to 1.93.3
julien-deramond Sep 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
16 changes: 8 additions & 8 deletions .bundlewatch.config.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,35 @@
"files": [
{
"path": "./dist/css/bootstrap-grid.css",
"maxSize": "6.5 kB"
"maxSize": "9.5 kB"
},
{
"path": "./dist/css/bootstrap-grid.min.css",
"maxSize": "6.0 kB"
"maxSize": "8.5 kB"
},
{
"path": "./dist/css/bootstrap-reboot.css",
"maxSize": "3.5 kB"
"maxSize": "5.25 kB"
},
{
"path": "./dist/css/bootstrap-reboot.min.css",
"maxSize": "3.25 kB"
"maxSize": "4.5 kB"
},
{
"path": "./dist/css/bootstrap-utilities.css",
"maxSize": "11.75 kB"
"maxSize": "14.0 kB"
},
{
"path": "./dist/css/bootstrap-utilities.min.css",
"maxSize": "10.75 kB"
"maxSize": "12.25 kB"
},
{
"path": "./dist/css/bootstrap.css",
"maxSize": "32.5 kB"
"maxSize": "37.5 kB"
},
{
"path": "./dist/css/bootstrap.min.css",
"maxSize": "30.25 kB"
"maxSize": "33.75 kB"
},
{
"path": "./dist/js/bootstrap.bundle.js",
Expand Down
2 changes: 2 additions & 0 deletions .cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
"callout",
"callouts",
"camelCase",
"checkgroup",
"clearfix",
"Codesniffer",
"combinator",
Expand All @@ -29,6 +30,7 @@
"Crossfade",
"crossfading",
"cssgrid",
"csstricks",
"Csvg",
"Datalists",
"Deque",
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,14 @@ jobs:
node-version: "${{ env.NODE }}"
cache: npm

- run: java -version

- name: Install npm dependencies
run: npm ci

- name: Build docs
run: npm run docs-build

- name: Validate HTML
run: npm run docs-vnu
run: npm run docs-html-validate

- name: Run linkinator
uses: JustinBeckwith/linkinator-action@3d5ba091319fa7b0ac14703761eebb7d100e6f6d # v1.11.0
Expand Down
49 changes: 0 additions & 49 deletions .github/workflows/node-sass.yml

This file was deleted.

18 changes: 18 additions & 0 deletions .markdownlint.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"default": true,
"MD004": { "style": "dash" },
"MD011": false,
"MD013": false,
"MD024": false,
"MD025": false,
"MD026": false,
"MD031": false,
"MD033": false,
"MD034": false,
"MD037": false,
"MD038": false,
"MD041": false,
"MD046": false,
"line-length": false,
"no-inline-html": false
}
1 change: 0 additions & 1 deletion .stylelintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"outline": "none"
},
"function-disallowed-list": [
"calc",
"lighten",
"darken"
],
Expand Down
104 changes: 104 additions & 0 deletions build/html-validate.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
#!/usr/bin/env node

/*!
* Script to run html-validate for HTML validation.
*
* This replaces the Java-based vnu-jar validator with a faster, Node.js-only solution.
* Benefits:
* - No Java dependency required
* - Faster execution (no JVM startup time)
* - Easy to configure with rule-based system
* - Better integration with Node.js build tools
*
* Copyright 2017-2025 The Bootstrap Authors
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/

import { HtmlValidate } from 'html-validate'
import { globby } from 'globby'

const htmlValidate = new HtmlValidate({
rules: {
// Allow autocomplete on buttons (Bootstrap specific)
'attribute-allowed-values': 'off',
// Allow aria-disabled on links (Bootstrap specific)
'aria-label-misuse': 'off',
// Allow modern CSS syntax
'valid-id': 'off',
// Allow void elements with trailing slashes (Astro)
'void-style': 'off',
// Allow custom attributes
'no-unknown-elements': 'off',
'attribute-boolean-style': 'off',
'no-inline-style': 'off',
// KEEP duplicate ID checking enabled (this is important for HTML validity)
'no-dup-id': 'error'
},
elements: [
'html5',
{
// Allow custom attributes for Astro/framework compatibility
'*': {
attributes: {
'is:raw': { boolean: true },
switch: { boolean: true },
autocomplete: { enum: ['on', 'off', 'new-password', 'current-password'] }
}
}
}
]
})

async function validateHTML() {
try {
console.log('Running html-validate validation...')

// Find all HTML files
const files = await globby([
'_site/**/*.html',
'js/tests/**/*.html'
], {
ignore: ['**/node_modules/**']
})

console.log(`Validating ${files.length} HTML files...`)

let hasErrors = false

// Validate all files in parallel to avoid await-in-loop
const validationPromises = files.map(file =>
htmlValidate.validateFile(file).then(report => ({ file, report }))
)

const validationResults = await Promise.all(validationPromises)

// Process results and check for errors
for (const { file, report } of validationResults) {
if (!report.valid) {
hasErrors = true
console.error(`\nErrors in ${file}:`)

// Extract error messages with reduced nesting
const errorMessages = report.results.flatMap(result =>
result.messages.filter(message => message.severity === 2)
)

for (const message of errorMessages) {
console.error(` Line ${message.line}:${message.column} - ${message.message} (${message.ruleId})`)
}
}
}

if (hasErrors) {
console.error('\nHTML validation failed!')
process.exit(1)
} else {
console.log('✓ All HTML files are valid!')
}
} catch (error) {
console.error('HTML validation error:', error)
process.exit(1)
}
}

validateHTML()
66 changes: 0 additions & 66 deletions build/vnu-jar.mjs

This file was deleted.

Loading