Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ff0bd51d99 | |||
| fb93bf0f7c | |||
| 4a90884035 | |||
| 2b89ee2c79 | |||
| 612584a140 | |||
| ed8c28a835 | |||
| ecfddb4e38 | |||
| 6ce0c62e21 | |||
| 930740afbc | |||
| f545964f8f |
@@ -18,7 +18,7 @@ jobs:
|
||||
browserstack:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'twbs/bootstrap'
|
||||
timeout-minutes: 15
|
||||
timeout-minutes: 30
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
name: LambdaTest
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "**"
|
||||
- "!dependabot/**"
|
||||
workflow_dispatch:
|
||||
|
||||
env:
|
||||
FORCE_COLOR: 2
|
||||
NODE: 20
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
lambdatest:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'twbs/bootstrap'
|
||||
timeout-minutes: 15
|
||||
|
||||
steps:
|
||||
- name: Clone repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
persist-credentials: false
|
||||
|
||||
- name: Set up Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "${{ env.NODE }}"
|
||||
cache: npm
|
||||
|
||||
- name: Install npm dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run dist
|
||||
run: npm run dist
|
||||
|
||||
- name: Run LambdaTest tests
|
||||
run: npm run js-test-lt-cloud
|
||||
env:
|
||||
LT_USERNAME: "${{ secrets.LT_USERNAME }}"
|
||||
LT_ACCESS_KEY: "${{ secrets.LT_ACCESS_KEY }}"
|
||||
LT_TUNNEL_NAME: "tunnel-${{ github.sha }}"
|
||||
GITHUB_SHA: "${{ github.sha }}"
|
||||
@@ -41,4 +41,3 @@ Thumbs.db
|
||||
/dist-sass/
|
||||
/js/coverage/
|
||||
/node_modules/
|
||||
/.lambdatest/
|
||||
|
||||
@@ -28,6 +28,21 @@ enableRobotsTXT: true
|
||||
metaDataFormat: "yaml"
|
||||
disableKinds: ["404", "taxonomy", "term", "RSS"]
|
||||
|
||||
outputFormats:
|
||||
OpenSearch:
|
||||
baseName: opensearch
|
||||
isPlainText: true
|
||||
mediaType: application/xml
|
||||
notAlternative: true
|
||||
|
||||
outputs:
|
||||
home:
|
||||
- HTML
|
||||
- OpenSearch
|
||||
page:
|
||||
- HTML
|
||||
- OpenSearch
|
||||
|
||||
publishDir: "_site"
|
||||
|
||||
module:
|
||||
|
||||
+68
-142
@@ -3,149 +3,75 @@
|
||||
'use strict'
|
||||
|
||||
const browsers = {
|
||||
browserStack: {
|
||||
safariMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Catalina',
|
||||
browser: 'Safari',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
chromeMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Catalina',
|
||||
browser: 'Chrome',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
firefoxMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Catalina',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
chromeWin10: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Chrome',
|
||||
browser_version: '60'
|
||||
},
|
||||
firefoxWin10: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Firefox',
|
||||
browser_version: '60'
|
||||
},
|
||||
chromeWin10Latest: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Chrome',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
firefoxWin10Latest: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
iphone7: {
|
||||
base: 'BrowserStack',
|
||||
os: 'ios',
|
||||
os_version: '12.0',
|
||||
device: 'iPhone 7',
|
||||
real_mobile: true
|
||||
},
|
||||
iphone12: {
|
||||
base: 'BrowserStack',
|
||||
os: 'ios',
|
||||
os_version: '14.0',
|
||||
device: 'iPhone 12',
|
||||
real_mobile: true
|
||||
},
|
||||
pixel3: {
|
||||
base: 'BrowserStack',
|
||||
os: 'android',
|
||||
os_version: '9.0',
|
||||
device: 'Google Pixel 3',
|
||||
real_mobile: true
|
||||
}
|
||||
safariMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Catalina',
|
||||
browser: 'Safari',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
lambdaTest: {
|
||||
safariMac: {
|
||||
browserName: 'Safari',
|
||||
browserVersion: 'latest',
|
||||
'LT:Options': {
|
||||
platformName: 'MacOS Monterey'
|
||||
}
|
||||
},
|
||||
chromeMac: {
|
||||
browserName: 'Chrome',
|
||||
browserVersion: 'latest',
|
||||
'LT:Options': {
|
||||
platformName: 'MacOS Monterey'
|
||||
}
|
||||
},
|
||||
firefoxMac: {
|
||||
browserName: 'Firefox',
|
||||
browserVersion: 'latest',
|
||||
'LT:Options': {
|
||||
platformName: 'MacOS Monterey'
|
||||
}
|
||||
},
|
||||
chromeWin10: {
|
||||
browserName: 'Chrome',
|
||||
browserVersion: '60',
|
||||
'LT:Options': {
|
||||
platformName: 'Windows 10'
|
||||
}
|
||||
},
|
||||
firefoxWin10: {
|
||||
browserName: 'Firefox',
|
||||
browserVersion: '60',
|
||||
'LT:Options': {
|
||||
platformName: 'Windows 10'
|
||||
}
|
||||
},
|
||||
chromeWin10Latest: {
|
||||
browserName: 'Chrome',
|
||||
browserVersion: 'latest',
|
||||
'LT:Options': {
|
||||
platformName: 'Windows 10'
|
||||
}
|
||||
},
|
||||
firefoxWin10Latest: {
|
||||
browserName: 'Firefox',
|
||||
browserVersion: 'latest',
|
||||
'LT:Options': {
|
||||
platformName: 'Windows 10'
|
||||
}
|
||||
},
|
||||
ios15: {
|
||||
platformName: 'ios',
|
||||
platformVersion: '15',
|
||||
browserName: 'Safari',
|
||||
deviceName: 'iPhone.*',
|
||||
isRealMobile: true
|
||||
},
|
||||
ios16: {
|
||||
platformName: 'ios',
|
||||
platformVersion: '16',
|
||||
browserName: 'Safari',
|
||||
deviceName: 'iPhone.*',
|
||||
isRealMobile: true
|
||||
},
|
||||
android12: {
|
||||
platformName: 'android',
|
||||
platformVersion: '12',
|
||||
browserName: 'Chrome',
|
||||
deviceName: 'Pixel.*',
|
||||
isRealMobile: true
|
||||
}
|
||||
chromeMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Catalina',
|
||||
browser: 'Chrome',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
firefoxMac: {
|
||||
base: 'BrowserStack',
|
||||
os: 'OS X',
|
||||
os_version: 'Catalina',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
chromeWin10: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Chrome',
|
||||
browser_version: '60'
|
||||
},
|
||||
firefoxWin10: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Firefox',
|
||||
browser_version: '60'
|
||||
},
|
||||
chromeWin10Latest: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Chrome',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
firefoxWin10Latest: {
|
||||
base: 'BrowserStack',
|
||||
os: 'Windows',
|
||||
os_version: '10',
|
||||
browser: 'Firefox',
|
||||
browser_version: 'latest'
|
||||
},
|
||||
iphone7: {
|
||||
base: 'BrowserStack',
|
||||
os: 'ios',
|
||||
os_version: '12.0',
|
||||
device: 'iPhone 7',
|
||||
real_mobile: true
|
||||
},
|
||||
iphone12: {
|
||||
base: 'BrowserStack',
|
||||
os: 'ios',
|
||||
os_version: '14.0',
|
||||
device: 'iPhone 12',
|
||||
real_mobile: true
|
||||
},
|
||||
pixel2: {
|
||||
base: 'BrowserStack',
|
||||
os: 'android',
|
||||
os_version: '8.0',
|
||||
device: 'Google Pixel 2',
|
||||
real_mobile: true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+9
-62
@@ -9,21 +9,9 @@ const replace = require('@rollup/plugin-replace')
|
||||
const { browsers } = require('./browsers.js')
|
||||
|
||||
const ENV = process.env
|
||||
const BROWSERSTACK = Boolean(ENV.BROWSERSTACK)
|
||||
const DEBUG = Boolean(ENV.DEBUG)
|
||||
const JQUERY_TEST = Boolean(ENV.JQUERY)
|
||||
const BROWSERSTACK = Boolean(ENV.BROWSERSTACK)
|
||||
const LAMBDATEST = Boolean(ENV.LAMBDATEST)
|
||||
|
||||
const webDriverConfig = {
|
||||
desktop: {
|
||||
hostname: 'hub.lambdatest.com',
|
||||
port: 80
|
||||
},
|
||||
mobile: {
|
||||
hostname: 'mobile-hub.lambdatest.com',
|
||||
port: 80
|
||||
}
|
||||
}
|
||||
|
||||
const frameworks = [
|
||||
'jasmine'
|
||||
@@ -66,23 +54,15 @@ const config = {
|
||||
colors: true,
|
||||
autoWatch: false,
|
||||
singleRun: true,
|
||||
captureTimeout: 180_000,
|
||||
browserDisconnectTolerance: 3,
|
||||
browserDisconnectTimeout: 180_000,
|
||||
browserNoActivityTimeout: 400_000,
|
||||
retryLimit: 2,
|
||||
concurrency: 5,
|
||||
concurrency: Number.POSITIVE_INFINITY,
|
||||
client: {
|
||||
clearContext: false,
|
||||
jasmine: {
|
||||
timeoutInterval: 120_000
|
||||
}
|
||||
clearContext: false
|
||||
},
|
||||
files: [
|
||||
'node_modules/hammer-simulator/index.js',
|
||||
{
|
||||
pattern: 'js/tests/unit/**/!(jquery).spec.js',
|
||||
watched: !BROWSERSTACK && !LAMBDATEST
|
||||
watched: !BROWSERSTACK
|
||||
}
|
||||
],
|
||||
preprocessors: {
|
||||
@@ -118,51 +98,18 @@ const config = {
|
||||
}
|
||||
}
|
||||
|
||||
if (LAMBDATEST) {
|
||||
config.hostname = 'localhost.lambdatest.com'
|
||||
config.captureTimeout = 600_000
|
||||
|
||||
for (const key of Object.keys(browsers.lambdaTest)) {
|
||||
browsers.lambdaTest[key].base = 'WebDriver'
|
||||
browsers.lambdaTest[key].build = `bootstrap-${ENV.GITHUB_SHA ? `${ENV.GITHUB_SHA.slice(0, 7)}-` : ''}${new Date().toISOString()}`
|
||||
browsers.lambdaTest[key].project = 'Bootstrap'
|
||||
|
||||
if (browsers.lambdaTest[key].isRealMobile) {
|
||||
browsers.lambdaTest[key].config = webDriverConfig.mobile
|
||||
browsers.lambdaTest[key].user = ENV.LT_USERNAME
|
||||
browsers.lambdaTest[key].accessKey = ENV.LT_ACCESS_KEY
|
||||
browsers.lambdaTest[key].tunnel = true
|
||||
browsers.lambdaTest[key].console = true
|
||||
browsers.lambdaTest[key].network = true
|
||||
browsers.lambdaTest[key].tunnelName = ENV.LT_TUNNEL_NAME || 'jasmine'
|
||||
browsers.lambdaTest[key].pseudoActivityInterval = 5000 // 5000 ms heartbeat
|
||||
} else {
|
||||
browsers.lambdaTest[key].config = webDriverConfig.desktop
|
||||
browsers.lambdaTest[key]['LT:Options'].username = ENV.LT_USERNAME
|
||||
browsers.lambdaTest[key]['LT:Options'].accessKey = ENV.LT_ACCESS_KEY
|
||||
browsers.lambdaTest[key]['LT:Options'].tunnel = true
|
||||
browsers.lambdaTest[key]['LT:Options'].console = true
|
||||
browsers.lambdaTest[key]['LT:Options'].network = true
|
||||
browsers.lambdaTest[key]['LT:Options'].tunnelName = ENV.LT_TUNNEL_NAME || 'jasmine'
|
||||
browsers.lambdaTest[key]['LT:Options'].pseudoActivityInterval = 5000 // 5000 ms heartbeat
|
||||
}
|
||||
}
|
||||
|
||||
plugins.push('karma-webdriver-launcher', 'karma-jasmine-html-reporter')
|
||||
config.customLaunchers = browsers.lambdaTest
|
||||
config.browsers = Object.keys(browsers.lambdaTest)
|
||||
reporters.push('kjhtml')
|
||||
} else if (BROWSERSTACK) {
|
||||
if (BROWSERSTACK) {
|
||||
config.hostname = ip.address()
|
||||
config.browserStack = {
|
||||
username: ENV.BROWSER_STACK_USERNAME,
|
||||
accessKey: ENV.BROWSER_STACK_ACCESS_KEY,
|
||||
build: `bootstrap-${ENV.GITHUB_SHA ? `${ENV.GITHUB_SHA.slice(0, 7)}-` : ''}${new Date().toISOString()}`,
|
||||
project: 'Bootstrap'
|
||||
project: 'Bootstrap',
|
||||
retryLimit: 2
|
||||
}
|
||||
plugins.push('karma-browserstack-launcher', 'karma-jasmine-html-reporter')
|
||||
config.customLaunchers = browsers.browserStack
|
||||
config.browsers = Object.keys(browsers.browserStack)
|
||||
config.customLaunchers = browsers
|
||||
config.browsers = Object.keys(browsers)
|
||||
reporters.push('BrowserStack', 'kjhtml')
|
||||
} else if (JQUERY_TEST) {
|
||||
frameworks.push('detectBrowsers')
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
/* eslint-env node */
|
||||
/* eslint-disable no-console */
|
||||
|
||||
'use strict'
|
||||
|
||||
const process = require('node:process')
|
||||
const lambdaTunnel = require('@lambdatest/node-tunnel')
|
||||
|
||||
if (process.env.LAMBDATEST !== 'true') {
|
||||
console.log('Skipping lt-local script!')
|
||||
return
|
||||
}
|
||||
|
||||
const tunnelInstance = new lambdaTunnel() // eslint-disable-line new-cap
|
||||
const tunnelArguments = {
|
||||
user: process.env.LT_USERNAME,
|
||||
key: process.env.LT_ACCESS_KEY,
|
||||
tunnelName: process.env.LT_TUNNEL_NAME || 'jasmine',
|
||||
logFile: 'local.log'
|
||||
};
|
||||
|
||||
// eslint-disable-next-line unicorn/prefer-top-level-await
|
||||
(async () => {
|
||||
await tunnelInstance.start(tunnelArguments)
|
||||
await new Promise(res => {
|
||||
setTimeout(res, 5000)
|
||||
})
|
||||
})()
|
||||
Generated
+408
-1752
File diff suppressed because it is too large
Load Diff
+3
-9
@@ -72,9 +72,6 @@
|
||||
"js-test-integration-bundle": "rollup --config js/tests/integration/rollup.bundle.js",
|
||||
"js-test-integration-modularity": "rollup --config js/tests/integration/rollup.bundle-modularity.js",
|
||||
"js-test-cloud": "cross-env BROWSERSTACK=true npm run js-test-karma",
|
||||
"js-test-lt-cloud": "cross-env LAMBDATEST=true npm-run-all --parallel --race js-test-lt-local js-test-karma",
|
||||
"js-test-lt-local": "npm-run-all js-test-lt-tunnel sleep",
|
||||
"js-test-lt-tunnel": "node js/tests/lt-local",
|
||||
"js-test-jquery": "cross-env JQUERY=true npm run js-test-karma",
|
||||
"lint": "npm-run-all --aggregate-output --continue-on-error --parallel js-lint css-lint lockfile-lint",
|
||||
"docs": "npm-run-all docs-build docs-lint",
|
||||
@@ -85,7 +82,7 @@
|
||||
"docs-serve": "hugo server --port 9001 --disableFastRender --noHTTPCache --renderToMemory --printPathWarnings --printUnusedTemplates",
|
||||
"docs-serve-only": "npx sirv-cli _site --port 9001",
|
||||
"lockfile-lint": "lockfile-lint --allowed-hosts npm --allowed-schemes https: --empty-hostname false --type npm --path package-lock.json",
|
||||
"update-deps": "ncu -u -x globby,jasmine,karma-rollup-preprocessor && echo Manually update site/assets/js/vendor",
|
||||
"update-deps": "ncu -u -x globby,jasmine,karma-browserstack-launcher,karma-rollup-preprocessor && echo Manually update site/assets/js/vendor",
|
||||
"release": "npm-run-all dist release-sri docs-build release-zip*",
|
||||
"release-sri": "node build/generate-sri.mjs",
|
||||
"release-version": "node build/change-version.mjs",
|
||||
@@ -100,8 +97,7 @@
|
||||
"watch-css-docs": "nodemon --watch site/assets/scss/ --ext scss --exec \"npm run css-lint\"",
|
||||
"watch-css-test": "nodemon --watch scss/ --ext scss,js --exec \"npm run css-test\"",
|
||||
"watch-js-main": "nodemon --watch js/src/ --ext js --exec \"npm-run-all js-lint js-compile\"",
|
||||
"watch-js-docs": "nodemon --watch site/assets/js/ --ext js --exec \"npm run js-lint\"",
|
||||
"sleep": "sleep 5"
|
||||
"watch-js-docs": "nodemon --watch site/assets/js/ --ext js --exec \"npm run js-lint\""
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@popperjs/core": "^2.11.8"
|
||||
@@ -110,7 +106,6 @@
|
||||
"@babel/cli": "^7.23.9",
|
||||
"@babel/core": "^7.24.0",
|
||||
"@babel/preset-env": "^7.24.0",
|
||||
"@lambdatest/node-tunnel": "^4.0.7",
|
||||
"@popperjs/core": "^2.11.8",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-commonjs": "^25.0.7",
|
||||
@@ -134,7 +129,7 @@
|
||||
"jasmine": "^5.1.0",
|
||||
"jquery": "^3.7.1",
|
||||
"karma": "^6.4.3",
|
||||
"karma-browserstack-launcher": "^1.6.0",
|
||||
"karma-browserstack-launcher": "1.4.0",
|
||||
"karma-chrome-launcher": "^3.2.0",
|
||||
"karma-coverage-istanbul-reporter": "^3.0.3",
|
||||
"karma-detect-browsers": "^2.3.3",
|
||||
@@ -142,7 +137,6 @@
|
||||
"karma-jasmine": "^5.1.0",
|
||||
"karma-jasmine-html-reporter": "^2.1.0",
|
||||
"karma-rollup-preprocessor": "7.0.7",
|
||||
"karma-webdriver-launcher": "^1.0.8",
|
||||
"lockfile-lint": "^4.13.2",
|
||||
"nodemon": "^3.1.0",
|
||||
"npm-run-all2": "^6.1.2",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
|
||||
const siteDocsVersion = searchElement.getAttribute('data-bd-docs-version')
|
||||
|
||||
window.docsearch({
|
||||
const search = window.docsearch({
|
||||
apiKey: '3151f502c7b9e9dafd5e6372b691a24e',
|
||||
indexName: 'bootstrap',
|
||||
appId: 'AK7KMZKZHQ',
|
||||
@@ -42,4 +42,18 @@
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
function hashSearch() {
|
||||
const SEARCH_WORD = '#search='
|
||||
|
||||
if (window.location.hash && window.location.hash.startsWith(SEARCH_WORD)) {
|
||||
search.input.autocomplete.setVal(window.location.hash.slice(SEARCH_WORD.length))
|
||||
search.input.autocomplete.open()
|
||||
}
|
||||
}
|
||||
|
||||
hashSearch()
|
||||
|
||||
// For the nerds: search by changing the url hash
|
||||
window.addEventListener('hashchange', hashSearch, false)
|
||||
})()
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
--docsearch-muted-color: var(--bs-secondary-color);
|
||||
--docsearch-hit-shadow: none;
|
||||
|
||||
position: fixed;
|
||||
z-index: 2000; // Make sure to be over all components showcased in the documentation
|
||||
cursor: auto; // Needed because of [role="button"] in Algolia search modal. Remove once https://github.com/algolia/docsearch/issues/1370 is tackled.
|
||||
|
||||
|
||||
@@ -158,7 +158,7 @@
|
||||
|
||||
{{ .Content }}
|
||||
|
||||
{{- if eq hugo.Environment "production" -}}
|
||||
{{- if hugo.IsProduction -}}
|
||||
<script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.min.js" {{ printf "integrity=%q" .Site.Params.cdn.js_bundle_hash | safeHTMLAttr }}></script>
|
||||
{{- else -}}
|
||||
<script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.js"></script>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/" xmlns:moz="http://www.mozilla.org/2006/browser/search/">
|
||||
<ShortName>{{ .Site.Title }}</ShortName>
|
||||
<Description>Search {{ .Site.Title }} Documentation</Description>
|
||||
<InputEncoding>UTF-8</InputEncoding>
|
||||
<Image type="image/x-icon" width="16" height="16">{{ (urls.JoinPath "/docs" .Site.Params.docs_version "assets/img/favicons/favicon.ico") | absURL }}</Image>
|
||||
<Url type="text/html" method="get" template="{{ "/" | absURL }}#search={searchTerms}"/>
|
||||
</OpenSearchDescription>
|
||||
@@ -23,7 +23,7 @@
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="offcanvas-lg offcanvas-end flex-grow-1" tabindex="-1" id="bdNavbar" aria-labelledby="bdNavbarOffcanvasLabel" data-bs-scroll="true">
|
||||
<div class="offcanvas-lg offcanvas-end flex-grow-1" tabindex="-1" id="bdNavbar" aria-labelledby="bdNavbarOffcanvasLabel">
|
||||
<div class="offcanvas-header px-4 pb-0">
|
||||
<h5 class="offcanvas-title text-white" id="bdNavbarOffcanvasLabel">Bootstrap</h5>
|
||||
<button type="button" class="btn-close btn-close-white" data-bs-dismiss="offcanvas" aria-label="Close" data-bs-target="#bdNavbar"></button>
|
||||
|
||||
@@ -11,6 +11,10 @@
|
||||
|
||||
<link rel="canonical" href="{{ .Permalink }}">
|
||||
|
||||
{{ with .OutputFormats.Get "opensearch" -}}
|
||||
<link rel="search" href="{{ .Permalink }}" title="{{ $.Site.Title }}" type="application/opensearchdescription+xml">
|
||||
{{ end -}}
|
||||
|
||||
<link rel="preconnect" href="https://AK7KMZKZHQ-dsn.algolia.net" crossorigin>
|
||||
|
||||
{{ with .Params.robots -}}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{{ if eq hugo.Environment "production" -}}
|
||||
{{ if hugo.IsProduction -}}
|
||||
<script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.min.js" {{ printf "integrity=%q" .Site.Params.cdn.js_bundle_hash | safeHTMLAttr }}></script>
|
||||
{{ else -}}
|
||||
<script src="/docs/{{ .Site.Params.docs_version }}/dist/js/bootstrap.bundle.js"></script>
|
||||
@@ -15,7 +15,7 @@
|
||||
{{- $targetDocsJSPath := path.Join "/docs" .Site.Params.docs_version "assets/js/docs.js" -}}
|
||||
{{- $docsJs := append $js $vendor | resources.Concat $targetDocsJSPath -}}
|
||||
|
||||
{{- if eq hugo.Environment "production" -}}
|
||||
{{- if hugo.IsProduction -}}
|
||||
{{- $docsJs = $docsJs | resources.Minify -}}
|
||||
{{- end }}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@docsearch/css@3">
|
||||
|
||||
{{ if eq hugo.Environment "production" -}}
|
||||
{{ if hugo.IsProduction -}}
|
||||
{{ if eq .Page.Params.direction "rtl" -}}
|
||||
<link href="/docs/{{ .Site.Params.docs_version }}/dist/css/bootstrap.rtl.min.css" rel="stylesheet" {{ printf "integrity=%q" .Site.Params.cdn.css_rtl_hash | safeHTMLAttr }}>
|
||||
{{- else -}}
|
||||
@@ -15,7 +15,7 @@
|
||||
{{- $sassOptions := dict "targetPath" $targetDocsCssPath "outputStyle" "expanded" "precision" 6 -}}
|
||||
{{- $postcssOptions := dict "use" "autoprefixer" "noMap" true -}}
|
||||
|
||||
{{ if eq hugo.Environment "production" -}}
|
||||
{{ if hugo.IsProduction -}}
|
||||
{{- $sassOptions = merge $sassOptions (dict "outputStyle" "compressed") -}}
|
||||
{{- end -}}
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
# www.robotstxt.org
|
||||
|
||||
{{- $isProduction := eq hugo.Environment "production" -}}
|
||||
{{- $isNetlify := eq (getenv "NETLIFY") "true" -}}
|
||||
{{- $allowCrawling := and (not $isNetlify) $isProduction -}}
|
||||
{{- $allowCrawling := and (not $isNetlify) hugo.IsProduction -}}
|
||||
|
||||
{{ if $allowCrawling }}
|
||||
# Allow crawling of all content
|
||||
|
||||
Reference in New Issue
Block a user