From 8449d53c387e2e34bf30fc2350771164b8dbe1fe Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Tue, 28 Jul 2026 09:37:32 +0200 Subject: [PATCH 01/87] Fix alert --- Customization/xsl/topic.xsl | 4 +- css/common-bootstrap.css | 6 +- includes/bootstrap.hdf.xml | 29 ++++++--- includes/ftr.sidebar.example.xml | 4 +- sample/alerts.dita | 104 +++++++++++++++---------------- sample/document.ditamap | 12 ++-- xsl/utility-classes.xsl | 45 ++++++------- 7 files changed, 105 insertions(+), 99 deletions(-) diff --git a/Customization/xsl/topic.xsl b/Customization/xsl/topic.xsl index 4a7a2c57..961add5b 100644 --- a/Customization/xsl/topic.xsl +++ b/Customization/xsl/topic.xsl @@ -296,9 +296,7 @@ - - - +
diff --git a/css/common-bootstrap.css b/css/common-bootstrap.css index 6e29dafd..a8e95852 100644 --- a/css/common-bootstrap.css +++ b/css/common-bootstrap.css @@ -44,7 +44,7 @@ } [data-bs-theme='light'] { - --dita-violet: var(--bs-purple); + --dita-violet: var(--bs-purple-400); } } @@ -127,11 +127,11 @@ .note { border-left: 6px solid; - border-left-color: var(--bs-alert-color, transparent); + border-left-color: var(--bs-alert-border-color, transparent); } [dir='rtl'] .note { border-right: 6px solid; - border-right-color: var(--bs-alert-color, transparent); + border-right-color: var(--bs-alert-border-color, transparent); border-left: 0; } diff --git a/includes/bootstrap.hdf.xml b/includes/bootstrap.hdf.xml index f8fa94d6..e19a37d4 100644 --- a/includes/bootstrap.hdf.xml +++ b/includes/bootstrap.hdf.xml @@ -1,13 +1,26 @@
- -
diff --git a/includes/ftr.sidebar.example.xml b/includes/ftr.sidebar.example.xml index 95268b4d..90828772 100644 --- a/includes/ftr.sidebar.example.xml +++ b/includes/ftr.sidebar.example.xml @@ -1,7 +1,7 @@ -
+

- +

diff --git a/sample/alerts.dita b/sample/alerts.dita index 9ffc442a..e08181d5 100644 --- a/sample/alerts.dita +++ b/sample/alerts.dita @@ -30,71 +30,71 @@ Example

Alerts are available for any length of text, as well as an optional close button. For proper styling, use one of the eight required contextual classes (e.g., set outputclass to - alert-success).

+ alert theme-success).

-
A simple primary alert—check it out!
-
A simple secondary alert—check it out!
-
A simple success alert—check it out!
-
A simple danger alert—check it out!
-
A simple warning alert—check it out!
-
A simple info alert—check it out!
-
A simple light alert—check it out!
-
A simple dark alert—check it out!
+
A simple primary alert — check it out!
+
A simple secondary alert — check it out!
+
A simple success alert — check it out!
+
A simple danger alert — check it out!
+
A simple warning alert — check it out!
+
A simple info alert — check it out!
+
A simple accent alert — check it out!
+
A simple inverse alert — check it out!
<xmlatt>outputclass</xmlatt> - <section outputclass="alert-primary"> - A simple primary alert—check it out! + <section outputclass="alert theme-primary"> + A simple primary alert — check it out! </section> -<section outputclass="alert-secondary"> - A simple secondary alert—check it out! +<section outputclass="alert theme-secondary"> + A simple secondary alert — check it out! </section> -<section outputclass="alert-success"> - A simple success alert—check it out! +<section outputclass="alert theme-success"> + A simple success alert — check it out! </section> -<section outputclass="alert-danger"> - A simple danger alert—check it out! +<section outputclass="alert theme-danger"> + A simple danger alert — check it out! </section> -<section outputclass="alert-warning"> - A simple warning alert—check it out! +<section outputclass="alert theme-warning"> + A simple warning alert — check it out! </section> -<section outputclass="alert-info"> - A simple info alert—check it out! +<section outputclass="alert theme-info"> + A simple info alert — check it out! </section> -<section outputclass="alert-light"> - A simple light alert—check it out! +<section outputclass="alert theme-accent"> + A simple accent alert — check it out! </section> -<section outputclass="alert-dark"> - A simple dark alert—check it out! +<section outputclass="alert theme-inverse"> + A simple inverse alert — check it out! </section>
Specialization <alert color="primary"> - A simple primary alert—check it out! + A simple primary alert — check it out! </alert> <alert color="secondary"> - A simple secondary alert—check it out! + A simple secondary alert — check it out! </alert> <alert color="success"> - A simple success alert—check it out! + A simple success alert — check it out! </alert> <alert color="danger"> - A simple danger alert—check it out! + A simple danger alert — check it out! </alert> <alert color="warning"> - A simple warning alert—check it out! + A simple warning alert — check it out! </alert> <alert color="info"> - A simple info alert—check it out! + A simple info alert — check it out! </alert> -<alert color="light"> - A simple light alert—check it out! +<alert color="accent"> + A simple accent alert — check it out! </alert> -<alert color="dark"> - A simple dark alert—check it out! +<alert color="inverse"> + A simple inverse alert — check it out! </alert>
@@ -104,7 +104,7 @@

Alerts can also contain additional HTML elements like headings, paragraphs, icons and links.

-
+
<ph outputclass="bi bi-emoji-smile pe-2"/>Well done!

Aww yeah, you successfully read this important alert message. This example text with a link is going to run a bit longer so that you can see how spacing within an alert works @@ -115,7 +115,7 @@

<xmlatt>outputclass</xmlatt> - <section outputclass="alert alert-success"> + <section outputclass="alert theme-success vstack"> <title><i outputclass="bi bi-emoji-smile pe-2"/>Well done!</title> <p> Aww yeah, you successfully read this important alert message. This example text with a @@ -129,7 +129,7 @@
Specialization - <alert color="success"> + <alert color="success" outputclass="vstack"> <title><icon outputclass="bi-emoji-smile" padding="e2"/>Well done!</title> <p> Aww yeah, you successfully read this important alert message. This example text with a @@ -198,23 +198,23 @@

