From 55dcf4a1a293ee52c9b49836abd4917a1253e777 Mon Sep 17 00:00:00 2001 From: David Manthey Date: Tue, 18 Nov 2025 10:21:25 -0500 Subject: [PATCH] docs: Switch to bootstrap 5, keeping bootstrap 3 css This keeps most of the bootstrap 3 css, but overrides some modal dialog values so that modals still work. --- examples/annotations/index.pug | 4 +- examples/annotations/main.js | 4 +- examples/common/index.pug | 6 +- examples/index.js | 7 +- examples/index.pug | 2 +- examples/layerEvents/index.pug | 2 +- examples/measure/index.pug | 4 +- examples/measure/main.js | 4 +- examples/transitions/main.js | 6 +- package-lock.json | 96 +- package.json | 7 +- tutorials/common/index.pug | 6 +- tutorials/index.js | 7 +- tutorials/index.pug | 2 +- website/legacycss/bootstrap3.min.css | 9 + website/legacycss/bootswatch_flatly3.min.css | 72 + .../glyphicons-halflings-regular.eot | Bin .../glyphicons-halflings-regular.svg | 0 .../glyphicons-halflings-regular.ttf | Bin .../glyphicons-halflings-regular.woff | Bin .../glyphicons-halflings-regular.woff2 | Bin website/themes/agency/_config.yml | 7 - website/themes/agency/layout/example.ejs | 54 - website/themes/agency/layout/examples.ejs | 35 - website/themes/agency/layout/index.ejs | 1 - website/themes/agency/layout/layout.ejs | 135 - website/themes/agency/layout/page.ejs | 1 - website/themes/agency/layout/tutorial.ejs | 9 - website/themes/agency/layout/tutorials.ejs | 32 - website/themes/agency/scripts/helper.js | 8 - website/themes/agency/source/css/agency.css | 827 -- .../themes/agency/source/css/download.scss | 22 - website/themes/agency/source/css/example.scss | 62 - .../themes/agency/source/css/highlight.css | 56 - .../themes/agency/source/css/logo-zoom.scss | 20 - website/themes/agency/source/css/main.scss | 261 - website/themes/agency/source/css/syntax.css | 60 - .../themes/agency/source/css/tutorial.scss | 20 - .../agency/source/images/GEO_Logo_Full.svg | 110 - .../agency/source/images/GEO_Logo_Mark.svg | 68 - website/themes/agency/source/images/bg_hr.png | Bin 943 -> 0 bytes .../agency/source/images/blacktocat.png | Bin 1428 -> 0 bytes .../agency/source/images/icon_download.png | Bin 1162 -> 0 bytes website/themes/agency/source/images/logo.png | Bin 179198 -> 0 bytes .../themes/agency/source/images/logo_128.png | Bin 179198 -> 0 bytes .../themes/agency/source/images/logo_256.png | Bin 715238 -> 0 bytes .../agency/source/images/logo_transparent.png | Bin 10310 -> 0 bytes .../agency/source/images/sprite_download.png | Bin 16799 -> 0 bytes website/themes/agency/source/js/agency.js | 20 - website/themes/agency/source/js/example.js | 61 - website/themes/agency/source/js/logo-zoom.js | 19 - .../source/vendor/bootstrap/css/bootstrap.css | 6757 ------------ .../vendor/bootstrap/css/bootstrap.min.css | 6 - .../source/vendor/bootstrap/js/bootstrap.js | 2377 ---- .../vendor/bootstrap/js/bootstrap.min.js | 7 - .../vendor/font-awesome/css/font-awesome.css | 2199 ---- .../font-awesome/css/font-awesome.min.css | 4 - .../vendor/font-awesome/fonts/FontAwesome.otf | Bin 124988 -> 0 bytes .../fonts/fontawesome-webfont.eot | Bin 76518 -> 0 bytes .../fonts/fontawesome-webfont.svg | 685 -- .../fonts/fontawesome-webfont.ttf | Bin 152796 -> 0 bytes .../fonts/fontawesome-webfont.woff | Bin 90412 -> 0 bytes .../fonts/fontawesome-webfont.woff2 | Bin 71896 -> 0 bytes .../vendor/font-awesome/less/animated.less | 34 - .../font-awesome/less/bordered-pulled.less | 25 - .../source/vendor/font-awesome/less/core.less | 12 - .../vendor/font-awesome/less/fixed-width.less | 6 - .../font-awesome/less/font-awesome.less | 18 - .../vendor/font-awesome/less/icons.less | 733 -- .../vendor/font-awesome/less/larger.less | 13 - .../source/vendor/font-awesome/less/list.less | 19 - .../vendor/font-awesome/less/mixins.less | 60 - .../source/vendor/font-awesome/less/path.less | 15 - .../font-awesome/less/rotated-flipped.less | 20 - .../font-awesome/less/screen-reader.less | 5 - .../vendor/font-awesome/less/stacked.less | 20 - .../vendor/font-awesome/less/variables.less | 743 -- .../vendor/font-awesome/scss/_animated.scss | 34 - .../font-awesome/scss/_bordered-pulled.scss | 25 - .../vendor/font-awesome/scss/_core.scss | 12 - .../font-awesome/scss/_fixed-width.scss | 6 - .../vendor/font-awesome/scss/_icons.scss | 733 -- .../vendor/font-awesome/scss/_larger.scss | 13 - .../vendor/font-awesome/scss/_list.scss | 19 - .../vendor/font-awesome/scss/_mixins.scss | 60 - .../vendor/font-awesome/scss/_path.scss | 15 - .../font-awesome/scss/_rotated-flipped.scss | 20 - .../font-awesome/scss/_screen-reader.scss | 5 - .../vendor/font-awesome/scss/_stacked.scss | 20 - .../vendor/font-awesome/scss/_variables.scss | 743 -- .../font-awesome/scss/font-awesome.scss | 18 - .../agency/source/vendor/jquery/jquery.js | 9814 ----------------- .../agency/source/vendor/jquery/jquery.min.js | 4 - 93 files changed, 186 insertions(+), 27239 deletions(-) create mode 100644 website/legacycss/bootstrap3.min.css create mode 100644 website/legacycss/bootswatch_flatly3.min.css rename website/{themes/agency/source/vendor/bootstrap/fonts => legacycss}/glyphicons-halflings-regular.eot (100%) rename website/{themes/agency/source/vendor/bootstrap/fonts => legacycss}/glyphicons-halflings-regular.svg (100%) rename website/{themes/agency/source/vendor/bootstrap/fonts => legacycss}/glyphicons-halflings-regular.ttf (100%) rename website/{themes/agency/source/vendor/bootstrap/fonts => legacycss}/glyphicons-halflings-regular.woff (100%) rename website/{themes/agency/source/vendor/bootstrap/fonts => legacycss}/glyphicons-halflings-regular.woff2 (100%) delete mode 100644 website/themes/agency/_config.yml delete mode 100644 website/themes/agency/layout/example.ejs delete mode 100644 website/themes/agency/layout/examples.ejs delete mode 100644 website/themes/agency/layout/index.ejs delete mode 100644 website/themes/agency/layout/layout.ejs delete mode 100644 website/themes/agency/layout/page.ejs delete mode 100644 website/themes/agency/layout/tutorial.ejs delete mode 100644 website/themes/agency/layout/tutorials.ejs delete mode 100644 website/themes/agency/scripts/helper.js delete mode 100644 website/themes/agency/source/css/agency.css delete mode 100644 website/themes/agency/source/css/download.scss delete mode 100644 website/themes/agency/source/css/example.scss delete mode 100644 website/themes/agency/source/css/highlight.css delete mode 100644 website/themes/agency/source/css/logo-zoom.scss delete mode 100644 website/themes/agency/source/css/main.scss delete mode 100644 website/themes/agency/source/css/syntax.css delete mode 100644 website/themes/agency/source/css/tutorial.scss delete mode 100644 website/themes/agency/source/images/GEO_Logo_Full.svg delete mode 100644 website/themes/agency/source/images/GEO_Logo_Mark.svg delete mode 100644 website/themes/agency/source/images/bg_hr.png delete mode 100644 website/themes/agency/source/images/blacktocat.png delete mode 100644 website/themes/agency/source/images/icon_download.png delete mode 100644 website/themes/agency/source/images/logo.png delete mode 100644 website/themes/agency/source/images/logo_128.png delete mode 100644 website/themes/agency/source/images/logo_256.png delete mode 100644 website/themes/agency/source/images/logo_transparent.png delete mode 100644 website/themes/agency/source/images/sprite_download.png delete mode 100644 website/themes/agency/source/js/agency.js delete mode 100644 website/themes/agency/source/js/example.js delete mode 100644 website/themes/agency/source/js/logo-zoom.js delete mode 100644 website/themes/agency/source/vendor/bootstrap/css/bootstrap.css delete mode 100644 website/themes/agency/source/vendor/bootstrap/css/bootstrap.min.css delete mode 100644 website/themes/agency/source/vendor/bootstrap/js/bootstrap.js delete mode 100644 website/themes/agency/source/vendor/bootstrap/js/bootstrap.min.js delete mode 100644 website/themes/agency/source/vendor/font-awesome/css/font-awesome.css delete mode 100644 website/themes/agency/source/vendor/font-awesome/css/font-awesome.min.css delete mode 100644 website/themes/agency/source/vendor/font-awesome/fonts/FontAwesome.otf delete mode 100644 website/themes/agency/source/vendor/font-awesome/fonts/fontawesome-webfont.eot delete mode 100644 website/themes/agency/source/vendor/font-awesome/fonts/fontawesome-webfont.svg delete mode 100644 website/themes/agency/source/vendor/font-awesome/fonts/fontawesome-webfont.ttf delete mode 100644 website/themes/agency/source/vendor/font-awesome/fonts/fontawesome-webfont.woff delete mode 100644 website/themes/agency/source/vendor/font-awesome/fonts/fontawesome-webfont.woff2 delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/animated.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/bordered-pulled.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/core.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/fixed-width.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/font-awesome.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/icons.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/larger.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/list.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/mixins.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/path.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/rotated-flipped.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/screen-reader.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/stacked.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/less/variables.less delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_animated.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_bordered-pulled.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_core.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_fixed-width.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_icons.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_larger.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_list.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_mixins.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_path.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_rotated-flipped.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_screen-reader.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_stacked.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/_variables.scss delete mode 100644 website/themes/agency/source/vendor/font-awesome/scss/font-awesome.scss delete mode 100644 website/themes/agency/source/vendor/jquery/jquery.js delete mode 100644 website/themes/agency/source/vendor/jquery/jquery.min.js diff --git a/examples/annotations/index.pug b/examples/annotations/index.pug index b99d5efc6f..331af77f6f 100644 --- a/examples/annotations/index.pug +++ b/examples/annotations/index.pug @@ -60,7 +60,7 @@ block append mainContent .modal-dialog form.modal-content .modal-header - button.close(type='button', data-dismiss='modal') × + button.close(type='button', data-bs-dismiss='modal') × h4.modal-title Edit Annotation .modal-body .row @@ -196,4 +196,4 @@ block append mainContent #edit-validation-error .modal-footer button.btn.btn-sm.btn-primary#edit-update(type='submit') Update - button.btn.btn-sm.btn-secondary(data-dismiss='modal') Cancel + button.btn.btn-sm.btn-secondary(data-bs-dismiss='modal') Cancel diff --git a/examples/annotations/main.js b/examples/annotations/main.js index d93275b31f..667e90b1af 100644 --- a/examples/annotations/main.js +++ b/examples/annotations/main.js @@ -1,4 +1,4 @@ -/* globals $, geo, utils */ +/* globals $, geo, utils, bootstrap */ var annotationDebug = {}; @@ -489,7 +489,7 @@ function show_edit_dialog(id) { dlg.one('shown.bs.modal', function () { $('[option="name"]', dlg).focus(); }); - dlg.modal(); + new bootstrap.Modal(dlg[0]).show(); } /** diff --git a/examples/common/index.pug b/examples/common/index.pug index ee84117979..21d8f3bae9 100644 --- a/examples/common/index.pug +++ b/examples/common/index.pug @@ -18,7 +18,7 @@ html(lang="en") nav.navbar.navbar-default(role="navigation") .container-fluid .navbar-header - button.navbar-toggle(type="button", data-toggle="collapse", data-target="gj-navbar-collapse") + button.navbar-toggle(type="button", data-bs-toggle="collapse", data-bs-target="gj-navbar-collapse") span.sr-only Toggle navigation span.icon-bar span.icon-bar @@ -44,7 +44,7 @@ html(lang="en") | Source if !about.hidden li - a.gj-show-about-link(href="#", data-toggle="modal", data-target="#about-modal") + a.gj-show-about-link(href="#", data-bs-toggle="modal", data-bs-target="#about-modal") | About if ! about.hidden @@ -58,7 +58,7 @@ html(lang="en") p.text-left !{about.text} p.text-right © Kitware, Inc. .modal-footer - button.btn.btn-primary(data-dismiss="modal", data-target="#about-modal") Close + button.btn.btn-primary(data-bs-dismiss="modal") Close // Add the default main content element block mainContent diff --git a/examples/index.js b/examples/index.js index 4cb58703df..767139f927 100644 --- a/examples/index.js +++ b/examples/index.js @@ -2,9 +2,10 @@ require('../src/vendor'); window.geo = require('../src/index'); // bootstrap and themes -require('bootstrap/dist/css/bootstrap.css'); -require('bootswatch/flatly/bootstrap.css'); -require('bootstrap'); +require('../website/legacycss/bootstrap3.min.css'); +require('../website/legacycss/bootswatch_flatly3.min.css'); +require('@fontsource/lato'); +window.bootstrap = require('bootstrap/dist/js/bootstrap.bundle'); // codemirror and plugins window.jsonlint = require('jsonlint-mod'); diff --git a/examples/index.pug b/examples/index.pug index 60fea4da8c..9c3645db11 100644 --- a/examples/index.pug +++ b/examples/index.pug @@ -14,7 +14,7 @@ mixin thumbnail(ex) block prepend headerButtons ul.nav.navbar-nav.navbar-right li.dropdown - a.dropdown-toggle(href="#", data-toggle="dropdown") Resources + a.dropdown-toggle(href="#", data-bs-toggle="dropdown") Resources span.caret ul.dropdown-menu(role="menu") li diff --git a/examples/layerEvents/index.pug b/examples/layerEvents/index.pug index b6e51fcce9..5a2b0e736d 100644 --- a/examples/layerEvents/index.pug +++ b/examples/layerEvents/index.pug @@ -1,4 +1,4 @@ extends ../common/index.pug block append mainContent - button.btn.btn-default.layer-toggle(type="button", data-toggle="button") + button.btn.btn-default.layer-toggle(type="button", data-bs-toggle="button") diff --git a/examples/measure/index.pug b/examples/measure/index.pug index 32f66bd4fe..82deede5b3 100644 --- a/examples/measure/index.pug +++ b/examples/measure/index.pug @@ -64,7 +64,7 @@ block append mainContent .modal-dialog form.modal-content .modal-header - button.close(type='button', data-dismiss='modal') × + button.close(type='button', data-bs-dismiss='modal') × h4.modal-title Edit Annotation .modal-body .row @@ -200,4 +200,4 @@ block append mainContent #edit-validation-error .modal-footer button.btn.btn-sm.btn-primary#edit-update(type='submit') Update - button.btn.btn-sm.btn-secondary(data-dismiss='modal') Cancel + button.btn.btn-sm.btn-secondary(data-bs-dismiss='modal') Cancel diff --git a/examples/measure/main.js b/examples/measure/main.js index 7f470be52b..11b3ab9037 100644 --- a/examples/measure/main.js +++ b/examples/measure/main.js @@ -1,4 +1,4 @@ -/* globals $, geo, utils */ +/* globals $, geo, utils, bootstrap */ // This is extensively based on the Annotation example. @@ -697,7 +697,7 @@ function show_edit_dialog(id) { dlg.one('shown.bs.modal', function () { $('[option="name"]', dlg).focus(); }); - dlg.modal(); + new bootstrap.Modal(dlg[0]).show(); } /** diff --git a/examples/transitions/main.js b/examples/transitions/main.js index cbefd15c75..7c337bd147 100644 --- a/examples/transitions/main.js +++ b/examples/transitions/main.js @@ -1,4 +1,4 @@ -/* globals $, d3, geo, utils */ +/* globals $, d3, geo, utils, bootstrap */ // Run after the DOM loads $(function () { @@ -101,7 +101,7 @@ $(function () { var modal = $( '