From: Julien Déramond Date: Sat, 18 Apr 2026 06:21:24 +0000 (+0200) Subject: Docs: automatically screenshot examples as light/dark images (#42329) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2c35cf0c5e36dd9a7acdd45215044bf7e27be8d6;p=thirdparty%2Fbootstrap.git Docs: automatically screenshot examples as light/dark images (#42329) --- diff --git a/build/screenshot-examples.mjs b/build/screenshot-examples.mjs new file mode 100644 index 0000000000..bfd6ccc7a1 --- /dev/null +++ b/build/screenshot-examples.mjs @@ -0,0 +1,202 @@ +/** + * Screenshot Bootstrap examples using Playwright. + * + * Starts the Astro dev server automatically, waits for it to be ready, + * takes light + dark screenshots at 1x and 2x, then shuts the server down. + * + * Usage: + * node build/screenshot-examples.mjs [--only album,pricing] + * + * Prerequisites: + * npm install -D playwright + * npx playwright install chromium + * + * The script reads examples.yml and saves to: + * site/static/docs/[version]/assets/img/examples/{slug}.png (480×300) + * site/static/docs/[version]/assets/img/examples/{slug}@2x.png (960×600) + * site/static/docs/[version]/assets/img/examples/{slug}-dark.png (480×300) + * site/static/docs/[version]/assets/img/examples/{slug}-dark@2x.png (960×600) + */ + +import { readFileSync, mkdirSync } from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' +import { spawn } from 'node:child_process' +import { parse as parseYaml } from 'yaml' +import { chromium } from 'playwright' +import sharp from 'sharp' + +const __dirname = path.dirname(fileURLToPath(import.meta.url)) +const ROOT = path.resolve(__dirname, '..') + +// ─── Config ────────────────────────────────────────────────────────────────── + +const args = process.argv.slice(2) +const getArg = flag => { + const idx = args.indexOf(flag) + return idx === -1 ? null : args[idx + 1] +} + +const ONLY = getArg('--only')?.split(',').map(s => s.trim().toLowerCase()) ?? null + +// Astro dev server port (matches astro-dev in package.json) +const PORT = 9001 +const BASE_URL = `http://localhost:${PORT}` +const SERVER_TIMEOUT_MS = 60_000 +const SERVER_POLL_INTERVAL_MS = 500 + +// Read docs version from config.yml +const configYml = readFileSync(path.resolve(ROOT, 'config.yml'), 'utf8') +const DOCS_VERSION = parseYaml(configYml).docs_version ?? '6.0' + +// Output directory — [version] is a literal Astro dynamic-route folder name +const OUT_DIR = path.resolve(ROOT, 'site/static/docs/[version]/assets/img/examples') +mkdirSync(OUT_DIR, { recursive: true }) + +// Full-width capture viewport; images are then resized down to thumbnail sizes +const CAPTURE_VIEWPORT = { width: 1440, height: 900 } +// 1x thumbnail: 480×300 | 2x thumbnail: 960×600 +const THUMB = { w: 480, h: 300 } + +// ─── Dev server ────────────────────────────────────────────────────────────── + +/** Spawn the Astro dev server and return the child process. */ +function startDevServer() { + console.log('Starting Astro dev server…') + const server = spawn('node', ['node_modules/.bin/astro', 'dev', '--root', 'site', '--port', String(PORT)], { + cwd: ROOT, + stdio: ['ignore', 'pipe', 'pipe'] + }) + server.stdout.on('data', d => process.stdout.write(`[astro] ${d}`)) + server.stderr.on('data', d => process.stderr.write(`[astro] ${d}`)) + return server +} + +/** Poll until the server responds or timeout is reached. */ +async function waitForServer() { + const deadline = Date.now() + SERVER_TIMEOUT_MS + + const poll = async () => { + if (Date.now() >= deadline) { + throw new Error(`Dev server did not start within ${SERVER_TIMEOUT_MS / 1000}s`) + } + + try { + const res = await fetch(`${BASE_URL}/`) + if (res.ok || res.status < 500) { + console.log('Dev server is ready.\n') + return + } + } catch { + // not up yet + } + + await new Promise(resolvePromise => { + setTimeout(resolvePromise, SERVER_POLL_INTERVAL_MS) + }) + + await poll() + } + + await poll() +} + +// ─── Helpers ───────────────────────────────────────────────────────────────── + +/** Replicate the getSlug() logic used in the Astro components */ +function getSlug(name) { + return name + .toLowerCase() + .replace(/[^a-z0-9]+/g, '-') + .replace(/(^-|-$)/g, '') +} + +/** Collect all non-external examples from examples.yml */ +function getExamples() { + const yml = readFileSync(path.resolve(ROOT, 'site/data/examples.yml'), 'utf8') + const categories = parseYaml(yml) + const result = [] + for (const { examples, external } of categories) { + if (external) { + continue + } + + for (const example of examples ?? []) { + result.push(example.name) + } + } + + return result +} + +// ─── Screenshot ────────────────────────────────────────────────────────────── + +/** + * Capture the page at full viewport, then resize to the target thumbnail size. + * colorScheme: 'light' | 'dark' + * scale: 1 (480×300) | 2 (960×600) + */ +async function screenshot(page, slug, colorScheme, scale) { + const darkSuffix = colorScheme === 'dark' ? '-dark' : '' + const scaleSuffix = scale === 2 ? '@2x' : '' + const outFile = path.resolve(OUT_DIR, `${slug}${darkSuffix}${scaleSuffix}.png`) + + await page.emulateMedia({ colorScheme }) + const rawBuffer = await page.screenshot({ type: 'png' }) + + await sharp(rawBuffer) + .resize(THUMB.w * scale, THUMB.h * scale, { fit: 'cover', position: 'top' }) + .toFile(outFile) + + console.log(` saved ${outFile.replace(`${ROOT}/`, '')}`) +} + +async function run() { + const examples = getExamples() + const filtered = ONLY ? examples.filter(n => ONLY.includes(n.toLowerCase())) : examples + + if (filtered.length === 0) { + throw new Error('No examples matched. Check --only values against examples.yml.') + } + + const server = startDevServer() + + // Ensure the server is killed even if we crash + const cleanup = () => server.kill() + process.on('exit', cleanup) + + try { + await waitForServer() + + console.log(`Taking screenshots of ${filtered.length} example(s)`) + console.log(`Output → ${OUT_DIR}\n`) + + const browser = await chromium.launch() + + await Promise.all(filtered.map(async name => { + const slug = getSlug(name) + const url = `${BASE_URL}/docs/${DOCS_VERSION}/examples/${slug}/` + console.log(`→ ${name} (${slug})`) + + // Single page load — reuse for light & dark, both scales (sharp handles resizing) + const page = await browser.newPage({ viewport: CAPTURE_VIEWPORT, deviceScaleFactor: 1 }) + await page.goto(url, { waitUntil: 'networkidle' }) + await page.addStyleTag({ content: '.bd-mode-toggle { display: none !important; }' }) + await screenshot(page, slug, 'light', 1) + await screenshot(page, slug, 'light', 2) + await screenshot(page, slug, 'dark', 1) + await screenshot(page, slug, 'dark', 2) + await page.close() + })) + + await browser.close() + console.log('\nDone.') + } finally { + server.kill() + } +} + +run().catch(error => { + console.error(error) + process.exitCode = 1 +}) diff --git a/package-lock.json b/package-lock.json index 391160d6b7..4cd10bbc03 100644 --- a/package-lock.json +++ b/package-lock.json @@ -76,6 +76,7 @@ "mime": "^4.1.0", "nodemon": "^3.1.14", "npm-run-all2": "^8.0.4", + "playwright": "^1.59.1", "postcss": "^8.5.10", "postcss-cli": "^11.0.1", "prettier": "^3.8.3", @@ -87,12 +88,14 @@ "rollup-plugin-istanbul": "^5.0.0", "sass": "^1.99.0", "sass-true": "^10.1.0", + "sharp": "^0.34.5", "shelljs": "^0.10.0", "stylelint": "16.26.1", "stylelint-config-twbs-bootstrap": "^16.1.0", "stylelint-order": "^8.1.1", "terser": "^5.46.1", "unist-util-visit": "^5.1.0", + "yaml": "^2.8.3", "zod": "^4.3.6" }, "peerDependencies": { @@ -3961,7 +3964,6 @@ "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", "dev": true, "license": "MIT", - "optional": true, "engines": { "node": ">=18" } @@ -16699,6 +16701,53 @@ "node": ">=6" } }, + "node_modules/playwright": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.59.1.tgz", + "integrity": "sha512-C8oWjPR3F81yljW9o5OxcWzfh6avkVwDD2VYdwIGqTkl+OGFISgypqzfu7dOe4QNLL2aqcWBmI3PMtLIK233lw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "playwright-core": "1.59.1" + }, + "bin": { + "playwright": "cli.js" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "fsevents": "2.3.2" + } + }, + "node_modules/playwright-core": { + "version": "1.59.1", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.59.1.tgz", + "integrity": "sha512-HBV/RJg81z5BiiZ9yPzIiClYV/QMsDCKUyogwH9p3MCP6IYjUFu/MActgYAvK0oWyV9NlwM3GLBjADyWgydVyg==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "playwright-core": "cli.js" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/playwright/node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -18374,7 +18423,6 @@ "dev": true, "hasInstallScript": true, "license": "Apache-2.0", - "optional": true, "dependencies": { "@img/colour": "^1.0.0", "detect-libc": "^2.1.2", @@ -18419,7 +18467,6 @@ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", - "optional": true, "bin": { "semver": "bin/semver.js" }, diff --git a/package.json b/package.json index 8c43604979..7d97edc3b0 100644 --- a/package.json +++ b/package.json @@ -94,6 +94,7 @@ "docs-prettier-format": "prettier --config site/.prettierrc.json --write --cache site", "docs-serve": "npm run astro-dev -- --host", "docs-serve-only": "npx sirv-cli _site --port 9001", + "screenshots": "rm -f site/static/docs/[version]/assets/img/examples/*.png && node build/screenshot-examples.mjs", "lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json", "update-deps": "ncu -u", "release": "npm-run-all dist release-sri docs-build release-zip*", @@ -179,6 +180,7 @@ "mime": "^4.1.0", "nodemon": "^3.1.14", "npm-run-all2": "^8.0.4", + "playwright": "^1.59.1", "postcss": "^8.5.10", "postcss-cli": "^11.0.1", "prettier": "^3.8.3", @@ -190,12 +192,14 @@ "rollup-plugin-istanbul": "^5.0.0", "sass": "^1.99.0", "sass-true": "^10.1.0", + "sharp": "^0.34.5", "shelljs": "^0.10.0", "stylelint": "16.26.1", "stylelint-config-twbs-bootstrap": "^16.1.0", "stylelint-order": "^8.1.1", "terser": "^5.46.1", "unist-util-visit": "^5.1.0", + "yaml": "^2.8.3", "zod": "^4.3.6" }, "files": [ diff --git a/site/src/layouts/partials/ExamplesMain.astro b/site/src/layouts/partials/ExamplesMain.astro index 9f5318726c..ec27a07704 100644 --- a/site/src/layouts/partials/ExamplesMain.astro +++ b/site/src/layouts/partials/ExamplesMain.astro @@ -60,7 +60,15 @@ import { getSlug } from '@libs/utils' href={`/docs/${getConfig().docs_version}/examples/${getSlug(example.name)}/`} > + const applyExamplesThumbTheme = () => { + const isDark = document.documentElement.getAttribute('data-bs-theme') === 'dark' + const thumbs = document.querySelectorAll('.examples-thumb') + + thumbs.forEach((thumb) => { + const src = isDark ? thumb.dataset.darkSrc : thumb.dataset.lightSrc + const srcset = isDark ? thumb.dataset.darkSrcset : thumb.dataset.lightSrcset + + if (src && thumb.getAttribute('src') !== src) { + thumb.setAttribute('src', src) + } + + if (srcset && thumb.getAttribute('srcset') !== srcset) { + thumb.setAttribute('srcset', srcset) + } + }) + } + + applyExamplesThumbTheme() + + new MutationObserver(applyExamplesThumbTheme).observe(document.documentElement, { + attributes: true, + attributeFilter: ['data-bs-theme'] + }) + diff --git a/site/static/docs/[version]/assets/img/examples/album-dark.png b/site/static/docs/[version]/assets/img/examples/album-dark.png new file mode 100644 index 0000000000..f4f1cc1884 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/album-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/album-dark@2x.png b/site/static/docs/[version]/assets/img/examples/album-dark@2x.png new file mode 100644 index 0000000000..1b70767a3e Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/album-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/album.png b/site/static/docs/[version]/assets/img/examples/album.png index f0af624013..9bd3eac487 100644 Binary files a/site/static/docs/[version]/assets/img/examples/album.png and b/site/static/docs/[version]/assets/img/examples/album.png differ diff --git a/site/static/docs/[version]/assets/img/examples/album@2x.png b/site/static/docs/[version]/assets/img/examples/album@2x.png index bd43a51e1a..2e0ce814ba 100644 Binary files a/site/static/docs/[version]/assets/img/examples/album@2x.png and b/site/static/docs/[version]/assets/img/examples/album@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/badges-dark.png b/site/static/docs/[version]/assets/img/examples/badges-dark.png new file mode 100644 index 0000000000..58c71c6a2e Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/badges-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/badges-dark@2x.png b/site/static/docs/[version]/assets/img/examples/badges-dark@2x.png new file mode 100644 index 0000000000..efd57cd37a Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/badges-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/badges.png b/site/static/docs/[version]/assets/img/examples/badges.png index af4a9ac6b6..d73b7979a5 100644 Binary files a/site/static/docs/[version]/assets/img/examples/badges.png and b/site/static/docs/[version]/assets/img/examples/badges.png differ diff --git a/site/static/docs/[version]/assets/img/examples/badges@2x.png b/site/static/docs/[version]/assets/img/examples/badges@2x.png index 8c3fd3f722..886c9628b2 100644 Binary files a/site/static/docs/[version]/assets/img/examples/badges@2x.png and b/site/static/docs/[version]/assets/img/examples/badges@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/blog-dark.png b/site/static/docs/[version]/assets/img/examples/blog-dark.png new file mode 100644 index 0000000000..282d2c94f2 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/blog-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/blog-dark@2x.png b/site/static/docs/[version]/assets/img/examples/blog-dark@2x.png new file mode 100644 index 0000000000..59d75506ca Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/blog-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/blog.png b/site/static/docs/[version]/assets/img/examples/blog.png index 3ce428418e..e5b2b2d1e2 100644 Binary files a/site/static/docs/[version]/assets/img/examples/blog.png and b/site/static/docs/[version]/assets/img/examples/blog.png differ diff --git a/site/static/docs/[version]/assets/img/examples/blog@2x.png b/site/static/docs/[version]/assets/img/examples/blog@2x.png index f5480314b4..1d89b967fe 100644 Binary files a/site/static/docs/[version]/assets/img/examples/blog@2x.png and b/site/static/docs/[version]/assets/img/examples/blog@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/breadcrumbs-dark.png b/site/static/docs/[version]/assets/img/examples/breadcrumbs-dark.png new file mode 100644 index 0000000000..eb2a87af68 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/breadcrumbs-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/breadcrumbs-dark@2x.png b/site/static/docs/[version]/assets/img/examples/breadcrumbs-dark@2x.png new file mode 100644 index 0000000000..2d32126228 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/breadcrumbs-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/breadcrumbs.png b/site/static/docs/[version]/assets/img/examples/breadcrumbs.png index 4417e95b3a..6b64e59554 100644 Binary files a/site/static/docs/[version]/assets/img/examples/breadcrumbs.png and b/site/static/docs/[version]/assets/img/examples/breadcrumbs.png differ diff --git a/site/static/docs/[version]/assets/img/examples/breadcrumbs@2x.png b/site/static/docs/[version]/assets/img/examples/breadcrumbs@2x.png index 0eb36d1362..d7c31c9d12 100644 Binary files a/site/static/docs/[version]/assets/img/examples/breadcrumbs@2x.png and b/site/static/docs/[version]/assets/img/examples/breadcrumbs@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/buttons-dark.png b/site/static/docs/[version]/assets/img/examples/buttons-dark.png new file mode 100644 index 0000000000..0f5a4a4c16 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/buttons-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/buttons-dark@2x.png b/site/static/docs/[version]/assets/img/examples/buttons-dark@2x.png new file mode 100644 index 0000000000..525fc2a3cd Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/buttons-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/buttons.png b/site/static/docs/[version]/assets/img/examples/buttons.png index 4da03f7917..37d7f29c6b 100644 Binary files a/site/static/docs/[version]/assets/img/examples/buttons.png and b/site/static/docs/[version]/assets/img/examples/buttons.png differ diff --git a/site/static/docs/[version]/assets/img/examples/buttons@2x.png b/site/static/docs/[version]/assets/img/examples/buttons@2x.png index 752e659028..47f996a222 100644 Binary files a/site/static/docs/[version]/assets/img/examples/buttons@2x.png and b/site/static/docs/[version]/assets/img/examples/buttons@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/carousel-dark.png b/site/static/docs/[version]/assets/img/examples/carousel-dark.png new file mode 100644 index 0000000000..c4713ab31f Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/carousel-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/carousel-dark@2x.png b/site/static/docs/[version]/assets/img/examples/carousel-dark@2x.png new file mode 100644 index 0000000000..1cafb9a0ec Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/carousel-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/carousel.png b/site/static/docs/[version]/assets/img/examples/carousel.png index e2bbba6c80..a4a3e4619e 100644 Binary files a/site/static/docs/[version]/assets/img/examples/carousel.png and b/site/static/docs/[version]/assets/img/examples/carousel.png differ diff --git a/site/static/docs/[version]/assets/img/examples/carousel@2x.png b/site/static/docs/[version]/assets/img/examples/carousel@2x.png index bc5d4a09d0..86fb02ea54 100644 Binary files a/site/static/docs/[version]/assets/img/examples/carousel@2x.png and b/site/static/docs/[version]/assets/img/examples/carousel@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cheatsheet-dark.png b/site/static/docs/[version]/assets/img/examples/cheatsheet-dark.png new file mode 100644 index 0000000000..8aeb6df66f Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/cheatsheet-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cheatsheet-dark@2x.png b/site/static/docs/[version]/assets/img/examples/cheatsheet-dark@2x.png new file mode 100644 index 0000000000..2c25ed7fd0 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/cheatsheet-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cheatsheet.png b/site/static/docs/[version]/assets/img/examples/cheatsheet.png index 074be00155..2388270f68 100644 Binary files a/site/static/docs/[version]/assets/img/examples/cheatsheet.png and b/site/static/docs/[version]/assets/img/examples/cheatsheet.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cheatsheet@2x.png b/site/static/docs/[version]/assets/img/examples/cheatsheet@2x.png index c958b6cb60..ab9b48ceab 100644 Binary files a/site/static/docs/[version]/assets/img/examples/cheatsheet@2x.png and b/site/static/docs/[version]/assets/img/examples/cheatsheet@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/checkout-dark.png b/site/static/docs/[version]/assets/img/examples/checkout-dark.png new file mode 100644 index 0000000000..fc7d5e7cfe Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/checkout-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/checkout-dark@2x.png b/site/static/docs/[version]/assets/img/examples/checkout-dark@2x.png new file mode 100644 index 0000000000..68daf9ca56 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/checkout-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/checkout.png b/site/static/docs/[version]/assets/img/examples/checkout.png index cb81ef2d7c..ceea4737cc 100644 Binary files a/site/static/docs/[version]/assets/img/examples/checkout.png and b/site/static/docs/[version]/assets/img/examples/checkout.png differ diff --git a/site/static/docs/[version]/assets/img/examples/checkout@2x.png b/site/static/docs/[version]/assets/img/examples/checkout@2x.png index 79c7b4bb82..9362151bbb 100644 Binary files a/site/static/docs/[version]/assets/img/examples/checkout@2x.png and b/site/static/docs/[version]/assets/img/examples/checkout@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cover-dark.png b/site/static/docs/[version]/assets/img/examples/cover-dark.png new file mode 100644 index 0000000000..d827649bef Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/cover-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cover-dark@2x.png b/site/static/docs/[version]/assets/img/examples/cover-dark@2x.png new file mode 100644 index 0000000000..9a1c6075dc Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/cover-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cover.png b/site/static/docs/[version]/assets/img/examples/cover.png index 5458ff11d3..c6f69347a9 100644 Binary files a/site/static/docs/[version]/assets/img/examples/cover.png and b/site/static/docs/[version]/assets/img/examples/cover.png differ diff --git a/site/static/docs/[version]/assets/img/examples/cover@2x.png b/site/static/docs/[version]/assets/img/examples/cover@2x.png index eacd82e983..618a074b13 100644 Binary files a/site/static/docs/[version]/assets/img/examples/cover@2x.png and b/site/static/docs/[version]/assets/img/examples/cover@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dashboard-dark.png b/site/static/docs/[version]/assets/img/examples/dashboard-dark.png new file mode 100644 index 0000000000..efc2eb0173 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/dashboard-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dashboard-dark@2x.png b/site/static/docs/[version]/assets/img/examples/dashboard-dark@2x.png new file mode 100644 index 0000000000..965601bf5e Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/dashboard-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dashboard.png b/site/static/docs/[version]/assets/img/examples/dashboard.png index 52988da739..d4dfbc29f0 100644 Binary files a/site/static/docs/[version]/assets/img/examples/dashboard.png and b/site/static/docs/[version]/assets/img/examples/dashboard.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dashboard@2x.png b/site/static/docs/[version]/assets/img/examples/dashboard@2x.png index 52b23dff69..eb084678b3 100644 Binary files a/site/static/docs/[version]/assets/img/examples/dashboard@2x.png and b/site/static/docs/[version]/assets/img/examples/dashboard@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dialogs-dark.png b/site/static/docs/[version]/assets/img/examples/dialogs-dark.png new file mode 100644 index 0000000000..543698ece8 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/dialogs-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dialogs-dark@2x.png b/site/static/docs/[version]/assets/img/examples/dialogs-dark@2x.png new file mode 100644 index 0000000000..c103df860e Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/dialogs-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dialogs.png b/site/static/docs/[version]/assets/img/examples/dialogs.png index a9b6723dfb..91f229c12b 100644 Binary files a/site/static/docs/[version]/assets/img/examples/dialogs.png and b/site/static/docs/[version]/assets/img/examples/dialogs.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dialogs@2x.png b/site/static/docs/[version]/assets/img/examples/dialogs@2x.png index 013aa33dd2..e4aab68b2e 100644 Binary files a/site/static/docs/[version]/assets/img/examples/dialogs@2x.png and b/site/static/docs/[version]/assets/img/examples/dialogs@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/dropdowns.png b/site/static/docs/[version]/assets/img/examples/dropdowns.png deleted file mode 100644 index 64fc8f2f00..0000000000 Binary files a/site/static/docs/[version]/assets/img/examples/dropdowns.png and /dev/null differ diff --git a/site/static/docs/[version]/assets/img/examples/dropdowns@2x.png b/site/static/docs/[version]/assets/img/examples/dropdowns@2x.png deleted file mode 100644 index 6978dcb563..0000000000 Binary files a/site/static/docs/[version]/assets/img/examples/dropdowns@2x.png and /dev/null differ diff --git a/site/static/docs/[version]/assets/img/examples/features-dark.png b/site/static/docs/[version]/assets/img/examples/features-dark.png new file mode 100644 index 0000000000..249dc4a46f Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/features-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/features-dark@2x.png b/site/static/docs/[version]/assets/img/examples/features-dark@2x.png new file mode 100644 index 0000000000..b282812676 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/features-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/features.png b/site/static/docs/[version]/assets/img/examples/features.png index c77ed09bbc..878a0cd2a7 100644 Binary files a/site/static/docs/[version]/assets/img/examples/features.png and b/site/static/docs/[version]/assets/img/examples/features.png differ diff --git a/site/static/docs/[version]/assets/img/examples/features@2x.png b/site/static/docs/[version]/assets/img/examples/features@2x.png index 28bcbf1f5a..d13dbde67d 100644 Binary files a/site/static/docs/[version]/assets/img/examples/features@2x.png and b/site/static/docs/[version]/assets/img/examples/features@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/footers-dark.png b/site/static/docs/[version]/assets/img/examples/footers-dark.png new file mode 100644 index 0000000000..2af7e5ed2b Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/footers-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/footers-dark@2x.png b/site/static/docs/[version]/assets/img/examples/footers-dark@2x.png new file mode 100644 index 0000000000..b07bfc1995 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/footers-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/footers.png b/site/static/docs/[version]/assets/img/examples/footers.png index 74fe820653..a122cc1462 100644 Binary files a/site/static/docs/[version]/assets/img/examples/footers.png and b/site/static/docs/[version]/assets/img/examples/footers.png differ diff --git a/site/static/docs/[version]/assets/img/examples/footers@2x.png b/site/static/docs/[version]/assets/img/examples/footers@2x.png index 2700392156..2fd221410f 100644 Binary files a/site/static/docs/[version]/assets/img/examples/footers@2x.png and b/site/static/docs/[version]/assets/img/examples/footers@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/grid-dark.png b/site/static/docs/[version]/assets/img/examples/grid-dark.png new file mode 100644 index 0000000000..20ded2ca89 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/grid-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/grid-dark@2x.png b/site/static/docs/[version]/assets/img/examples/grid-dark@2x.png new file mode 100644 index 0000000000..a710794050 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/grid-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/grid.png b/site/static/docs/[version]/assets/img/examples/grid.png index 9b8afb78b9..e9d84ff89c 100644 Binary files a/site/static/docs/[version]/assets/img/examples/grid.png and b/site/static/docs/[version]/assets/img/examples/grid.png differ diff --git a/site/static/docs/[version]/assets/img/examples/grid@2x.png b/site/static/docs/[version]/assets/img/examples/grid@2x.png index 78ade65f50..4c9361e07f 100644 Binary files a/site/static/docs/[version]/assets/img/examples/grid@2x.png and b/site/static/docs/[version]/assets/img/examples/grid@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/headers-dark.png b/site/static/docs/[version]/assets/img/examples/headers-dark.png new file mode 100644 index 0000000000..9a64cfa411 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/headers-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/headers-dark@2x.png b/site/static/docs/[version]/assets/img/examples/headers-dark@2x.png new file mode 100644 index 0000000000..73b13fbf65 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/headers-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/headers.png b/site/static/docs/[version]/assets/img/examples/headers.png index 9895762460..15316fae01 100644 Binary files a/site/static/docs/[version]/assets/img/examples/headers.png and b/site/static/docs/[version]/assets/img/examples/headers.png differ diff --git a/site/static/docs/[version]/assets/img/examples/headers@2x.png b/site/static/docs/[version]/assets/img/examples/headers@2x.png index e8de7498cc..db70456623 100644 Binary files a/site/static/docs/[version]/assets/img/examples/headers@2x.png and b/site/static/docs/[version]/assets/img/examples/headers@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/heroes-dark.png b/site/static/docs/[version]/assets/img/examples/heroes-dark.png new file mode 100644 index 0000000000..32f46a784c Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/heroes-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/heroes-dark@2x.png b/site/static/docs/[version]/assets/img/examples/heroes-dark@2x.png new file mode 100644 index 0000000000..bb00f2c774 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/heroes-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/heroes.png b/site/static/docs/[version]/assets/img/examples/heroes.png index e9bc3e627a..4ebb512a1b 100644 Binary files a/site/static/docs/[version]/assets/img/examples/heroes.png and b/site/static/docs/[version]/assets/img/examples/heroes.png differ diff --git a/site/static/docs/[version]/assets/img/examples/heroes@2x.png b/site/static/docs/[version]/assets/img/examples/heroes@2x.png index fff3a72c70..5d2a936502 100644 Binary files a/site/static/docs/[version]/assets/img/examples/heroes@2x.png and b/site/static/docs/[version]/assets/img/examples/heroes@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotron-dark.png b/site/static/docs/[version]/assets/img/examples/jumbotron-dark.png new file mode 100644 index 0000000000..feb824b236 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/jumbotron-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotron-dark@2x.png b/site/static/docs/[version]/assets/img/examples/jumbotron-dark@2x.png new file mode 100644 index 0000000000..af4792e653 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/jumbotron-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotron.png b/site/static/docs/[version]/assets/img/examples/jumbotron.png index 48e0c9c0e0..84de0d16b4 100644 Binary files a/site/static/docs/[version]/assets/img/examples/jumbotron.png and b/site/static/docs/[version]/assets/img/examples/jumbotron.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotron@2x.png b/site/static/docs/[version]/assets/img/examples/jumbotron@2x.png index 229b630076..633ea319b8 100644 Binary files a/site/static/docs/[version]/assets/img/examples/jumbotron@2x.png and b/site/static/docs/[version]/assets/img/examples/jumbotron@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotrons-dark.png b/site/static/docs/[version]/assets/img/examples/jumbotrons-dark.png new file mode 100644 index 0000000000..2d93a7c4d6 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/jumbotrons-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotrons-dark@2x.png b/site/static/docs/[version]/assets/img/examples/jumbotrons-dark@2x.png new file mode 100644 index 0000000000..868350f008 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/jumbotrons-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotrons.png b/site/static/docs/[version]/assets/img/examples/jumbotrons.png index daafe594ba..8b9c71da1b 100644 Binary files a/site/static/docs/[version]/assets/img/examples/jumbotrons.png and b/site/static/docs/[version]/assets/img/examples/jumbotrons.png differ diff --git a/site/static/docs/[version]/assets/img/examples/jumbotrons@2x.png b/site/static/docs/[version]/assets/img/examples/jumbotrons@2x.png index 4e549a484c..27f230d159 100644 Binary files a/site/static/docs/[version]/assets/img/examples/jumbotrons@2x.png and b/site/static/docs/[version]/assets/img/examples/jumbotrons@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/list-groups-dark.png b/site/static/docs/[version]/assets/img/examples/list-groups-dark.png new file mode 100644 index 0000000000..d9cfa4f84d Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/list-groups-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/list-groups-dark@2x.png b/site/static/docs/[version]/assets/img/examples/list-groups-dark@2x.png new file mode 100644 index 0000000000..6523a10e40 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/list-groups-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/list-groups.png b/site/static/docs/[version]/assets/img/examples/list-groups.png index 6c63f93ca1..c57c366c1a 100644 Binary files a/site/static/docs/[version]/assets/img/examples/list-groups.png and b/site/static/docs/[version]/assets/img/examples/list-groups.png differ diff --git a/site/static/docs/[version]/assets/img/examples/list-groups@2x.png b/site/static/docs/[version]/assets/img/examples/list-groups@2x.png index 6181038a61..8d29422169 100644 Binary files a/site/static/docs/[version]/assets/img/examples/list-groups@2x.png and b/site/static/docs/[version]/assets/img/examples/list-groups@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/masonry-dark.png b/site/static/docs/[version]/assets/img/examples/masonry-dark.png new file mode 100644 index 0000000000..97f45ec479 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/masonry-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/masonry-dark@2x.png b/site/static/docs/[version]/assets/img/examples/masonry-dark@2x.png new file mode 100644 index 0000000000..83f52e6377 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/masonry-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/masonry.png b/site/static/docs/[version]/assets/img/examples/masonry.png index 67e0d8a838..c1f41ef6ad 100644 Binary files a/site/static/docs/[version]/assets/img/examples/masonry.png and b/site/static/docs/[version]/assets/img/examples/masonry.png differ diff --git a/site/static/docs/[version]/assets/img/examples/masonry@2x.png b/site/static/docs/[version]/assets/img/examples/masonry@2x.png index fe6d1569eb..ae904277bc 100644 Binary files a/site/static/docs/[version]/assets/img/examples/masonry@2x.png and b/site/static/docs/[version]/assets/img/examples/masonry@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-bottom-dark.png b/site/static/docs/[version]/assets/img/examples/navbar-bottom-dark.png new file mode 100644 index 0000000000..de61f1a139 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbar-bottom-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-bottom-dark@2x.png b/site/static/docs/[version]/assets/img/examples/navbar-bottom-dark@2x.png new file mode 100644 index 0000000000..5120e72d6c Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbar-bottom-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-bottom.png b/site/static/docs/[version]/assets/img/examples/navbar-bottom.png index 77f1dc83a8..654d504686 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbar-bottom.png and b/site/static/docs/[version]/assets/img/examples/navbar-bottom.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-bottom@2x.png b/site/static/docs/[version]/assets/img/examples/navbar-bottom@2x.png index 031e12d2ae..3362a1e778 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbar-bottom@2x.png and b/site/static/docs/[version]/assets/img/examples/navbar-bottom@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-fixed-dark.png b/site/static/docs/[version]/assets/img/examples/navbar-fixed-dark.png new file mode 100644 index 0000000000..b8d1e425d2 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbar-fixed-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-fixed-dark@2x.png b/site/static/docs/[version]/assets/img/examples/navbar-fixed-dark@2x.png new file mode 100644 index 0000000000..1f64847e50 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbar-fixed-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-fixed.png b/site/static/docs/[version]/assets/img/examples/navbar-fixed.png index 1b18d79dd8..2087e34732 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbar-fixed.png and b/site/static/docs/[version]/assets/img/examples/navbar-fixed.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-fixed@2x.png b/site/static/docs/[version]/assets/img/examples/navbar-fixed@2x.png index 6d2a644f78..7f24795439 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbar-fixed@2x.png and b/site/static/docs/[version]/assets/img/examples/navbar-fixed@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-static-dark.png b/site/static/docs/[version]/assets/img/examples/navbar-static-dark.png new file mode 100644 index 0000000000..75e20b329e Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbar-static-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-static-dark@2x.png b/site/static/docs/[version]/assets/img/examples/navbar-static-dark@2x.png new file mode 100644 index 0000000000..c65ac8a243 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbar-static-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-static.png b/site/static/docs/[version]/assets/img/examples/navbar-static.png index eb09fca836..f121220f19 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbar-static.png and b/site/static/docs/[version]/assets/img/examples/navbar-static.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbar-static@2x.png b/site/static/docs/[version]/assets/img/examples/navbar-static@2x.png index 6cf7c52eaf..c3b67fd36c 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbar-static@2x.png and b/site/static/docs/[version]/assets/img/examples/navbar-static@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars-dark.png b/site/static/docs/[version]/assets/img/examples/navbars-dark.png new file mode 100644 index 0000000000..2e3872a4f6 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbars-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars-dark@2x.png b/site/static/docs/[version]/assets/img/examples/navbars-dark@2x.png new file mode 100644 index 0000000000..cc58b6b466 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbars-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars-drawer-dark.png b/site/static/docs/[version]/assets/img/examples/navbars-drawer-dark.png new file mode 100644 index 0000000000..a3b0111970 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbars-drawer-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars-drawer-dark@2x.png b/site/static/docs/[version]/assets/img/examples/navbars-drawer-dark@2x.png new file mode 100644 index 0000000000..728575ab50 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/navbars-drawer-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars-drawer.png b/site/static/docs/[version]/assets/img/examples/navbars-drawer.png index a628dffc0f..a95c22d2b2 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbars-drawer.png and b/site/static/docs/[version]/assets/img/examples/navbars-drawer.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars-drawer@2x.png b/site/static/docs/[version]/assets/img/examples/navbars-drawer@2x.png index 83acbca562..5044484000 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbars-drawer@2x.png and b/site/static/docs/[version]/assets/img/examples/navbars-drawer@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars.png b/site/static/docs/[version]/assets/img/examples/navbars.png index a81e85cbdf..e94cd90e2b 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbars.png and b/site/static/docs/[version]/assets/img/examples/navbars.png differ diff --git a/site/static/docs/[version]/assets/img/examples/navbars@2x.png b/site/static/docs/[version]/assets/img/examples/navbars@2x.png index dc0cea0854..275adfada9 100644 Binary files a/site/static/docs/[version]/assets/img/examples/navbars@2x.png and b/site/static/docs/[version]/assets/img/examples/navbars@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/offcanvas-navbar.png b/site/static/docs/[version]/assets/img/examples/offcanvas-navbar.png deleted file mode 100644 index 9540fe5962..0000000000 Binary files a/site/static/docs/[version]/assets/img/examples/offcanvas-navbar.png and /dev/null differ diff --git a/site/static/docs/[version]/assets/img/examples/offcanvas-navbar@2x.png b/site/static/docs/[version]/assets/img/examples/offcanvas-navbar@2x.png deleted file mode 100644 index abb13bc379..0000000000 Binary files a/site/static/docs/[version]/assets/img/examples/offcanvas-navbar@2x.png and /dev/null differ diff --git a/site/static/docs/[version]/assets/img/examples/pricing-dark.png b/site/static/docs/[version]/assets/img/examples/pricing-dark.png new file mode 100644 index 0000000000..67d3245730 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/pricing-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/pricing-dark@2x.png b/site/static/docs/[version]/assets/img/examples/pricing-dark@2x.png new file mode 100644 index 0000000000..1933dce6f3 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/pricing-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/pricing.png b/site/static/docs/[version]/assets/img/examples/pricing.png index ea7224615a..4dbdb86f1c 100644 Binary files a/site/static/docs/[version]/assets/img/examples/pricing.png and b/site/static/docs/[version]/assets/img/examples/pricing.png differ diff --git a/site/static/docs/[version]/assets/img/examples/pricing@2x.png b/site/static/docs/[version]/assets/img/examples/pricing@2x.png index 543b0a3f28..209d35d595 100644 Binary files a/site/static/docs/[version]/assets/img/examples/pricing@2x.png and b/site/static/docs/[version]/assets/img/examples/pricing@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/product-dark.png b/site/static/docs/[version]/assets/img/examples/product-dark.png new file mode 100644 index 0000000000..d444c63280 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/product-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/product-dark@2x.png b/site/static/docs/[version]/assets/img/examples/product-dark@2x.png new file mode 100644 index 0000000000..131c9d7036 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/product-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/product.png b/site/static/docs/[version]/assets/img/examples/product.png index a95eff6221..16aed1eeca 100644 Binary files a/site/static/docs/[version]/assets/img/examples/product.png and b/site/static/docs/[version]/assets/img/examples/product.png differ diff --git a/site/static/docs/[version]/assets/img/examples/product@2x.png b/site/static/docs/[version]/assets/img/examples/product@2x.png index 1dfe454821..ddefd8cb38 100644 Binary files a/site/static/docs/[version]/assets/img/examples/product@2x.png and b/site/static/docs/[version]/assets/img/examples/product@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sidebars-dark.png b/site/static/docs/[version]/assets/img/examples/sidebars-dark.png new file mode 100644 index 0000000000..ca5e86ec48 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sidebars-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sidebars-dark@2x.png b/site/static/docs/[version]/assets/img/examples/sidebars-dark@2x.png new file mode 100644 index 0000000000..a98c0b4e6b Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sidebars-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sidebars.png b/site/static/docs/[version]/assets/img/examples/sidebars.png index 00efb311e7..6a7041aa93 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sidebars.png and b/site/static/docs/[version]/assets/img/examples/sidebars.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sidebars@2x.png b/site/static/docs/[version]/assets/img/examples/sidebars@2x.png index cb167e5351..4062a8cb0a 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sidebars@2x.png and b/site/static/docs/[version]/assets/img/examples/sidebars@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sign-in-dark.png b/site/static/docs/[version]/assets/img/examples/sign-in-dark.png new file mode 100644 index 0000000000..b6120e16de Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sign-in-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sign-in-dark@2x.png b/site/static/docs/[version]/assets/img/examples/sign-in-dark@2x.png new file mode 100644 index 0000000000..1da605afc7 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sign-in-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sign-in.png b/site/static/docs/[version]/assets/img/examples/sign-in.png index 8d57f561ca..87c8540da4 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sign-in.png and b/site/static/docs/[version]/assets/img/examples/sign-in.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sign-in@2x.png b/site/static/docs/[version]/assets/img/examples/sign-in@2x.png index 477335984d..136bd98d1c 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sign-in@2x.png and b/site/static/docs/[version]/assets/img/examples/sign-in@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/starter-template-dark.png b/site/static/docs/[version]/assets/img/examples/starter-template-dark.png new file mode 100644 index 0000000000..2d5ae292a4 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/starter-template-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/starter-template-dark@2x.png b/site/static/docs/[version]/assets/img/examples/starter-template-dark@2x.png new file mode 100644 index 0000000000..f39e9c1820 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/starter-template-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/starter-template.png b/site/static/docs/[version]/assets/img/examples/starter-template.png index d4b20217ac..6cadd55c0b 100644 Binary files a/site/static/docs/[version]/assets/img/examples/starter-template.png and b/site/static/docs/[version]/assets/img/examples/starter-template.png differ diff --git a/site/static/docs/[version]/assets/img/examples/starter-template@2x.png b/site/static/docs/[version]/assets/img/examples/starter-template@2x.png index 9323837caa..e3bf7b74e1 100644 Binary files a/site/static/docs/[version]/assets/img/examples/starter-template@2x.png and b/site/static/docs/[version]/assets/img/examples/starter-template@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer-dark.png b/site/static/docs/[version]/assets/img/examples/sticky-footer-dark.png new file mode 100644 index 0000000000..7c530c307f Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sticky-footer-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer-dark@2x.png b/site/static/docs/[version]/assets/img/examples/sticky-footer-dark@2x.png new file mode 100644 index 0000000000..aa7826f6be Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sticky-footer-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar-dark.png b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar-dark.png new file mode 100644 index 0000000000..bd86b321c8 Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar-dark.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar-dark@2x.png b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar-dark@2x.png new file mode 100644 index 0000000000..0c1008e96b Binary files /dev/null and b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar-dark@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar.png b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar.png index 8417cc8300..99069cd788 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar.png and b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar@2x.png b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar@2x.png index 1abb382230..1a7dc185ab 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar@2x.png and b/site/static/docs/[version]/assets/img/examples/sticky-footer-navbar@2x.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer.png b/site/static/docs/[version]/assets/img/examples/sticky-footer.png index c5ea6ef820..9bb7736b0f 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sticky-footer.png and b/site/static/docs/[version]/assets/img/examples/sticky-footer.png differ diff --git a/site/static/docs/[version]/assets/img/examples/sticky-footer@2x.png b/site/static/docs/[version]/assets/img/examples/sticky-footer@2x.png index 5a008a0ac3..883d5979fc 100644 Binary files a/site/static/docs/[version]/assets/img/examples/sticky-footer@2x.png and b/site/static/docs/[version]/assets/img/examples/sticky-footer@2x.png differ