The default colors can be overridden by using a color attribute or an outputclass.

- This is a primary note. - This is a secondary note. - This is light note. - This is dark note. + This is a primary note. + This is a secondary note. + This is accent note. + This is inverse note.
<xmlatt>outputclass</xmlatt> - <note type="note" outputclass="alert-primary"> + <note type="note" outputclass="theme-primary"> This is a primary note.</note> -<note type="note" outputclass="alert-secondary"> +<note type="note" outputclass="theme-secondary"> This is a secondary note.</note> -<note type="note" outputclass="alert-light"> - This is light note. +<note type="note" outputclass="theme-accent"> + This is accent note. </note> -<note type="note" outputclass="alert-dark"> - This is dark note. +<note type="note" outputclass="theme-inverse"> + This is inverse note. </note>
@@ -225,11 +225,11 @@ <note color="secondary"> This is a secondary note. </note> -<note color="light"> - This is light note. +<note color="accent"> + This is accent note. </note> -<note color="dark"> - This is dark note. +<note color="inverse"> + This is inverse note. </note>
diff --git a/sample/document.ditamap b/sample/document.ditamap index 0c8db616..e648033f 100644 --- a/sample/document.ditamap +++ b/sample/document.ditamap @@ -11,7 +11,7 @@ Getting Started - + @@ -19,7 +19,7 @@ Layout - + @@ -30,7 +30,7 @@ Content - + @@ -41,7 +41,7 @@ Components - + @@ -64,7 +64,7 @@ Utilities - + @@ -75,7 +75,7 @@ Extend - + diff --git a/xsl/utility-classes.xsl b/xsl/utility-classes.xsl index 358c4f9a..48d04636 100644 --- a/xsl/utility-classes.xsl +++ b/xsl/utility-classes.xsl @@ -11,14 +11,14 @@ exclude-result-prefixes="xs dita-ot" > - + - + @@ -51,7 +51,7 @@ - alert alert- + alert theme- @@ -123,7 +123,7 @@ - alert p-0 alert- + alert p-0 theme- @@ -329,7 +329,7 @@ - alert alert- + card theme- @@ -477,11 +477,6 @@ else if (contains(@outputclass, 'btn-group-vertical')) then '' else if (contains(@outputclass, 'btn-group')) then '' else if (contains(@outputclass, 'btn-toolbar')) then '' - else if (contains(@outputclass, 'accordion-')) then 'accordion' - else if (contains(@outputclass, 'btn-')) then 'btn' - else if (contains(@outputclass, 'collapse-')) then 'collapse' - else if (contains(@outputclass, 'alert-')) then 'alert' - else if (contains(@outputclass, 'list-group-')) then 'list-group' else if (contains(@class, ' topic/fig ')) then ' figure ' || $BOOTSTRAP_CSS_FIGURE else if (contains(@class, ' topic/lq ')) then ' blockquote ' else if (contains(@class, ' topic/dl ')) then $BOOTSTRAP_CSS_DL @@ -597,26 +592,26 @@ alert - alert- + theme- From ce3e74aeed9eeea9ba43de3fe68f3174cf018279 Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Tue, 28 Jul 2026 13:05:44 +0200 Subject: [PATCH 02/87] Fix badge --- Customization/xsl/topic.xsl | 8 +++--- css/bootswatch-colors.css | 2 +- css/common-bootstrap.css | 4 +-- includes/bootstrap.hdf.xml | 5 +++- sample/badge.dita | 50 ++++++++++++++++++------------------- xsl/utility-classes.xsl | 4 +-- 6 files changed, 39 insertions(+), 34 deletions(-) diff --git a/Customization/xsl/topic.xsl b/Customization/xsl/topic.xsl index 961add5b..72410d42 100644 --- a/Customization/xsl/topic.xsl +++ b/Customization/xsl/topic.xsl @@ -307,6 +307,7 @@ +
@@ -320,13 +321,14 @@ + select="*[contains(@class, ' ditaot-d/ditaval-startprop ')]/revprop" + mode="ditaval-outputflag" + />
+
svg { diff --git a/includes/bootstrap.hdf.xml b/includes/bootstrap.hdf.xml index e19a37d4..9045fc03 100644 --- a/includes/bootstrap.hdf.xml +++ b/includes/bootstrap.hdf.xml @@ -8,7 +8,10 @@ src="https://cdn.jsdelivr.net/npm/bootstrap@6.0.0-alpha1/dist/js/bootstrap.bundle.min.js" integrity="sha384-Z+5YElvegGtTorgF5XlhCRkdTbU6SmOE+vvqYkVzGctueilwTIsac8hLXOvDlX3B" crossorigin="anonymous" /--> - + +
From af586cef1139c604889a10e3321abb79f6f4b7bb Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Thu, 6 Aug 2026 17:54:12 +0200 Subject: [PATCH 40/87] Update toggler and search CSS. --- .github/dita-ot/html.xml | 1 + .github/dita-ot/theme.css | 12 ++++++++++++ sample/search-box.dita | 13 +++++++++++++ 3 files changed, 26 insertions(+) diff --git a/.github/dita-ot/html.xml b/.github/dita-ot/html.xml index a10ff8da..3668ad3d 100644 --- a/.github/dita-ot/html.xml +++ b/.github/dita-ot/html.xml @@ -28,6 +28,7 @@ + diff --git a/.github/dita-ot/theme.css b/.github/dita-ot/theme.css index 59f374c3..262b4e70 100644 --- a/.github/dita-ot/theme.css +++ b/.github/dita-ot/theme.css @@ -40,12 +40,24 @@ --bs-navbar-color: var(--bs-primary-contrast); --bs-navbar-brand-color: var(--bs-primary-contrast); --bs-navbar-brand-font-size: 1.25rem; + --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"); } .nav-link { --bs-nav-link-hover-color: var(--bs-primary-contrast); } +.navbar-toggler { + color: var(--bs-navbar-color); + border-color: rgba(255, 255, 255, 0.15); + background-color: transparent; + transition: background-color 0.15s ease-in-out; +} + +.navbar-toggler:hover { + background-color: rgba(255, 255, 255, 0.1); +} + /* Make all CSS themes scrollable */ .css-themes-list { height: calc(100vh - 6rem); diff --git a/sample/search-box.dita b/sample/search-box.dita index b1a8d254..d4ed374e 100644 --- a/sample/search-box.dita +++ b/sample/search-box.dita @@ -81,6 +81,19 @@ --args.hdr=path/to/your-header.xml +
+ Parameters +

The plug-in supports the following parameter:

+ + + --bootstrap.css.search.card + +

Specifies the Bootstrap CSS classes to append to the search results card component (e.g. theme-primary to color the card).

+
+
+
+
+
Sample header navigation bars

To add a search box to the menu bar, add a form class="search-box" element From 3765e784a2eaf95d74032de7de37828844ec2f6e Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Fri, 7 Aug 2026 08:40:50 +0200 Subject: [PATCH 41/87] Update navbars --- .github/dita-ot/header.xml | 69 ++++++++++++++++++++++----------- includes/dark-mode-toggler.js | 10 ++++- includes/hdr.navbar.default.xml | 41 +++++++++----------- includes/hdr.navbar.example.xml | 41 +++++++++----------- sample/search-box.dita | 3 +- 5 files changed, 93 insertions(+), 71 deletions(-) diff --git a/.github/dita-ot/header.xml b/.github/dita-ot/header.xml index 41eecbd6..fc9f510b 100644 --- a/.github/dita-ot/header.xml +++ b/.github/dita-ot/header.xml @@ -75,6 +75,11 @@

- +
  1. @@ -602,7 +602,7 @@ And, kept unused, the user so destroys it.
-
+
<xmlatt>outputclass</xmlatt> @@ -638,7 +638,7 @@ And, kept unused, the user so destroys it.

Carousels support swiping left/right on touchscreen devices to move between slides. Add touch="no" to disable this option.

- +
  1. @@ -650,7 +650,7 @@ And, kept unused, the user so destroys it.
-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/color.dita b/sample/color.dita index 06bd774c..9ba3a470 100644 --- a/sample/color.dita +++ b/sample/color.dita @@ -23,7 +23,7 @@ >color attribute provides a semantic way to apply standard Bootstrap color themes.

- +
bg-primary
bg-secondary
bg-success
@@ -32,7 +32,7 @@
bg-info
bg-accent
bg-inverse
-
+
@@ -65,7 +65,7 @@ >Decoration attributes can be applied to many base DITA elements to add background color and contrasting text.

- +
Section Decoration

This section has a primary color background.

@@ -115,7 +115,7 @@ This is a note with a primary color theme. - +
@@ -224,7 +224,7 @@

Many specialized components also support the color attribute for consistent theming.

- +
@@ -256,7 +256,7 @@ - +
@@ -319,14 +319,14 @@

For text-only colorization, the outputclass attribute remains the primary method.

- +

fg-primary

fg-secondary

fg-success

fg-danger

fg-warning

fg-info

-
+ <p outputclass="fg-primary">fg-primary</p> <p outputclass="fg-secondary">fg-secondary</p> diff --git a/sample/figures.dita b/sample/figures.dita index ee904a13..d8695155 100644 --- a/sample/figures.dita +++ b/sample/figures.dita @@ -36,12 +36,12 @@ Example

By default figure elements are styled as shown:

- + A caption for the image. - +
<fig> <title>A caption for the image.</title> <image href="..."/> @@ -51,12 +51,12 @@

The figure’s caption can be aligned using the Bootstrap text utilities.

- + A caption for the image. - +
<fig> <title outputclass="text-end">A caption for the image.</title> <image href="..."/> @@ -67,7 +67,7 @@

Use the DITA frame attribute to add borders to a fig.

- + All Borders frame="all" @@ -92,7 +92,7 @@ Bottom Border Only frame="bottom" - + <fig frame="all"> ... </fig> diff --git a/sample/grid.dita b/sample/grid.dita index 10a078d1..a05b54d5 100644 --- a/sample/grid.dita +++ b/sample/grid.dita @@ -32,7 +32,7 @@ comes together. The grid-col element supports breakpoint and colspan attributes to define the column width at different screen sizes.

- +

One of three columns

@@ -44,7 +44,7 @@

One of three columns

-
+
<xmlatt>outputclass</xmlatt> @@ -81,7 +81,7 @@ xxl. Add any number of unit-less classes for each breakpoint you need and every column will be the same width.

- +

One of two columns

@@ -101,7 +101,7 @@

One of three columns

-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/icons.dita b/sample/icons.dita index f69f4c8c..27307771 100644 --- a/sample/icons.dita +++ b/sample/icons.dita @@ -36,12 +36,12 @@

Use a style attribute and alter the CSS font-size and color to change the icon appearance.

- +

-
+
<xmlatt>outputclass</xmlatt> @@ -55,7 +55,7 @@

Icons placed within an xref element are colorized appropriately:

- +

Primary link @@ -96,7 +96,7 @@ Inverse link

-
+
<xmlatt>outputclass</xmlatt> @@ -155,14 +155,14 @@

Icons can also be placed within buttons as shown:

- + - +
<xmlatt>outputclass</xmlatt> diff --git a/sample/images.dita b/sample/images.dita index 20f2e350..e2b0dd69 100644 --- a/sample/images.dita +++ b/sample/images.dita @@ -31,9 +31,9 @@ max-width: 100%; and height: auto; to the image so that it scales with the parent element.

- + - + <image scalefit="yes" href="..." />
Image thumbnails @@ -42,9 +42,9 @@ utilities, you can use the specialized thumbnail element to give an image a rounded 1px border appearance.

- + - +
<xmlatt>outputclass</xmlatt> @@ -61,7 +61,7 @@ and outputclass="d-dark" attributes on image elements to display different images when in dark mode.

- + - +
<xmlatt>outputclass</xmlatt> @@ -119,7 +119,7 @@ different media. The media attribute defines the media query and/or type the image MIME type. The final image is the default.

- +

Change the width of the browser to view different images:

@@ -128,7 +128,7 @@
-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/index.dita b/sample/index.dita index 89c077a6..ed875f07 100644 --- a/sample/index.dita +++ b/sample/index.dita @@ -615,6 +615,7 @@ --bootstrap.css.dt --bootstrap.css.dd --bootstrap.css.nav.parent + --bootstrap.css.example

The HTML output for the following DITA elements can be annotated with common Bootstrap utility classes for borders, dt definition term elements + + + --bootstrap.css​.example + + + Common Bootstrap utility classes for DITA + example elements + + --bootstrap.css​.figure diff --git a/sample/list-group.dita b/sample/list-group.dita index 81c5e66e..5543959b 100644 --- a/sample/list-group.dita +++ b/sample/list-group.dita @@ -31,7 +31,7 @@

The most basic list group is an unordered list with list items and the proper classes. Build upon it with the options that follow, or with your own CSS as needed.

- +
  • An item
  • A second item
  • @@ -39,7 +39,7 @@
  • A fourth item
  • And a fifth one
-
+
<xmlatt>outputclass</xmlatt> @@ -66,13 +66,13 @@ Compacted list group

Add compact="yes" to reduce the padding of list items

- +
  • Item One
  • Item Two
  • Item Three
-
+
<xmlatt>outputclass</xmlatt> @@ -91,13 +91,13 @@ Expanded list group

Add compact="no" to increase the padding of list items

- +
  • Item One
  • Item Two
  • Item Three
-
+
<xmlatt>outputclass</xmlatt> @@ -117,7 +117,7 @@

Add a flush="yes" to remove some borders and rounded corners to render list group items edge-to-edge in a parent container (e.g., cards).

- +
  • An item
  • A second item
  • @@ -125,7 +125,7 @@
  • A fourth item
  • And a fifth one
-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/nav.dita b/sample/nav.dita index 1ccfa497..52db3e1d 100644 --- a/sample/nav.dita +++ b/sample/nav.dita @@ -76,7 +76,7 @@ --format= \ --nav-toc=
- +
  1. @@ -121,7 +121,7 @@
-
+

diff --git a/sample/rtl.dita b/sample/rtl.dita index 7718dba0..a3d06a61 100644 --- a/sample/rtl.dita +++ b/sample/rtl.dita @@ -43,7 +43,7 @@

Additionally, within any topic, setting the dir attribute on any DITA element thereafter will cause the layout to be recalculated for the enclosed block only.

- +
@@ -54,7 +54,7 @@
-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/shadows.dita b/sample/shadows.dita index d5bde6f6..e57be7b6 100644 --- a/sample/shadows.dita +++ b/sample/shadows.dita @@ -26,12 +26,12 @@ automatically added to prevent the shadow from being clipped by the parent container.

- +
No shadow
Small shadow
Regular shadow
Larger shadow
-
+
@@ -55,13 +55,13 @@

Shadows can be applied to complex elements as follow:

- +
Shadowed Card

This card has a large shadow.

Alert with small shadow
-
+
diff --git a/sample/spacing.dita b/sample/spacing.dita index e2c03356..bc980f9f 100644 --- a/sample/spacing.dita +++ b/sample/spacing.dita @@ -27,7 +27,7 @@ >auto.

- +
Margin 0
Margin 1
Margin 2
@@ -35,7 +35,7 @@
Margin 4
Margin 5
Margin Auto
-
+
@@ -66,7 +66,7 @@ >padding attribute controls the internal spacing of an element, supporting values from 0 to 5.

- +
Padding 0
Padding 5
- +
@@ -121,7 +121,7 @@

Multiple values can be specified as a space-separated list.

- +
Margin Top 5, Bottom 0
Margin Horizontal 3
Padding Start 3, End 1
- +
diff --git a/sample/tables.dita b/sample/tables.dita index f06be464..c0177808 100644 --- a/sample/tables.dita +++ b/sample/tables.dita @@ -34,7 +34,7 @@

Using the most basic table markup, here’s how the default DITA Bootstrap .table-based tables look in Bootstrap.

- + @@ -65,7 +65,7 @@
-
+
@@ -110,7 +110,7 @@ Variants

Use contextual classes to color tables, table rows or individual cells.

- + @@ -139,7 +139,7 @@
-
+
@@ -210,7 +210,7 @@

Use striped="yes" to add zebra-striping to any table row within the tbody.

- + @@ -241,7 +241,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -261,7 +261,7 @@

Use striped-columns="yes" to add zebra-striping to any table column within the tbody.

- + @@ -292,7 +292,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -312,7 +312,7 @@

Add rowsep="1" and colsep="1" for borders on all sides of the table and cells.

- + @@ -343,7 +343,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -362,7 +362,7 @@ Tables without borders

Add rowsep="0" and colsep="0" for a table without borders.

- + @@ -393,7 +393,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -413,7 +413,7 @@

Add compact="yes" to make any table more compact by cutting all cell padding in half.

- + @@ -444,7 +444,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -464,7 +464,7 @@

Add a thicker border, darker between table groups—thead and tbody, with divider="yes" on the table.

- + @@ -495,7 +495,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -521,7 +521,7 @@ >table and are aligned to the top by default. Use the valign attribute to re-align where needed.

- + @@ -564,7 +564,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -631,7 +631,7 @@ color="inverse" to make thead elements appear light or dark gray.

- + @@ -662,7 +662,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -685,7 +685,7 @@ </table>
- + @@ -716,7 +716,7 @@
-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/tabs.dita b/sample/tabs.dita index e7d8c8a7..695abde0 100644 --- a/sample/tabs.dita +++ b/sample/tabs.dita @@ -31,7 +31,7 @@ style="tabs" element containing a series of section elements

- +
Home @@ -58,7 +58,7 @@ Stinging like a bee I earned my stripes.

-
+
<xmlatt>outputclass</xmlatt> @@ -97,7 +97,7 @@

The tabs plugin also works with pills using style="pills"

- +
Home @@ -124,7 +124,7 @@ Stinging like a bee I earned my stripes.

-
+
<xmlatt>outputclass</xmlatt> @@ -163,7 +163,7 @@

And with vertical pills using style="vertical-pills"

- +
Home @@ -190,7 +190,7 @@ Stinging like a bee I earned my stripes.

-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/tooltips.dita b/sample/tooltips.dita index 1d0f141c..97ef8675 100644 --- a/sample/tooltips.dita +++ b/sample/tooltips.dita @@ -48,7 +48,7 @@

Hover over the links below to see tooltips:

- +

Placeholder text to demonstrate some inline links Default tooltip with tooltips. This is @@ -59,7 +59,7 @@ these tooltips on linksAnother one here too can work in practice, once you use them on your ownThe last tip! site or project.

-
+

To enable tooltips, add output-class="tooltip-*" to the enclosing xref. For the tooltip element use the output-class or taken from the attribute.

Hover over the buttons below to see the four tooltips directions: top, right, bottom, and left. Directions are mirrored when using Bootstrap in RTL.

- + Tooltip on top Tooltip on top @@ -76,7 +76,7 @@ Tooltip on bottom Tooltip on bottom Tooltip on left Tooltip on left - +
<xmlatt>outputclass</xmlatt> @@ -119,12 +119,12 @@

Custom HTML can be added to tooltips using additional DITA elements within the desc

- + Tooltip with DITA elements Tooltip with embedded DITA - +
<xmlatt>outputclass</xmlatt> @@ -149,13 +149,13 @@ Tooltip with embedded DITA .custom-tooltip { --bs-tooltip-bg: var(--bs-primary); } - + custom-tooltip This top tooltip is themed via CSS variables. Custom tooltip - +
<xmlatt>outputclass</xmlatt> diff --git a/sample/typography.dita b/sample/typography.dita index 9f341082..b750170b 100644 --- a/sample/typography.dita +++ b/sample/typography.dita @@ -29,14 +29,14 @@ outputclass="h1" through outputclass="h6" are also available, for when you want to match the font styling of a heading but cannot use the associated HTML element.

- +

h1. Bootstrap heading

h2. Bootstrap heading

h3. Bootstrap heading

h4. Bootstrap heading

h5. Bootstrap heading

h6. Bootstrap heading

-
+ <title outputclass="h1">h1. Bootstrap heading</title> <title outputclass="h2">h2. Bootstrap heading</title> <title outputclass="h3">h3. Bootstrap heading</title> @@ -48,9 +48,9 @@

Annotate a ph with an outputclass to recreate the small secondary heading text from Bootstrap 3.

- +

Fancy display heading with faded secondary text

-
+ <title>Fancy display heading <ph outputclass="fs-md fg-secondary">with faded secondary text</ph></title>
@@ -58,14 +58,14 @@

Traditional heading elements are designed to work best in the meat of your page content. When you need a heading to stand out, consider using a display heading — a larger, slightly more opinionated heading style.

- +

Display 1

Display 2

Display 3

Display 4

Display 5

Display 6

-
+ <title outputclass="fw-light fs-6xl">Display 1</title> <title outputclass="fw-light fs-5xl">Display 2</title> <title outputclass="fw-light fs-4xl">Display 3</title> @@ -78,9 +78,9 @@ >outputclass="fw-light fs-lg" — this is automatically added to shortdesc elements.

- +

This is a lead paragraph. It stands out from regular paragraphs.

-
+ <p outputclass="fw-light fs-lg"> This is a lead paragraph. It stands out from regular paragraphs. </p> @@ -88,7 +88,7 @@ Inline text elements

Styling for common inline HTML5 elements.

- +

You can use outputclass="mark" to highlight text.

This line of text is meant to be treated as deleted text.

This line of text will render as underlined.

@@ -96,7 +96,7 @@ print.

This line rendered as bold text.

This line rendered as italicized text.

-
+ <p>You can use <xmlatt>outputclass="mark"</xmlatt> to <ph outputclass="mark">highlight</ph> text.</p> <p><line-through>This line of text is meant to be treated as deleted @@ -119,14 +119,14 @@ additional context on hover and to users of assistive technologies.

Add outputclass="initialism" to an abbreviation for a slightly smaller font-size.

- +

attr

HTML

-
+ <p> <ph outputclass="abbreviation" otherprops="title(attribute)">attr</ph> </p> @@ -139,11 +139,11 @@

For quoting blocks of content from another source within your document, use the DITA lq element, it is styled automatically.

- +

A well-known quote, contained in a blockquote element.

-
+ <lq> <p>A well-known quote, contained in a blockquote element.</p> </lq> @@ -155,14 +155,14 @@ fig. Be sure to wrap the name of the source work in the cite as well.

- + Someone famous in <cite>Source Title</cite>

A well-known quote, contained in a blockquote element.

-
+ <fig> <title>Someone famous in <cite>Source Title</cite></title> <lq > @@ -174,28 +174,28 @@

Use text utilities such as outputclass="text-center" as needed to change the alignment of your blockquote.

- + Someone famous in <cite>Source Title</cite>

A well-known quote, contained in a blockquote element.

-
+ <fig outputclass="text-center"> <title>Someone famous in <cite>Source Title</cite></title> <lq> <p>A well-known quote, contained in a blockquote element.</p> </lq> </fig> - + Someone famous in <cite>Source Title</cite>

A well-known quote, contained in a blockquote element.

-
+ <fig outputclass="text-end"> <title>Someone famous in <cite>Source Title</cite></title> <lq> @@ -212,7 +212,7 @@ immediate children list items, meaning you will need to add the outputclass="list-unstyled" for any nested lists as well.

- +
  • This is a list.
  • It appears completely unstyled.
  • @@ -227,7 +227,7 @@
  • This may still come in handy in some situations.
-
+ <ul outputclass="list-unstyled"> <li>This is a list.</li> <li>It appears completely unstyled.</li> @@ -248,13 +248,13 @@ outputclass="list-inline" attribute.

- +
  • This is a list item.
  • And another one.
  • But they're displayed inline.
-
+ <ul outputclass="list-inline"> <li>This is a list item.</li> <li>And another one.</li> @@ -265,7 +265,7 @@

Terms and descriptions align horizontally using Bootstrap’s grid system of predefined classes. For longer terms, text is truncated with an ellipsis.

- +
Description lists
@@ -298,7 +298,7 @@
-
+ <dl> <dlentry> <dt>Description lists</dt> @@ -339,7 +339,7 @@ >dd spreads over 9 column widths. Alter default width of terms by adding colspan

- +
Description lists
@@ -353,7 +353,7 @@
-
+
<xmlatt>outputclass</xmlatt> diff --git a/xsl/utility-classes.xsl b/xsl/utility-classes.xsl index fe9a8582..48f2530c 100644 --- a/xsl/utility-classes.xsl +++ b/xsl/utility-classes.xsl @@ -24,6 +24,7 @@ + @@ -505,6 +506,7 @@ else if (contains(@outputclass, 'btn-group')) then '' else if (contains(@outputclass, 'btn-toolbar')) then '' else if (contains(@outputclass, 'accordion-')) then 'accordion' + else if (contains(@class, ' topic/example ')) then $BOOTSTRAP_CSS_EXAMPLE else if (contains(@class, ' topic/fig ') and *[contains(@class, ' topic/lq ')]) then ' blockquote ' else if (contains(@class, ' topic/fig ')) then ' figure ' || $BOOTSTRAP_CSS_FIGURE else if (contains(@class, ' topic/lq ') and parent::*[contains(@class, ' topic/fig ')]) then '' From dba8541101a4bdba6d1977441958add03676c970 Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Mon, 10 Aug 2026 10:59:35 +0200 Subject: [PATCH 59/87] put back bodydiv where example can't embed elements --- sample/accordion.dita | 12 ++++++------ sample/alerts.dita | 8 ++++---- sample/badge.dita | 4 ++-- sample/borders.dita | 4 ++-- sample/button-group.dita | 20 ++++++++++---------- sample/card.dita | 20 ++++++++++---------- sample/color.dita | 8 ++++---- sample/grid.dita | 8 ++++---- sample/rtl.dita | 4 ++-- sample/shadows.dita | 4 ++-- sample/tabs.dita | 12 ++++++------ 11 files changed, 52 insertions(+), 52 deletions(-) diff --git a/sample/accordion.dita b/sample/accordion.dita index 82a5fe60..f78c2f94 100644 --- a/sample/accordion.dita +++ b/sample/accordion.dita @@ -40,7 +40,7 @@ Example

Click the accordions below to expand/collapse the accordion content.

- +
Accordion Item #1 @@ -67,7 +67,7 @@ Bootstrap’s default variables.

-
+
<xmlatt>outputclass</xmlatt> @@ -146,7 +146,7 @@ background-color, some borders, and some rounded corners to render accordions edge-to-edge with their parent container.

- +
Accordion Item #1 @@ -167,7 +167,7 @@ to make it look, at least at first glance, a bit more representative of how this would look in a real-world application.

-
+
<xmlatt>outputclass</xmlatt> @@ -187,7 +187,7 @@ Always open

Set open="yes" to make accordion items stay open when another item is opened.

- +
Accordion Item #1 @@ -214,7 +214,7 @@ Bootstrap’s default variables.

-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/alerts.dita b/sample/alerts.dita index ea49c71c..631d26fa 100644 --- a/sample/alerts.dita +++ b/sample/alerts.dita @@ -32,7 +32,7 @@ of the eight required contextual classes (e.g., set outputclass to alert theme-success).

- +
A simple primary alert — check it out!
A simple secondary alert — check it out!
A simple success alert — check it out!
@@ -41,7 +41,7 @@
A simple info alert — check it out!
A simple accent alert — check it out!
A simple inverse alert — check it out!
-
+
<xmlatt>outputclass</xmlatt> @@ -103,7 +103,7 @@ Additional content

Alerts can also contain additional HTML elements like headings, paragraphs, icons and links.

- +
<ph outputclass="bi bi-emoji-smile pe-2"/>Well done!

Aww yeah, you successfully read this important alert message. This example text with a @@ -111,7 +111,7 @@ with this kind of content.

Whenever you need to, be sure to use margin utilities to keep things nice and tidy.

-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/badge.dita b/sample/badge.dita index 1afefd76..7ca37ad9 100644 --- a/sample/badge.dita +++ b/sample/badge.dita @@ -28,7 +28,7 @@

Badges scale to match the size of the immediate parent element by using relative font sizing and em units. As of v5, badges no longer have focus or hover styles for links.

- +

Example heading New

Example heading New

@@ -37,7 +37,7 @@

Example heading New

Example heading New

-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/borders.dita b/sample/borders.dita index 553b9203..baa1a1d0 100644 --- a/sample/borders.dita +++ b/sample/borders.dita @@ -53,7 +53,7 @@ >rounded attributes provide a semantic way to add borders and rounded corners.

- +
Bordered Section

This section has a border.

@@ -71,7 +71,7 @@ - +
diff --git a/sample/button-group.dita b/sample/button-group.dita index 2fc01184..84c39cd5 100644 --- a/sample/button-group.dita +++ b/sample/button-group.dita @@ -29,13 +29,13 @@ outputclass="btn-group"

- + Left Middle Right - +
<xmlatt>outputclass</xmlatt> @@ -57,13 +57,13 @@
Mixed styles
- + Left Middle Right - +
<xmlatt>outputclass</xmlatt> @@ -85,13 +85,13 @@
Outlined styles
- + Left Middle Right - +
<xmlatt>outputclass</xmlatt> @@ -114,7 +114,7 @@ Button toolbar

Combine sets of button groups into button toolbars for more complex components.

- + 1 @@ -131,7 +131,7 @@ 8 - +
<xmlatt>outputclass</xmlatt> @@ -176,13 +176,13 @@ Vertical variation

Make a set of buttons appear vertically stacked rather than horizontally.

- + Top Middle Bottom - +
<xmlatt>outputclass</xmlatt> diff --git a/sample/card.dita b/sample/card.dita index f5fef211..3b735c0e 100644 --- a/sample/card.dita +++ b/sample/card.dita @@ -47,14 +47,14 @@ >sizing options.

- +
Card Title

Some quick example text to build on the card title and make up the bulk of the card’s content.

Go Somewhere
-
+
<xmlatt>outputclass</xmlatt> @@ -81,7 +81,7 @@ card-link to an xref tag.

Subtitles are used by adding a div element.

- +
Card Title
Card Subtitle
@@ -89,7 +89,7 @@ Card Link Another Link
-
+
<xmlatt>outputclass</xmlatt> @@ -118,7 +118,7 @@ >card places an image to the top of the card

- +
@@ -127,7 +127,7 @@
-
+
<xmlatt>outputclass</xmlatt> @@ -150,7 +150,7 @@ >card-header and card-footer elements.

- +
Special title treatment
Featured
@@ -158,7 +158,7 @@ Go somewhere
2 days ago
-
+
<xmlatt>outputclass</xmlatt> @@ -185,14 +185,14 @@

A card can be colorized by adding a color attribute. This applies a contextual background color.

- +
Card Title
Success Card

Some quick example text to build on the card title and make up the bulk of the card’s content.

Go Somewhere
-
+
<card color="success"> <title>Card Title</title> <div outputclass="card-header">Success Card</div> diff --git a/sample/color.dita b/sample/color.dita index 9ba3a470..1f02ca87 100644 --- a/sample/color.dita +++ b/sample/color.dita @@ -65,7 +65,7 @@ >Decoration attributes can be applied to many base DITA elements to add background color and contrasting text.

- +
Section Decoration

This section has a primary color background.

@@ -115,7 +115,7 @@ This is a note with a primary color theme. - +
@@ -224,7 +224,7 @@

Many specialized components also support the color attribute for consistent theming.

- +
@@ -256,7 +256,7 @@ - +
diff --git a/sample/grid.dita b/sample/grid.dita index a05b54d5..10a078d1 100644 --- a/sample/grid.dita +++ b/sample/grid.dita @@ -32,7 +32,7 @@ comes together. The grid-col element supports breakpoint and colspan attributes to define the column width at different screen sizes.

- +

One of three columns

@@ -44,7 +44,7 @@

One of three columns

-
+
<xmlatt>outputclass</xmlatt> @@ -81,7 +81,7 @@ xxl. Add any number of unit-less classes for each breakpoint you need and every column will be the same width.

- +

One of two columns

@@ -101,7 +101,7 @@

One of three columns

-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/rtl.dita b/sample/rtl.dita index a3d06a61..7718dba0 100644 --- a/sample/rtl.dita +++ b/sample/rtl.dita @@ -43,7 +43,7 @@

Additionally, within any topic, setting the dir attribute on any DITA element thereafter will cause the layout to be recalculated for the enclosed block only.

- +
@@ -54,7 +54,7 @@
-
+
<xmlatt>outputclass</xmlatt> diff --git a/sample/shadows.dita b/sample/shadows.dita index e57be7b6..23adf4bf 100644 --- a/sample/shadows.dita +++ b/sample/shadows.dita @@ -55,13 +55,13 @@

Shadows can be applied to complex elements as follow:

- +
Shadowed Card

This card has a large shadow.

Alert with small shadow
-
+
diff --git a/sample/tabs.dita b/sample/tabs.dita index 695abde0..e7d8c8a7 100644 --- a/sample/tabs.dita +++ b/sample/tabs.dita @@ -31,7 +31,7 @@ style="tabs" element containing a series of section elements

- +
Home @@ -58,7 +58,7 @@ Stinging like a bee I earned my stripes.

-
+
<xmlatt>outputclass</xmlatt> @@ -97,7 +97,7 @@

The tabs plugin also works with pills using style="pills"

- +
Home @@ -124,7 +124,7 @@ Stinging like a bee I earned my stripes.

-
+
<xmlatt>outputclass</xmlatt> @@ -163,7 +163,7 @@

And with vertical pills using style="vertical-pills"

- +
Home @@ -190,7 +190,7 @@ Stinging like a bee I earned my stripes.

-
+
<xmlatt>outputclass</xmlatt> From 14496455d07ef6b1ec4b83bfbbae7c6a0a2f2ad5 Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Mon, 10 Aug 2026 11:09:33 +0200 Subject: [PATCH 60/87] Use
for button-group --- sample/button-group.dita | 88 ++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/sample/button-group.dita b/sample/button-group.dita index 84c39cd5..7620c21a 100644 --- a/sample/button-group.dita +++ b/sample/button-group.dita @@ -29,25 +29,25 @@ outputclass="btn-group"

- - + +
Left Middle Right - - +
+
- <xmlatt>outputclass</xmlatt> - <div outputclass="btn-group"> + <xmlatt>outputclass</xmlatt> + <div outputclass="btn-group"> <xref outputclass="btn theme-primary" href="#">Left</xref> <xref outputclass="btn theme-primary" href="#">Middle</xref> <xref outputclass="btn theme-primary" href="#">Right</xref> </div> -
-
+
+
Specialization - <button-group> + <button-group> <button color="primary" href="#">Left</button> <button color="primary" href="#">Middle</button> <button color="primary" href="#">Right</button> @@ -57,25 +57,25 @@
Mixed styles
- - + +
Left Middle Right - - +
+
- <xmlatt>outputclass</xmlatt> - <div outputclass="btn-group"> + <xmlatt>outputclass</xmlatt> + <div outputclass="btn-group"> <xref outputclass="btn theme-danger" href="#">Left</xref> <xref outputclass="btn theme-warning" href="#">Middle</xref> <xref outputclass="btn theme-success" href="#">Right</xref> </div>
-
+
Specialization - <button-group> + <button-group> <button color="danger" href="#">Left</button> <button color="warning" href="#">Middle</button> <button color="success" href="#">Right</button> @@ -85,13 +85,13 @@
Outlined styles
- - + +
Left Middle Right - - +
+
<xmlatt>outputclass</xmlatt> @@ -101,7 +101,7 @@ <xref outputclass="btn-outline theme-primary" href="#">Right</xref> </div>
-
+
Specialization <button-group> <button color="primary" outline="yes" href="#">Left</button> @@ -114,24 +114,24 @@ Button toolbar

Combine sets of button groups into button toolbars for more complex components.

- - - + +
+
1 2 3 4 - - +
+
5 6 7 - - +
+
8 - - - +
+
+
<xmlatt>outputclass</xmlatt> @@ -176,30 +176,30 @@ Vertical variation

Make a set of buttons appear vertically stacked rather than horizontally.

- - + +
Top Middle Bottom - - +
+
- <xmlatt>outputclass</xmlatt> - <div outputclass="btn-group-vertical"> + <xmlatt>outputclass</xmlatt> + <div outputclass="btn-group-vertical"> <xref outputclass="btn theme-primary" href="#">Top</xref> <xref outputclass="btn theme-primary" href="#">Middle</xref> <xref outputclass="btn theme-primary" href="#">Bottom</xref> </div> -
-
- Specialization - <button-group vertical="yes"> +
+
+ Specialization + <button-group vertical="yes"> <button color="primary" href="#">Top</button> <button color="primary" href="#">Middle</button> <button color="primary" href="#">Bottom</button> </button-group> -
-
+
+
From f677d2e264a8dad98413dbf90103789cea963e7d Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Mon, 10 Aug 2026 12:18:10 +0200 Subject: [PATCH 61/87] Fixing card markup --- Customization/xsl/card.xsl | 8 +- sample/index.dita | 350 ++++++++++++++++--------------------- 2 files changed, 156 insertions(+), 202 deletions(-) diff --git a/Customization/xsl/card.xsl b/Customization/xsl/card.xsl index 9b654edb..cab9e432 100644 --- a/Customization/xsl/card.xsl +++ b/Customization/xsl/card.xsl @@ -15,7 +15,9 @@ diff --git a/sample/index.dita b/sample/index.dita index ed875f07..cf952af0 100644 --- a/sample/index.dita +++ b/sample/index.dita @@ -78,14 +78,12 @@
-

- -

+
@@ -95,27 +93,23 @@ scope="external" href="https://bootswatch.com/cerulean/thumbnail.png" /> -

- -

+
-

- -

+
@@ -125,40 +119,34 @@
-

- -

+
-

- -

+
-

- -

+
@@ -168,40 +156,34 @@
-

- -

+
-

- -

+
-

- -

+
@@ -211,40 +193,34 @@
-

- -

+
-

- -

+
-

- -

+
@@ -254,40 +230,34 @@
-

- -

+
-

- -

+
-

- -

+
@@ -301,40 +271,34 @@ scope="external" href="https://bootswatch.com/sandstone/thumbnail.png" /> -

- -

+
-

- -

+
-

- -

+
@@ -344,27 +308,23 @@
-

- -

+
-

- -

+
@@ -374,14 +334,12 @@ scope="external" href="https://bootswatch.com/spacelab/thumbnail.png" /> -

- -

+
@@ -395,40 +353,34 @@ scope="external" href="https://bootswatch.com/superhero/thumbnail.png" /> -

- -

+
-

- -

+
-

- -

+
@@ -438,14 +390,12 @@
-

- -

+
From afe6007ac429d9a4a47b68e240f07fb8ec49320a Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Mon, 10 Aug 2026 18:02:12 +0200 Subject: [PATCH 62/87] Temporarily add CSS Branch --- .github/workflows/ci.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3ad5b908..37b09055 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -6,6 +6,7 @@ name: CI - develop - v5 - v6 + - css workflow_dispatch: jobs: @@ -31,6 +32,7 @@ jobs: # 1. Resolve Plugin URLs dynamically with fallback - name: Resolve Plugin URLs 🔗 id: plugins + if: github.ref_name != 'css' run: | owner="${{ github.repository_owner }}" ref="${{ github.ref_name }}" @@ -66,6 +68,7 @@ jobs: # 2. Build Bootstrap using the resolved list - name: Build Bootstrap + if: github.ref_name != 'css' uses: dita-ot/dita-ot-action@4.4 with: install: | @@ -76,6 +79,15 @@ jobs: plugins: ${{ steps.plugins.outputs.list }} project: .github/dita-ot/html.xml + # 2b. The css branch skips the DITA-OT doc build entirely — it just carries + # static CSS files (e.g. a Bootswatch theme ported to v6 tokens) to publish + # at a stable URL for the theme switcher to reference. + - name: Copy CSS output + if: github.ref_name == 'css' + run: | + mkdir -p out/html + cp css/*.css out/html/ + # 3. Determine target folder dynamically based on current branch - name: Determine target folder 📁 id: set-target @@ -99,3 +111,4 @@ jobs: clean-exclude: | v5 v6 + css From 2138e888bf1e4f79b23f27889017ab8557dde54c Mon Sep 17 00:00:00 2001 From: Jason Fox Date: Mon, 10 Aug 2026 18:53:45 +0200 Subject: [PATCH 63/87] Update themes list and temporarily point to CSS Branch --- .github/dita-ot/header.xml | 108 ++++++++++++++++++------------------- 1 file changed, 54 insertions(+), 54 deletions(-) diff --git a/.github/dita-ot/header.xml b/.github/dita-ot/header.xml index c03495cd..52095998 100644 --- a/.github/dita-ot/header.xml +++ b/.github/dita-ot/header.xml @@ -159,191 +159,191 @@