Skip to content

Commit 0e920ce

Browse files
committed
Reorganize docs for easier deploys
With the current docs directory setup, I'm making too many mistakes and have to manually address path changes and directory moves on deploy. This makes for a frustrating experience developing locally and shipping releases. With this PR, we're basically back to the same setup from v3—duplicating the dist directory into our docs directory. Not the most ideal, but very straightforward for me as the release manager.
1 parent 9e126b2 commit 0e920ce

File tree

243 files changed

+171
-186
lines changed

Some content is hidden

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

243 files changed

+171
-186
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Ignore docs files
22
_gh_pages
33
_site
4+
site/docs/4.1/dist/
45

56
# Ignore ruby files
67
.ruby-version

README.md

+3-3

_config.yml

+2-20
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,15 @@ kramdown:
99
permalink: pretty
1010

1111
# Server
12-
source: "."
12+
source: "site"
1313
destination: ./_gh_pages
1414
host: 0.0.0.0
1515
port: 9001
1616
baseurl: ""
1717
url: "https://getbootstrap.com"
1818
encoding: UTF-8
1919
exclude:
20-
- .git/
21-
- .github/
22-
- assets/scss/
23-
- build/
24-
- js/
25-
- node_modules/
26-
- nuget/
27-
- scss/
28-
- vendor/
29-
- CODE_OF_CONDUCT.md
30-
- composer.json
31-
- Gemfile
32-
- Gemfile.lock
33-
- package.js
34-
- package.json
35-
- package-lock.json
36-
- README.md
37-
- sache.json
38-
- twbsconfig.yml
20+
- docs/4.1/assets/scss/
3921

4022
plugins:
4123
- jekyll-redirect-from

_includes/favicons.html

-9
This file was deleted.

_includes/scripts.html

-26
This file was deleted.

assets/css/docs.min.css.map

-1
This file was deleted.

build/generate-sri.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ const files = [
3434
configPropertyName: 'js_hash'
3535
},
3636
{
37-
file: 'assets/js/vendor/jquery-slim.min.js',
37+
file: 'site/docs/4.1/assets/js/vendor/jquery-slim.min.js',
3838
configPropertyName: 'jquery_hash'
3939
},
4040
{
41-
file: 'assets/js/vendor/popper.min.js',
41+
file: 'site/docs/4.1/assets/js/vendor/popper.min.js',
4242
configPropertyName: 'popper_hash'
4343
}
4444
]

build/workbox.config.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@
33
"globPatterns": [
44
"_gh_pages/**/*.{html,css,js,json,png,svg}"
55
],
6-
"swSrc": "./sw.js",
6+
"swSrc": "./site/sw.js",
77
"swDest": "./_gh_pages/sw.js"
88
}

build/workbox.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ const buildPrefix = '_gh_pages/'
1616

1717
const workboxSWSrcPath = require.resolve('workbox-sw')
1818
const wbFileName = path.basename(workboxSWSrcPath)
19-
const workboxSWDestPath = `${buildPrefix}assets/js/vendor/${wbFileName}`
19+
const workboxSWDestPath = `${buildPrefix}docs/4.1/assets/js/vendor/${wbFileName}`
2020
const workboxSWSrcMapPath = `${workboxSWSrcPath}.map`
2121
const workboxSWDestMapPath = `${workboxSWDestPath}.map`
2222

js/tests/index.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<!-- jQuery -->
99
<script>
1010
(function () {
11-
var path = '../../assets/js/vendor/jquery-slim.min.js'
11+
var path = '../../site/docs/4.1/assets/js/vendor/jquery-slim.min.js'
1212
// get jquery param from the query string.
1313
var jQueryVersion = location.search.match(/[?&]jquery=(.*?)(?=&|$)/)
1414

@@ -19,7 +19,7 @@
1919
document.write('<script src="' + path + '"><\/script>')
2020
}())
2121
</script>
22-
<script src="../../assets/js/vendor/popper.min.js"></script>
22+
<script src="../../site/docs/4.1/assets/js/vendor/popper.min.js"></script>
2323

2424
<!-- QUnit -->
2525
<link rel="stylesheet" href="../../node_modules/qunit/qunit/qunit.css" media="screen">

js/tests/karma-bundle.conf.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/* eslint no-process-env: 0 */
33

