Skip to content

Commit 2204eb9

Browse files
github-actions[bot]Copilotnojafdsyme
authored
[Repo Assist] css: introduce --surface-background and --surface-border for theming (#1161)
* css: introduce --surface-background and --surface-border variables Decouple component surface colours from --header-background/--header-border. The new variables default to the header values for full backwards compatibility. Themes that need a distinct surface colour (e.g. dark header + light content surfaces) can now override --surface-background and --surface-border without touching the header variables. Affected components: - .copy-code-button (background + border) - --mobile-menu-background - --aside-background (sidebar) - --blockquote-bacground-color - --page-menu-background-color + border - --nav-item-border-color - --dialog-background-color - div.fsdocs-tip (border) - API docs table row borders - dialog list item borders - #fsdocs-main-menu sidebar border Closes #1156 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * ci: trigger checks * css: rename --surface-* to --panel-* for clarity The 'surface' naming was found to be non-intuitive by maintainers. Rename to --panel-background and --panel-border which more clearly communicates that these variables control backgrounds and borders of panel/component UI elements (menus, dialogs, blockquotes, etc.) as distinct from the page header colours. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * css: improve --panel-background/--panel-border comment for clarity Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * css: fix typo --blockquote-bacground-color → --blockquote-background-color Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Florian Verdonck <florian.verdonck@outlook.com> Co-authored-by: Don Syme <dsyme@users.noreply.github.com>
1 parent 2bc1cca commit 2204eb9

2 files changed

Lines changed: 20 additions & 15 deletions

File tree

RELEASE_NOTES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
* Fix `Markdown.ToMd` serialising unresolved indirect links as `[body](key)` (treating the reference key as a URL) instead of the correct `[body][key]` form. Unresolved indirect links are now preserved in their original indirect-reference form, consistent with how unresolved indirect images are handled.
2323

2424
### Added
25+
* Introduce `--panel-background` and `--panel-border` CSS custom properties in `fsdocs-default.css`. These decouple panel/component colours (copy-code button, blockquotes, sidebar, page menu, dialogs, tooltips, API tables) from `--header-background`/`--header-border`. Both variables default to the header values, so existing themes are unaffected; themes that need a different colour for content panels can now override `--panel-background` and `--panel-border` independently. [#1156](https://github.com/fsprojects/FSharp.Formatting/issues/1156)
2526
* Add tests for `Markdown.ToFsx` (direct serialisation to F# script format), which previously had no unit test coverage.
2627
* Add tests for `Markdown.ToPynb` (direct serialisation to Jupyter notebook format), which previously had no unit test coverage.
2728
* Add round-trip tests for `HardLineBreak` and `HorizontalRule` character preservation in `Markdown.ToMd`.

docs/content/fsdocs-default.css

Lines changed: 19 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,11 @@
6363
--header-background: light-dark(#f9fbfc, #0c1318);
6464
--header-border: light-dark(#e8ecf1, #3a3a42);
6565
--header-link-color: var(--text-color);
66-
--mobile-menu-background: var(--header-background);
66+
/* Panel variables (--panel-background, --panel-border): override to customise menus, dialogs,
67+
blockquotes, copy buttons, and other UI panels independently from the page header. */
68+
--panel-background: var(--header-background);
69+
--panel-border: var(--header-border);
70+
--mobile-menu-background: var(--panel-background);
6771
--menu-color: var(--text-color);
6872
--menu-item-hover-background: light-dark(#eff0f1, #2c2624);
6973
--menu-item-hover-color: var(--menu-color);
@@ -77,16 +81,16 @@
7781
--scrollbar-thumb-background: #686868;
7882
--shadow-color: hsla(0, 0%, 0%, .1);
7983
--main-shadow-color: hsla(0, 0%, 0%, .025);
80-
--aside-background: var(--header-background);
81-
--blockquote-bacground-color: var(--header-background);
84+
--aside-background: var(--panel-background);
85+
--blockquote-background-color: var(--panel-background);
8286
--blockquote-color: var(--text-color);
8387
--on-this-page-color: var(--menu-color);
84-
--page-menu-background-color: var(--header-background);
85-
--page-menu-background-border-color: var(--header-border);
88+
--page-menu-background-color: var(--panel-background);
89+
--page-menu-background-border-color: var(--panel-border);
8690
--page-menu-background-hover-border-color: var(--text-color);
87-
--nav-item-border-color: var(--header-border);
91+
--nav-item-border-color: var(--panel-border);
8892
--nav-item-active-border-color: var(--text-color);
89-
--dialog-background-color: var(--header-background);
93+
--dialog-background-color: var(--panel-background);
9094
--dialog-empty-color: var(--nav-category);
9195
--dialog-icon-color: var(--text-color);
9296
--dialog-link-color: var(--link-color);
@@ -347,7 +351,7 @@ main {
347351
margin: 0;
348352

349353
& li {
350-
border-left: 1px solid var(--header-border);
354+
border-left: 1px solid var(--panel-border);
351355
margin: 0;
352356

353357
&:hover, &:focus {
@@ -468,7 +472,7 @@ main {
468472
padding: var(--spacing-300) var(--spacing-500);
469473
background-color: var(--aside-background);
470474
width: var(--main-menu-width);
471-
border-right: 1px solid var(--header-border);
475+
border-right: 1px solid var(--panel-border);
472476
grid-row: var(--main-menu-grid-row);
473477
grid-column: var(--main-menu-grid-column);
474478
overflow-y: auto;
@@ -666,7 +670,7 @@ blockquote {
666670
margin: var(--spacing-200) 0;
667671
margin-left: var(--spacing-200);
668672
padding: var(--spacing-100) var(--spacing-300);
669-
background-color: var(--blockquote-bacground-color);
673+
background-color: var(--blockquote-background-color);
670674
color: var(--blockquote-color);
671675

672676
> p {
@@ -731,8 +735,8 @@ pre.has-copy-button {
731735
top: var(--spacing-100);
732736
right: var(--spacing-100);
733737
padding: var(--spacing-50) var(--spacing-100);
734-
background-color: var(--header-background);
735-
border: 1px solid var(--header-border);
738+
background-color: var(--panel-background);
739+
border: 1px solid var(--panel-border);
736740
border-radius: var(--radius);
737741
color: var(--text-color);
738742
cursor: pointer;
@@ -989,7 +993,7 @@ table.pre, code, pre.fssnip {
989993
div.fsdocs-tip {
990994
background-color: var(--doc-tip-background);
991995
border-radius: var(--radius);
992-
border: 1px solid var(--header-border);
996+
border: 1px solid var(--panel-border);
993997
padding: var(--spacing-200);
994998
font-family: var(--monospace-font);
995999
font-variant-ligatures: none;
@@ -1070,7 +1074,7 @@ div.fsdocs-tip:popover-open {
10701074
}
10711075

10721076
& tbody td {
1073-
border-top: 1px solid var(--header-border);
1077+
border-top: 1px solid var(--panel-border);
10741078
padding: var(--spacing-300) 0;
10751079
}
10761080

@@ -1280,7 +1284,7 @@ dialog {
12801284

12811285
& li {
12821286
margin: 0;
1283-
border-bottom: 1px solid var(--header-border);
1287+
border-bottom: 1px solid var(--panel-border);
12841288

12851289
&:hover {
12861290
& a, & a iconify-icon {

0 commit comments

Comments
 (0)