44
module.exports = (config) => {
5-
const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'assets/js/vendor/jquery-slim.min.js'
5+
const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'site/docs/4.1/assets/js/vendor/jquery-slim.min.js'
66

77
config.set({
88
basePath: '../..',
@@ -17,7 +17,7 @@ module.exports = (config) => {
1717
// list of files / patterns to load in the browser
1818
files: [
1919
jqueryFile,
20-
'assets/js/vendor/popper.min.js',
20+
'site/docs/4.1/assets/js/vendor/popper.min.js',
2121
'dist/js/bootstrap.js',
2222
'js/tests/unit/*.js'
2323
],

js/tests/karma.conf.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const path = require('path')
44
const jsCoveragePath = path.resolve(__dirname, '../coverage')
55

66
module.exports = (config) => {
7-
const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'assets/js/vendor/jquery-slim.min.js'
7+
const jqueryFile = process.env.USE_OLD_JQUERY ? 'https://code.jquery.com/jquery-1.9.1.min.js' : 'site/docs/4.1/assets/js/vendor/jquery-slim.min.js'
88

99
config.set({
1010
basePath: '../..',
@@ -20,7 +20,7 @@ module.exports = (config) => {
2020
// list of files / patterns to load in the browser
2121
files: [
2222
jqueryFile,
23-
'assets/js/vendor/popper.min.js',
23+
'site/docs/4.1/assets/js/vendor/popper.min.js',
2424
'js/coverage/dist/util.js',
2525
'js/coverage/dist/tooltip.js',
2626
'js/coverage/dist/!(util|index|tooltip).js', // include all of our js/dist files except util.js, index.js and tooltip.js

nuget/bootstrap.nuspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<summary>Bootstrap framework in CSS. Includes fonts and JavaScript</summary>
1212
<language>en-us</language>
1313
<projectUrl>https://getbootstrap.com/</projectUrl>
14-
<iconUrl>https://getbootstrap.com/assets/img/favicons/apple-touch-icon.png</iconUrl>
14+
<iconUrl>https://getbootstrap.com/docs/4.1/assets/img/favicons/apple-touch-icon.png</iconUrl>
1515
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
1616
<copyright>Copyright 2017-2018</copyright>
1717
<requireLicenseAcceptance>false</requireLicenseAcceptance>

nuget/bootstrap.sass.nuspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<summary>Bootstrap framework in Sass. Includes fonts and JavaScript</summary>
1212
<language>en-us</language>
1313
<projectUrl>https://getbootstrap.com/</projectUrl>
14-
<iconUrl>https://getbootstrap.com/assets/img/favicons/apple-touch-icon.png</iconUrl>
14+
<iconUrl>https://getbootstrap.com/docs/4.1/assets/img/favicons/apple-touch-icon.png</iconUrl>
1515
<licenseUrl>https://github.com/twbs/bootstrap/blob/master/LICENSE</licenseUrl>
1616
<copyright>Copyright 2017-2018</copyright>
1717
<requireLicenseAcceptance>false</requireLicenseAcceptance>

package.json

+12-10
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,25 @@
2121
"http-server": "http-server --silent -p 3000",
2222
"bundlesize": "bundlesize",
2323
"check-broken-links": "npm-run-all --parallel --race \"http-server -- _gh_pages/\" blc",
24-
"css": "npm-run-all --parallel css-lint* css-compile* --sequential css-prefix* css-minify*",
24+
"css": "npm-run-all --parallel css-lint* css-compile* --sequential css-prefix* css-minify* css-copy",
2525
"css-main": "npm-run-all --parallel css-lint css-compile --sequential css-prefix css-minify",
2626
"css-docs": "npm-run-all --parallel css-lint-docs css-compile-docs --sequential css-prefix-docs css-minify-docs",
2727
"css-compile": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap.scss dist/css/bootstrap.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-grid.scss dist/css/bootstrap-grid.css && node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 scss/bootstrap-reboot.scss dist/css/bootstrap-reboot.css",
28-
"css-compile-docs": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 assets/scss/docs.scss assets/css/docs.min.css",
28+
"css-compile-docs": "node-sass --output-style expanded --source-map true --source-map-contents true --precision 6 site/docs/4.1/assets/scss/docs.scss site/docs/4.1/assets/css/docs.min.css",
29+
"css-copy": "shx mkdir -p site/docs/4.1/dist/ && shx cp -r dist/css/ site/docs/4.1/dist/",
2930
"css-lint": "stylelint --syntax scss \"scss/**/*.scss\"",
30-
"css-lint-docs": "stylelint --syntax scss \"assets/scss/*.scss\" && stylelint \"docs/**/*.css\"",
31-
"css-lint-vars": "node build/lint-vars.js scss/ assets/scss/",
31+
"css-lint-docs": "stylelint --syntax scss \"site/docs/4.1/assets/scss/*.scss\" && stylelint \"docs/**/*.css\"",
32+
"css-lint-vars": "node build/lint-vars.js scss/ site/docs/4.1/assets/scss/",
3233
"css-prefix": "postcss --config build/postcss.config.js --replace \"dist/css/*.css\" \"!dist/css/*.min.css\"",
33-
"css-prefix-docs": "postcss --config build/postcss.config.js --replace \"assets/css/docs.min.css\" \"docs/**/*.css\"",
34+
"css-prefix-docs": "postcss --config build/postcss.config.js --replace \"site/docs/4.1/assets/css/docs.min.css\" \"docs/**/*.css\"",
3435
"css-minify": "cleancss --level 1 --source-map --source-map-inline-sources --output dist/css/bootstrap.min.css dist/css/bootstrap.css && cleancss --level 1 --source-map --source-map-inline-sources --output dist/css/bootstrap-grid.min.css dist/css/bootstrap-grid.css && cleancss --level 1 --source-map --source-map-inline-sources --output dist/css/bootstrap-reboot.min.css dist/css/bootstrap-reboot.css",
35-
"css-minify-docs": "cleancss --level 1 --source-map --source-map-inline-sources --output assets/css/docs.min.css assets/css/docs.min.css",
36-
"js": "npm-run-all js-lint* js-compile js-minify",
36+
"css-minify-docs": "cleancss --level 1 --source-map --source-map-inline-sources --output site/docs/4.1/assets/css/docs.min.css site/docs/4.1/assets/css/docs.min.css",
37+
"js": "npm-run-all js-lint* js-compile js-minify js-copy",
38+
"js-copy": "shx mkdir -p site/docs/4.1/dist/ && shx cp -r dist/js/ site/docs/4.1/dist/",
3739
"js-main": "npm-run-all js-lint js-compile js-minify",
3840
"js-docs": "npm-run-all js-lint-docs js-minify-docs",
3941
"js-lint": "eslint js/src js/tests build/",
40-
"js-lint-docs": "eslint assets/js/ docs/ sw.js",
42+
"js-lint-docs": "eslint site/docs/4.1/assets/js/ site/sw.js",
4143
"js-compile": "npm-run-all --parallel js-compile-*",
4244
"js-compile-standalone": "rollup --environment BUNDLE:false --config build/rollup.config.js --sourcemap",
4345
"js-compile-bundle": "rollup --environment BUNDLE:true --config build/rollup.config.js --sourcemap",
@@ -46,7 +48,7 @@
4648
"js-minify": "npm-run-all --parallel js-minify-*",
4749
"js-minify-standalone": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.js.map,includeSources,url=bootstrap.min.js.map\" --output dist/js/bootstrap.min.js dist/js/bootstrap.js",
4850
"js-minify-bundle": "uglifyjs --compress typeofs=false --mangle --comments \"/^!/\" --source-map \"content=dist/js/bootstrap.bundle.js.map,includeSources,url=bootstrap.bundle.min.js.map\" --output dist/js/bootstrap.bundle.min.js dist/js/bootstrap.bundle.js",
49-
"js-minify-docs": "uglifyjs --mangle --comments \"/^!/\" --output assets/js/docs.min.js assets/js/vendor/anchor.min.js assets/js/vendor/clipboard.min.js assets/js/vendor/holder.min.js \"assets/js/src/*.js\"",
51+
"js-minify-docs": "uglifyjs --mangle --comments \"/^!/\" --output site/docs/4.1/assets/js/docs.min.js site/docs/4.1/assets/js/vendor/anchor.min.js site/docs/4.1/assets/js/vendor/clipboard.min.js site/docs/4.1/assets/js/vendor/holder.min.js \"site/docs/4.1/assets/js/src/*.js\"",
5052
"js-test": "npm-run-all js-test-karma*",
5153
"js-test-karma": "karma start js/tests/karma.conf.js",
5254
"js-test-karma-old": "cross-env USE_OLD_JQUERY=true npm run js-test-karma",
@@ -64,7 +66,7 @@
6466
"docs-lint-vnu-jar": "node build/vnu-jar.js",
6567
"docs-serve": "bundle exec jekyll serve",
6668
"docs-workbox-precache": "node build/workbox.js",
67-
"maintenance-dependencies": "ncu -a -x jquery && npm update && bundle update && shx echo \"Manually update assets/js/vendor/*, js/tests/vendor/* and .travis.yml\"",
69+
"maintenance-dependencies": "ncu -a -x jquery && npm update && bundle update && shx echo \"Manually update site/docs/4.1/assets/js/vendor/*, js/tests/vendor/* and .travis.yml\"",
6870
"release-sri": "node build/generate-sri.js",
6971
"release-version": "node build/change-version.js",
7072
"release-zip": "cd dist/ && zip -r9 bootstrap-$npm_package_version-dist.zip * && shx mv bootstrap-$npm_package_version-dist.zip ..",
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

_data/nav.yml site/_data/nav.yml

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

site/_includes/favicons.html

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!-- Favicons -->
2+
<link rel="apple-touch-icon" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/apple-touch-icon.png" sizes="180x180">
3+
<link rel="icon" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/favicon-32x32.png" sizes="32x32" type="image/png">
4+
<link rel="icon" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/favicon-16x16.png" sizes="16x16" type="image/png">
5+
<link rel="manifest" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/manifest.json">
6+
<link rel="mask-icon" href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/safari-pinned-tab.svg" color="#563d7c">
7+
<link rel="icon" href="{{ site.baseurl }}/favicon.ico">
8+
<meta name="msapplication-config" content="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/img/favicons/browserconfig.xml">
9+
<meta name="theme-color" content="#563d7c">
File renamed without changes.

_includes/header.html site/_includes/header.html

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,16 @@
1414

1515
<!-- Bootstrap core CSS -->
1616
{% if site.github %}
17-
<link href="{{ site.baseurl }}/dist/css/bootstrap.min.css" rel="stylesheet" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
17+
<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/css/bootstrap.min.css" rel="stylesheet" integrity="{{ site.cdn.css_hash }}" crossorigin="anonymous">
1818
{% else %}
19-
<link href="{{ site.baseurl }}/dist/css/bootstrap.css" rel="stylesheet">
19+
<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/css/bootstrap.css" rel="stylesheet">
2020
{% endif %}
2121

2222
<!-- Documentation extras -->
2323
{% if page.layout == "docs" %}
2424
<link href="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.css" rel="stylesheet">
2525
{% endif %}
26-
<link href="{{ site.baseurl }}/assets/css/docs.min.css" rel="stylesheet">
26+
<link href="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/css/docs.min.css" rel="stylesheet">
2727

2828
{% include favicons.html %}
2929

File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

site/_includes/scripts.html

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<script src="{{ site.cdn.jquery }}" integrity="{{ site.cdn.jquery_hash }}" crossorigin="anonymous"></script>
2+
<script>window.jQuery || document.write('<script src="{{ site.baseurl }}/assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
3+
4+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/popper.min.js"{% if site.github %} integrity="{{ site.cdn.popper_hash }}" crossorigin="anonymous"{% endif %}></script>
5+
6+
{%- if site.github -%}
7+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.min.js" integrity="{{ site.cdn.js_hash }}" crossorigin="anonymous"></script>
8+
{%- else -%}
9+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/dist/js/bootstrap.js"></script>
10+
{%- endif -%}
11+
12+
{%- if page.layout == "docs" -%}
13+
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
14+
{%- endif -%}
15+
16+
{%- if site.github -%}
17+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/docs.min.js"></script>
18+
{%- else -%}
19+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/anchor.min.js"></script>
20+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/clipboard.min.js"></script>
21+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/vendor/holder.min.js"></script>
22+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/application.js"></script>
23+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/search.js"></script>
24+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/ie-emulation-modes-warning.js"></script>
25+
<script src="{{ site.baseurl }}/docs/{{ site.docs_version }}/assets/js/src/pwa.js"></script>
26+
{%- endif -%}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)