From 94396d18eab995239d361edad7b09cf509d7f932 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 20 Dec 2024 02:24:18 -0800 Subject: [PATCH 1/4] Add support for versionremoved directive - Purge unused SCSS files --- .../assets/styles/abstracts/_mixins.scss | 21 +--- .../assets/styles/abstracts/_variables.scss | 69 -------------- .../assets/styles/base/_base.scss | 45 --------- .../assets/styles/base/_print.scss | 95 ------------------- .../styles/components/_versionmodified.scss | 39 ++++++++ .../assets/styles/index.scss | 1 + .../assets/styles/variables/_layout.scss | 5 + .../styles/variables/_versionmodified.scss | 7 ++ .../static/styles/plone-sphinx-theme.css | 2 +- 9 files changed, 57 insertions(+), 227 deletions(-) delete mode 100644 src/plone_sphinx_theme/assets/styles/abstracts/_variables.scss delete mode 100644 src/plone_sphinx_theme/assets/styles/base/_base.scss delete mode 100644 src/plone_sphinx_theme/assets/styles/base/_print.scss create mode 100644 src/plone_sphinx_theme/assets/styles/components/_versionmodified.scss create mode 100644 src/plone_sphinx_theme/assets/styles/variables/_layout.scss create mode 100644 src/plone_sphinx_theme/assets/styles/variables/_versionmodified.scss diff --git a/src/plone_sphinx_theme/assets/styles/abstracts/_mixins.scss b/src/plone_sphinx_theme/assets/styles/abstracts/_mixins.scss index b2afd64..32b1419 100644 --- a/src/plone_sphinx_theme/assets/styles/abstracts/_mixins.scss +++ b/src/plone_sphinx_theme/assets/styles/abstracts/_mixins.scss @@ -1,23 +1,10 @@ +/* Snippets from: +src/pydata_sphinx_theme/assets/styles/abstracts/_mixins.scss +*/ /********************************************* * SASS Mixins *********************************************/ -/** -* Hide the scrollbar until the element is hovered, so keep the page clean -* Use this sparingly because it's not a great UX pattern. -*/ -@mixin scrollbar-on-hover() { - &:not(:hover) { - &::-webkit-scrollbar-thumb { - visibility: hidden; - } - } -} - -/** - * The PyData Sphinx Theme box shadow rule - * Copied here in csae we need to re-use. -*/ -@mixin pst-box-shadow() { +@mixin box-shadow() { box-shadow: 0 0.2rem 0.5rem var(--pst-color-shadow), 0 0 0.0625rem var(--pst-color-shadow) !important; diff --git a/src/plone_sphinx_theme/assets/styles/abstracts/_variables.scss b/src/plone_sphinx_theme/assets/styles/abstracts/_variables.scss deleted file mode 100644 index 1ed2e88..0000000 --- a/src/plone_sphinx_theme/assets/styles/abstracts/_variables.scss +++ /dev/null @@ -1,69 +0,0 @@ -/********************************************* -* Variables * -*********************************************/ -// Breakpoints from Bootstrap: https://getbootstrap.com/docs/5.0/layout/breakpoints/ -$breakpoint-xxl: 1200px; -$breakpoint-xl: 1200px; -$breakpoint-lg: 992px; -$breakpoint-md: 768px; -$breakpoint-sm: 576px; - -// A few semantic z-indices -$zindex-bottom: 1; -$zindex-middle: 2; -$zindex-top: 3; - -// Semantic Z-index from bootstrap. Copied here so we can re-use if needed. -// ref: https://getbootstrap.com/docs/5.0/layout/z-index/ -$zindex-dropdown: 1000; -$zindex-sticky: 1020; -$zindex-fixed: 1030; -$zindex-modal-backdrop: 1040; -$zindex-offcanvas: 1050; -$zindex-modal: 1060; -$zindex-popover: 1070; -$zindex-tooltip: 1080; - -// Spacing -$header-article-height: 3rem; -$sidebar-primary-width-widescreen: 20%; -$toc-width-mobile: 75%; - -// Consistent styling for page elements -$box-border-radius: 0.4em; - -$animation-time: 0.25s; - -// Font sizes -$sbt-font-size-small-1: 87.5%; - -/** - * Variables that aren't impacted by light/dark - */ -html[data-theme="light"], -html[data-theme="dark"] { - // Over-ride the pydata theme so that readers can use their system base - --pst-font-size-base: none; - // Default secondary color (has enough contrast on both light/dark so - // no need to special case. - --pst-color-secondary: #e89217; -} - -// Overrides for pydata sphinx theme. -// See https://github.com/pydata/pydata-sphinx-theme/blob/master/pydata_sphinx_theme/static/css/theme.css -html[data-theme="light"] { - // Announcement - --sbt-color-announcement: rgb(97, 97, 97); - // Default primary color (need to adjust on dark theme due to bad contrast) - --pst-color-primary: #176de8; -} - -html[data-theme="dark"] { - // Slightly lighten these colors to make them stand out more on dark - --pst-color-primary: #528fe4; - - // Over-ride the purple announcement color - --sbt-color-announcement: rgb(97, 97, 97); - // Desaturate the background - --pst-color-background: #121212; -} diff --git a/src/plone_sphinx_theme/assets/styles/base/_base.scss b/src/plone_sphinx_theme/assets/styles/base/_base.scss deleted file mode 100644 index 133dd49..0000000 --- a/src/plone_sphinx_theme/assets/styles/base/_base.scss +++ /dev/null @@ -1,45 +0,0 @@ -/** - * General structural things - */ -html { - // The PyData theme value for this is based on `header-height` variable. - // We set the variable to 0 and have our own $article-header-height SCSS variable. - // So here we follow the same pattern but now using our variable. - scroll-padding-top: $header-article-height + 1rem; -} - -/** -* Utility classes used in a few places -*/ -// For the helper pixel that we can watch to decide whether we've scrolled -.sbt-scroll-pixel-helper { - position: absolute; - width: 0px; - height: 0px; - top: 0; - left: 0; -} - -// We define our own display-none class since bootstrap uses !important and we want to be able to over-ride -.d-n { - display: none; -} - -/** - * Printing behavior - */ -// Only display upon printing -.onlyprint { - display: none; - - @media print { - display: block !important; - } -} - -// Prevent an item from being printed -.noprint { - @media print { - display: none !important; - } -} diff --git a/src/plone_sphinx_theme/assets/styles/base/_print.scss b/src/plone_sphinx_theme/assets/styles/base/_print.scss deleted file mode 100644 index 1e90cdf..0000000 --- a/src/plone_sphinx_theme/assets/styles/base/_print.scss +++ /dev/null @@ -1,95 +0,0 @@ -/********************************************* -* Print-specific CSS * -*********************************************/ -@media print { - .bd-main { - .bd-content { - margin-left: 2rem; - height: auto; - // Structural elements - #jb-print-docs-body { - margin-left: 0rem; - - h1 { - font-size: 3em; - text-align: center; - margin-bottom: 0; - } - } - // Main content adjustments - .bd-article { - padding-top: 0; - - // The first H1 is the title, we've already displayed above - h1:first-of-type { - display: none; - } - } - - // HACK: Without this, some code cells take the whole width - .container { - min-width: 0% !important; - } - - // Content - h1 { - margin-top: 1em; - margin-bottom: 1em; - } - h1, - h2, - h3, - h4 { - break-after: avoid; - color: black; - } - - table { - break-inside: avoid; - } - - pre { - word-wrap: break-word; - } - - a.headerlink { - display: none; - } - - // Remove borders to save some ink - blockquote.epigraph, - aside.margin, - aside.sidebar { - border: none; - } - - .footer { - margin-top: 1em; - } - // Print-only table of contents - #jb-print-toc { - margin-bottom: 1.5rem; - margin-left: 0rem; - .section-nav { - border-left: 0px !important; - list-style-type: disc !important; - margin-left: 3em !important; - a { - text-decoration: none !important; - } - li { - display: list-item !important; - } - .nav { - display: none; - } - } - } - } - - // Hide the footer on printing - .bd-footer-content { - display: none !important; - } - } -} diff --git a/src/plone_sphinx_theme/assets/styles/components/_versionmodified.scss b/src/plone_sphinx_theme/assets/styles/components/_versionmodified.scss new file mode 100644 index 0000000..f289324 --- /dev/null +++ b/src/plone_sphinx_theme/assets/styles/components/_versionmodified.scss @@ -0,0 +1,39 @@ +@import "../abstracts/mixins"; +@import "../variables/layout"; +@import "../variables/versionmodified"; + +div.versionremoved { + vertical-align: middle; + margin: 1.5625em auto; + padding: 0 0.6rem; + overflow: hidden; + + /* break-inside has replaced page-break-inside and is widely usable since 2019 */ + page-break-inside: avoid; + break-inside: avoid; + border-left: 0.2rem solid; + border-color: var(--pst-color-info); + border-radius: $admonition-border-radius; + background-color: var(--pst-color-on-background); + + @include box-shadow; + + position: relative; + + > p { + margin-bottom: 0.6rem; + margin-top: 0.6rem; + } +} + +div.versionremoved { + border-color: var(--pst-color-danger); + background-color: var(--pst-color-danger-bg); +} + +span.versionmodified.removed { + &::before { + color: var(--pst-color-danger); + content: var(--pst-icon-versionmodified-removed); + } +} diff --git a/src/plone_sphinx_theme/assets/styles/index.scss b/src/plone_sphinx_theme/assets/styles/index.scss index ce4d930..ea2c7c0 100644 --- a/src/plone_sphinx_theme/assets/styles/index.scss +++ b/src/plone_sphinx_theme/assets/styles/index.scss @@ -10,6 +10,7 @@ // Re-usable components across the theme @use "components/icon-links"; @use "components/title"; +@use "components/versionmodified"; @use "content/code"; @use "content/lists"; diff --git a/src/plone_sphinx_theme/assets/styles/variables/_layout.scss b/src/plone_sphinx_theme/assets/styles/variables/_layout.scss new file mode 100644 index 0000000..f100f53 --- /dev/null +++ b/src/plone_sphinx_theme/assets/styles/variables/_layout.scss @@ -0,0 +1,5 @@ +/* Snippets from src/pydata_sphinx_theme/assets/styles/variables/_layout.scss */ +/******************************************************************************* +* UI shaping and padding +*/ +$admonition-border-radius: 0.25rem; diff --git a/src/plone_sphinx_theme/assets/styles/variables/_versionmodified.scss b/src/plone_sphinx_theme/assets/styles/variables/_versionmodified.scss new file mode 100644 index 0000000..c0865ae --- /dev/null +++ b/src/plone_sphinx_theme/assets/styles/variables/_versionmodified.scss @@ -0,0 +1,7 @@ +/* Snippets from src/pydata_sphinx_theme/assets/styles/variables/_versionmodified.scss */ +html { + /***************************************************************************** + * versionmodified + **/ + --pst-icon-versionmodified-removed: var(--pst-icon-exclamation-circle); +} diff --git a/src/plone_sphinx_theme/theme/plone-sphinx-theme/static/styles/plone-sphinx-theme.css b/src/plone_sphinx_theme/theme/plone-sphinx-theme/static/styles/plone-sphinx-theme.css index 33ab912..5c99af6 100644 --- a/src/plone_sphinx_theme/theme/plone-sphinx-theme/static/styles/plone-sphinx-theme.css +++ b/src/plone_sphinx_theme/theme/plone-sphinx-theme/static/styles/plone-sphinx-theme.css @@ -20,4 +20,4 @@ * * This follows the 7-1 pattern described here: * https://sass-guidelin.es/#architecture - */@media(min-width:768px){button.sidebar-toggle.primary-toggle{display:inline-block}}@media(max-width:768px){button.sidebar-toggle.primary-toggle{margin-bottom:0}}@media(min-width:1200px){button.sidebar-toggle.secondary-toggle{display:none}}@media(max-width:768px){button.sidebar-toggle.secondary-toggle{margin-bottom:0}}.bd-header-article{display:flex;align-items:center;position:sticky;top:0;background-color:var(--pst-color-background);transition:left .2s;font-size:.9em;padding:0 1rem;z-index:1020}@media(max-width:768px){.bd-header-article{height:3.5rem;padding:0 .5rem}}.scrolled .bd-header-article{box-shadow:0 6px 6px -6px var(--pst-color-shadow)}.bd-header-article .header-article__inner{padding:0}.bd-header-article .header-article-items{display:flex;align-items:center;height:3rem;width:100%}.bd-header-article .header-article-item{display:flex;align-items:center}.bd-header-article .article-header-buttons{display:flex}.bd-header-article .btn{font-size:1.3rem;color:var(--pst-color-text-muted);border:none;padding-left:.5rem;padding-right:.5rem;display:flex;align-items:center}.bd-header-article .btn svg{width:1.3rem}.bd-header-article .btn.show,.bd-header-article .btn:hover{color:var(--pst-color-text-base);border:none}.bd-header-article .btn.show+.dropdown-menu,.bd-header-article .btn:hover+.dropdown-menu{display:block}.bd-header-article .btn:focus{box-shadow:none}.bd-header-article .btn.dropdown-toggle:after{display:none}.bd-header-article div.dropdown{display:flex;align-items:center}.bd-header-article .theme-switch-button{margin:0}.bd-header-article .theme-switch-button button,.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{padding:0}.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{transition:color .25s ease-out}.bd-header-article .theme-switch-button:active,.bd-header-article .theme-switch-button:hover{background-color:unset!important}.bd-header-article .theme-switch-button:active i,.bd-header-article .theme-switch-button:active span,.bd-header-article .theme-switch-button:hover i,.bd-header-article .theme-switch-button:hover span{color:var(--pst-color-text-base)}.bd-header-article .dropdown-menu{top:2rem;transform:translateX(-75%);box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow)!important;border-color:var(--pst-color-border);background-color:var(--pst-color-background);color:var(--pst-color-text-muted)}.bd-header-article .dropdown-menu:hover{display:block}.bd-header-article .dropdown-menu .dropdown-item{display:inline-flex;align-items:center;padding-left:.5em;font-size:1em}.bd-header-article .dropdown-menu .dropdown-item:hover{text-decoration:none;background-color:initial;color:var(--pst-color-text-base)}.bd-header-article .dropdown-menu .dropdown-item span img{height:1em}.bd-header-article .dropdown-menu .dropdown-item span.btn__icon-container{width:1.7em;align-items:center;display:inline-flex;justify-content:center}.bd-header{position:inherit}.bd-header button.sidebar-toggle{display:none}.bd-sidebar-primary{top:0;max-height:100vh;padding:1rem;transition:margin-left .25s ease 0s,opacity .25s ease 0s,visibility .25s ease 0s}@media(max-width:768px){.bd-sidebar-primary{z-index:1081}}.bd-sidebar-primary .sidebar-primary-items__start{border-top:none}@media(min-width:992px){.bd-sidebar-primary{flex-basis:20%}}@media(min-width:992px){input#pst-primary-sidebar-checkbox:checked~.bd-container .bd-sidebar-primary{margin-left:-20%;visibility:hidden;opacity:0}}.bd-sidebar-secondary{top:0}@media(max-width:1200px){.bd-sidebar-secondary{z-index:1081}}.bd-sidebar-secondary .sidebar-secondary-items{padding:0;display:flex;gap:.5rem}.bd-sidebar-secondary .sidebar-secondary-items .sidebar-secondary-item{padding-top:0;padding-bottom:0}.bd-sidebar-secondary .onthispage{height:3rem;min-height:3rem;display:flex;gap:.5rem;align-items:center;margin:0;color:var(--pst-color-muted)}@media(min-width:1200px){.bd-sidebar-secondary{background:var(--pst-color-background);height:fit-content;transition:max-height .4s ease;z-index:2;padding:0}.bd-sidebar-secondary .toc-item{border-left-color:var(--pst-color-surface);padding-top:0}.bd-sidebar-secondary .toc-item nav.page-toc{margin-bottom:0;transition:opacity .4s ease}.bd-sidebar-secondary.hide:not(:hover){max-height:3rem;overflow-y:hidden}.scrolled .bd-sidebar-secondary.hide:not(:hover){box-shadow:0 6px 6px -6px rgba(0,0,0,.3)}.bd-sidebar-secondary.hide:not(:hover) .onthispage:after{opacity:1;content:"";font-family:Font Awesome\ 5 Free;font-weight:900;padding-left:.5em;transition:opacity .3s ease}.bd-sidebar-secondary.hide:not(:hover) nav.page-toc{opacity:0}}footer{font-size:var(--sbt-font-size-small-1)}footer.bd-footer-content{display:flex;flex-wrap:wrap;padding:15px;border-top:1px solid #ccc;font-size:87.5%}footer.bd-footer-content .bd-footer-content__inner{padding-left:0}footer.bd-footer-content .bd-footer-content__inner p{margin-bottom:0}.bd-footer-article{padding:0 1rem}@media(max-width:768px){.bd-footer-article{padding:0 .5rem}}#pst-back-to-top{font-size:.8rem}@media(min-width:1200px){#pst-back-to-top{display:none!important}}.bd-sidebar-primary .navbar-icon-links{column-gap:.5rem}.bd-sidebar-primary .navbar-icon-links .nav-link i,.bd-sidebar-primary .navbar-icon-links .nav-link span{font-size:1.2rem}.bd-sidebar-primary .navbar-icon-links .nav-link img{font-size:.8rem}.navbar-brand{height:unset;max-height:unset;flex-direction:column;justify-content:center;gap:.25rem}.navbar-brand:hover{text-decoration:none}.navbar-brand .logo__title{font-size:1.25rem;white-space:normal;text-align:center}.navbar-brand .logo__image{height:unset}.bd-search-container{margin:2em}.bd-search-container #search-results h2:first-child{display:none}.search-button-field{width:100%;font-size:.9rem;display:none}.search-button-field .search-button__kbd-shortcut{margin-left:auto}@media(min-width:992px){.search-button{display:none!important}.search-button-field{display:flex}}div#searchbox{padding-right:2rem;padding-left:2rem}@media(max-width:768px){div#searchbox{padding-right:1rem;padding-left:1rem}}@media(min-width:768px){div#searchbox p.highlight-link{margin-left:0}div#searchbox p.highlight-link a{font-size:1rem}}img{max-width:100%}img.align-center{margin-left:auto;margin-right:auto;display:block}img.align-left{clear:left;float:left;margin-right:1em}img.align-right{clear:right;float:right;margin-left:1em}div.figure{width:100%;margin-bottom:1em;text-align:center}div.figure.align-left{text-align:left}div.figure.align-left p.caption{margin-left:0}div.figure.align-right{text-align:right}div.figure.align-right p.caption{margin-right:0}div.figure p.caption{margin:.5em 10%}div.figure.margin-caption p.caption,div.figure.margin p.caption{margin:.5em 0}div.figure.margin-caption p.caption{text-align:left}div.figure span.caption-number{font-weight:700}div.figure span{font-size:.9rem}label.margin-toggle{margin-bottom:0}label.margin-toggle.marginnote-label{display:none}label.margin-toggle sup{user-select:none}@media(max-width:992px){label.margin-toggle{cursor:pointer;color:#0071bc}label.margin-toggle.marginnote-label{display:inline}label.margin-toggle.marginnote-label:after{content:"⊕"}}input.margin-toggle{display:none}@media(max-width:992px){input.margin-toggle:checked+.marginnote,input.margin-toggle:checked+.sidenote{display:block;float:left;left:1rem;clear:both;width:95%;margin:1rem 2.5%;position:relative}}span.marginnote,span.sidenote{z-index:2;position:relative;border-left:none;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media(min-width:992px),print{span.marginnote,span.sidenote{width:33%;margin:0 -36% 0 0;clear:right}span.marginnote p.sidebar-title,span.sidenote p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}span.marginnote p.sidebar-title~*,span.sidenote p.sidebar-title~*{padding-left:0;padding-right:0}}span.marginnote sup,span.sidenote sup{user-select:none}@media(max-width:992px){span.marginnote,span.sidenote{display:none}}aside.sidebar .note{margin:1rem;padding:0 0 1rem}aside.sidebar .admonition-title{margin:0 -1rem 0 0}aside.sidebar.margin .sidebar-title:empty{display:none}aside.sidebar.margin .admonition{margin:.5rem;padding-left:0;padding-right:0}aside.sidebar.margin .admonition .admonition-title{margin-left:0;margin-right:0}@media(min-width:992px){aside.sidebar.margin{border:none}aside.sidebar.margin .admonition{margin:1rem 0;padding:0 0 1rem}}.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{z-index:2;position:relative;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media(min-width:992px),print{.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{width:33%;margin:0 -36% 0 0;clear:right}.cell.tag_margin p.sidebar-title,.cell.tag_popout p.sidebar-title,.margin.docutils.container p.sidebar-title,aside.margin p.sidebar-title,div.margin p.sidebar-title,figure.margin p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}.cell.tag_margin p.sidebar-title~*,.cell.tag_popout p.sidebar-title~*,.margin.docutils.container p.sidebar-title~*,aside.margin p.sidebar-title~*,div.margin p.sidebar-title~*,figure.margin p.sidebar-title~*{padding-left:0;padding-right:0}}.cell.tag_margin div.cell.tag_margin .cell_output,.cell.tag_popout div.cell.tag_margin .cell_output,.margin.docutils.container div.cell.tag_margin .cell_output,aside.margin div.cell.tag_margin .cell_output,div.margin div.cell.tag_margin .cell_output,figure.margin div.cell.tag_margin .cell_output{padding-left:0}div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{z-index:2;position:relative;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media(min-width:992px),print{div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{width:33%;margin:0 -36% 0 0;clear:right}div.figure.margin-caption figcaption p.sidebar-title,div.figure.margin-caption p.caption p.sidebar-title,figure.margin-caption figcaption p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}div.figure.margin-caption figcaption p.sidebar-title~*,div.figure.margin-caption p.caption p.sidebar-title~*,figure.margin-caption figcaption p.sidebar-title~*{padding-left:0;padding-right:0}}.margin-caption figcaption{text-align:left}div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{z-index:2;position:relative}@media(min-width:992px){div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{max-width:136%;width:136%}}blockquote.epigraph,blockquote.highlights,blockquote.pull-quote{font-size:1.25em;border-left:none;background-color:var(--pst-color-background)}blockquote div>p+p.attribution{font-style:normal;font-size:.9em;text-align:right;color:#6c757d;padding-right:2em}div[class*=highlight-],pre{clear:none}div.cell.tag_output_scroll div.cell_output,div.cell.tag_scroll-input div.cell_input,div.cell.tag_scroll-output div.cell_output{max-height:24em;overflow-y:auto}@media only print{div.utterances,hypothesis-sidebar{display:none}}.thebelab-cell{border:none!important;margin-right:.5em!important}.thebelab-cell .thebelab-input{padding-left:10px!important}.cell.docutils.container{padding-right:0!important}button.thebe-launch-button{height:2.5em;font-size:1em}div.footer-item>ul.navbar-icon-links{justify-content:center}.header-article-item-chapter-title{overflow-y:hidden;max-height:100%}.http-example .caption.selected{background-color:unset!important}ol li>p,ol li>p:first-child,ul li>p,ul li>p:first-child{margin-bottom:.5rem;margin-top:.5rem}span.guilabel,span.menuselection{border:1px solid var(--pst-color-info);font-size:1em;font-weight:700;border-radius:.25rem;padding:.1rem .4rem;margin:auto .1rem;background-color:var(--pst-color-info-bg)}:root{--pst-icon-clipboard-list:"";--pst-icon-admonition-todo:var(--pst-icon-clipboard-list)}video{width:100%} \ No newline at end of file + */@media(min-width:768px){button.sidebar-toggle.primary-toggle{display:inline-block}}@media(max-width:768px){button.sidebar-toggle.primary-toggle{margin-bottom:0}}@media(min-width:1200px){button.sidebar-toggle.secondary-toggle{display:none}}@media(max-width:768px){button.sidebar-toggle.secondary-toggle{margin-bottom:0}}.bd-header-article{display:flex;align-items:center;position:sticky;top:0;background-color:var(--pst-color-background);transition:left .2s;font-size:.9em;padding:0 1rem;z-index:1020}@media(max-width:768px){.bd-header-article{height:3.5rem;padding:0 .5rem}}.scrolled .bd-header-article{box-shadow:0 6px 6px -6px var(--pst-color-shadow)}.bd-header-article .header-article__inner{padding:0}.bd-header-article .header-article-items{display:flex;align-items:center;height:3rem;width:100%}.bd-header-article .header-article-item{display:flex;align-items:center}.bd-header-article .article-header-buttons{display:flex}.bd-header-article .btn{font-size:1.3rem;color:var(--pst-color-text-muted);border:none;padding-left:.5rem;padding-right:.5rem;display:flex;align-items:center}.bd-header-article .btn svg{width:1.3rem}.bd-header-article .btn.show,.bd-header-article .btn:hover{color:var(--pst-color-text-base);border:none}.bd-header-article .btn.show+.dropdown-menu,.bd-header-article .btn:hover+.dropdown-menu{display:block}.bd-header-article .btn:focus{box-shadow:none}.bd-header-article .btn.dropdown-toggle:after{display:none}.bd-header-article div.dropdown{display:flex;align-items:center}.bd-header-article .theme-switch-button{margin:0}.bd-header-article .theme-switch-button button,.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{padding:0}.bd-header-article .theme-switch-button i,.bd-header-article .theme-switch-button span{transition:color .25s ease-out}.bd-header-article .theme-switch-button:active,.bd-header-article .theme-switch-button:hover{background-color:unset!important}.bd-header-article .theme-switch-button:active i,.bd-header-article .theme-switch-button:active span,.bd-header-article .theme-switch-button:hover i,.bd-header-article .theme-switch-button:hover span{color:var(--pst-color-text-base)}.bd-header-article .dropdown-menu{top:2rem;transform:translateX(-75%);box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow)!important;border-color:var(--pst-color-border);background-color:var(--pst-color-background);color:var(--pst-color-text-muted)}.bd-header-article .dropdown-menu:hover{display:block}.bd-header-article .dropdown-menu .dropdown-item{display:inline-flex;align-items:center;padding-left:.5em;font-size:1em}.bd-header-article .dropdown-menu .dropdown-item:hover{text-decoration:none;background-color:initial;color:var(--pst-color-text-base)}.bd-header-article .dropdown-menu .dropdown-item span img{height:1em}.bd-header-article .dropdown-menu .dropdown-item span.btn__icon-container{width:1.7em;align-items:center;display:inline-flex;justify-content:center}.bd-header{position:inherit}.bd-header button.sidebar-toggle{display:none}.bd-sidebar-primary{top:0;max-height:100vh;padding:1rem;transition:margin-left .25s ease 0s,opacity .25s ease 0s,visibility .25s ease 0s}@media(max-width:768px){.bd-sidebar-primary{z-index:1081}}.bd-sidebar-primary .sidebar-primary-items__start{border-top:none}@media(min-width:992px){.bd-sidebar-primary{flex-basis:20%}}@media(min-width:992px){input#pst-primary-sidebar-checkbox:checked~.bd-container .bd-sidebar-primary{margin-left:-20%;visibility:hidden;opacity:0}}.bd-sidebar-secondary{top:0}@media(max-width:1200px){.bd-sidebar-secondary{z-index:1081}}.bd-sidebar-secondary .sidebar-secondary-items{padding:0;display:flex;gap:.5rem}.bd-sidebar-secondary .sidebar-secondary-items .sidebar-secondary-item{padding-top:0;padding-bottom:0}.bd-sidebar-secondary .onthispage{height:3rem;min-height:3rem;display:flex;gap:.5rem;align-items:center;margin:0;color:var(--pst-color-muted)}@media(min-width:1200px){.bd-sidebar-secondary{background:var(--pst-color-background);height:fit-content;transition:max-height .4s ease;z-index:2;padding:0}.bd-sidebar-secondary .toc-item{border-left-color:var(--pst-color-surface);padding-top:0}.bd-sidebar-secondary .toc-item nav.page-toc{margin-bottom:0;transition:opacity .4s ease}.bd-sidebar-secondary.hide:not(:hover){max-height:3rem;overflow-y:hidden}.scrolled .bd-sidebar-secondary.hide:not(:hover){box-shadow:0 6px 6px -6px rgba(0,0,0,.3)}.bd-sidebar-secondary.hide:not(:hover) .onthispage:after{opacity:1;content:"";font-family:Font Awesome\ 5 Free;font-weight:900;padding-left:.5em;transition:opacity .3s ease}.bd-sidebar-secondary.hide:not(:hover) nav.page-toc{opacity:0}}footer{font-size:var(--sbt-font-size-small-1)}footer.bd-footer-content{display:flex;flex-wrap:wrap;padding:15px;border-top:1px solid #ccc;font-size:87.5%}footer.bd-footer-content .bd-footer-content__inner{padding-left:0}footer.bd-footer-content .bd-footer-content__inner p{margin-bottom:0}.bd-footer-article{padding:0 1rem}@media(max-width:768px){.bd-footer-article{padding:0 .5rem}}#pst-back-to-top{font-size:.8rem}@media(min-width:1200px){#pst-back-to-top{display:none!important}}.bd-sidebar-primary .navbar-icon-links{column-gap:.5rem}.bd-sidebar-primary .navbar-icon-links .nav-link i,.bd-sidebar-primary .navbar-icon-links .nav-link span{font-size:1.2rem}.bd-sidebar-primary .navbar-icon-links .nav-link img{font-size:.8rem}.navbar-brand{height:unset;max-height:unset;flex-direction:column;justify-content:center;gap:.25rem}.navbar-brand:hover{text-decoration:none}.navbar-brand .logo__title{font-size:1.25rem;white-space:normal;text-align:center}.navbar-brand .logo__image{height:unset}.bd-search-container{margin:2em}.bd-search-container #search-results h2:first-child{display:none}.search-button-field{width:100%;font-size:.9rem;display:none}.search-button-field .search-button__kbd-shortcut{margin-left:auto}@media(min-width:992px){.search-button{display:none!important}.search-button-field{display:flex}}div#searchbox{padding-right:2rem;padding-left:2rem}@media(max-width:768px){div#searchbox{padding-right:1rem;padding-left:1rem}}@media(min-width:768px){div#searchbox p.highlight-link{margin-left:0}div#searchbox p.highlight-link a{font-size:1rem}}img{max-width:100%}img.align-center{margin-left:auto;margin-right:auto;display:block}img.align-left{clear:left;float:left;margin-right:1em}img.align-right{clear:right;float:right;margin-left:1em}div.figure{width:100%;margin-bottom:1em;text-align:center}div.figure.align-left{text-align:left}div.figure.align-left p.caption{margin-left:0}div.figure.align-right{text-align:right}div.figure.align-right p.caption{margin-right:0}div.figure p.caption{margin:.5em 10%}div.figure.margin-caption p.caption,div.figure.margin p.caption{margin:.5em 0}div.figure.margin-caption p.caption{text-align:left}div.figure span.caption-number{font-weight:700}div.figure span{font-size:.9rem}label.margin-toggle{margin-bottom:0}label.margin-toggle.marginnote-label{display:none}label.margin-toggle sup{user-select:none}@media(max-width:992px){label.margin-toggle{cursor:pointer;color:#0071bc}label.margin-toggle.marginnote-label{display:inline}label.margin-toggle.marginnote-label:after{content:"⊕"}}input.margin-toggle{display:none}@media(max-width:992px){input.margin-toggle:checked+.marginnote,input.margin-toggle:checked+.sidenote{display:block;float:left;left:1rem;clear:both;width:95%;margin:1rem 2.5%;position:relative}}span.marginnote,span.sidenote{z-index:2;position:relative;border-left:none;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media(min-width:992px),print{span.marginnote,span.sidenote{width:33%;margin:0 -36% 0 0;clear:right}span.marginnote p.sidebar-title,span.sidenote p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}span.marginnote p.sidebar-title~*,span.sidenote p.sidebar-title~*{padding-left:0;padding-right:0}}span.marginnote sup,span.sidenote sup{user-select:none}@media(max-width:992px){span.marginnote,span.sidenote{display:none}}aside.sidebar .note{margin:1rem;padding:0 0 1rem}aside.sidebar .admonition-title{margin:0 -1rem 0 0}aside.sidebar.margin .sidebar-title:empty{display:none}aside.sidebar.margin .admonition{margin:.5rem;padding-left:0;padding-right:0}aside.sidebar.margin .admonition .admonition-title{margin-left:0;margin-right:0}@media(min-width:992px){aside.sidebar.margin{border:none}aside.sidebar.margin .admonition{margin:1rem 0;padding:0 0 1rem}}.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{z-index:2;position:relative;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media(min-width:992px),print{.cell.tag_margin,.cell.tag_popout,.margin.docutils.container,aside.margin,div.margin,figure.margin{width:33%;margin:0 -36% 0 0;clear:right}.cell.tag_margin p.sidebar-title,.cell.tag_popout p.sidebar-title,.margin.docutils.container p.sidebar-title,aside.margin p.sidebar-title,div.margin p.sidebar-title,figure.margin p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}.cell.tag_margin p.sidebar-title~*,.cell.tag_popout p.sidebar-title~*,.margin.docutils.container p.sidebar-title~*,aside.margin p.sidebar-title~*,div.margin p.sidebar-title~*,figure.margin p.sidebar-title~*{padding-left:0;padding-right:0}}.cell.tag_margin div.cell.tag_margin .cell_output,.cell.tag_popout div.cell.tag_margin .cell_output,.margin.docutils.container div.cell.tag_margin .cell_output,aside.margin div.cell.tag_margin .cell_output,div.margin div.cell.tag_margin .cell_output,figure.margin div.cell.tag_margin .cell_output{padding-left:0}div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{z-index:2;position:relative;width:40%;float:right;background-color:unset;font-size:.9em;margin-left:.5rem}@media(min-width:992px),print{div.figure.margin-caption figcaption,div.figure.margin-caption p.caption,figure.margin-caption figcaption{width:33%;margin:0 -36% 0 0;clear:right}div.figure.margin-caption figcaption p.sidebar-title,div.figure.margin-caption p.caption p.sidebar-title,figure.margin-caption figcaption p.sidebar-title{margin-bottom:-1rem;border-bottom:none;padding-left:0}div.figure.margin-caption figcaption p.sidebar-title~*,div.figure.margin-caption p.caption p.sidebar-title~*,figure.margin-caption figcaption p.sidebar-title~*{padding-left:0;padding-right:0}}.margin-caption figcaption{text-align:left}div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{z-index:2;position:relative}@media(min-width:992px){div.cell.tag_full-width,div.cell.tag_full_width,div.full-width,div.full_width{max-width:136%;width:136%}}blockquote.epigraph,blockquote.highlights,blockquote.pull-quote{font-size:1.25em;border-left:none;background-color:var(--pst-color-background)}blockquote div>p+p.attribution{font-style:normal;font-size:.9em;text-align:right;color:#6c757d;padding-right:2em}div[class*=highlight-],pre{clear:none}div.cell.tag_output_scroll div.cell_output,div.cell.tag_scroll-input div.cell_input,div.cell.tag_scroll-output div.cell_output{max-height:24em;overflow-y:auto}@media only print{div.utterances,hypothesis-sidebar{display:none}}.thebelab-cell{border:none!important;margin-right:.5em!important}.thebelab-cell .thebelab-input{padding-left:10px!important}.cell.docutils.container{padding-right:0!important}button.thebe-launch-button{height:2.5em;font-size:1em}div.footer-item>ul.navbar-icon-links{justify-content:center}.header-article-item-chapter-title{overflow-y:hidden;max-height:100%}html{--pst-icon-versionmodified-removed:var(--pst-icon-exclamation-circle)}div.versionremoved{vertical-align:middle;margin:1.5625em auto;padding:0 .6rem;overflow:hidden;page-break-inside:avoid;break-inside:avoid;border-left:.2rem solid;border-left-color:var(--pst-color-info);border-bottom-color:var(--pst-color-info);border-right-color:var(--pst-color-info);border-top-color:var(--pst-color-info);border-radius:.25rem;background-color:var(--pst-color-on-background);box-shadow:0 .2rem .5rem var(--pst-color-shadow),0 0 .0625rem var(--pst-color-shadow)!important;position:relative}div.versionremoved>p{margin-bottom:.6rem;margin-top:.6rem}div.versionremoved{border-color:var(--pst-color-danger);background-color:var(--pst-color-danger-bg)}span.versionmodified.removed:before{color:var(--pst-color-danger);content:var(--pst-icon-versionmodified-removed)}.http-example .caption.selected{background-color:unset!important}ol li>p,ol li>p:first-child,ul li>p,ul li>p:first-child{margin-bottom:.5rem;margin-top:.5rem}span.guilabel,span.menuselection{border:1px solid var(--pst-color-info);font-size:1em;font-weight:700;border-radius:.25rem;padding:.1rem .4rem;margin:auto .1rem;background-color:var(--pst-color-info-bg)}:root{--pst-icon-clipboard-list:"";--pst-icon-admonition-todo:var(--pst-icon-clipboard-list)}video{width:100%} \ No newline at end of file From 8746f6dc7d6a511d6b374fee64fcbc4fec90be89 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 20 Dec 2024 02:26:41 -0800 Subject: [PATCH 2/4] news --- news/48.feature | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/48.feature diff --git a/news/48.feature b/news/48.feature new file mode 100644 index 0000000..8e5e2ce --- /dev/null +++ b/news/48.feature @@ -0,0 +1 @@ +Add support for `versionremoved` directive. @stevepiercy From f91430af20a1c6cc437f6979abd760da291da2a7 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 20 Dec 2024 02:32:04 -0800 Subject: [PATCH 3/4] Add versionremoved to theme-specific elements --- docs/reference/special-theme-elements.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/docs/reference/special-theme-elements.md b/docs/reference/special-theme-elements.md index b3e6069..eab3c1e 100644 --- a/docs/reference/special-theme-elements.md +++ b/docs/reference/special-theme-elements.md @@ -95,3 +95,13 @@ Wow, a note with an image in a margin! ```` ````` `````` + + +``versionremoved`` +================== + +.. versionremoved:: v0.1.1 + + Here's a version removed message. + + We also support *italic*, **bold**, ``code``, `links `_, and more. From 7445580e99e5788614c658ff54ea36a6dcde6cb0 Mon Sep 17 00:00:00 2001 From: Steve Piercy Date: Fri, 20 Dec 2024 02:37:45 -0800 Subject: [PATCH 4/4] Use MyST syntax --- docs/reference/special-theme-elements.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/docs/reference/special-theme-elements.md b/docs/reference/special-theme-elements.md index eab3c1e..f76ff8c 100644 --- a/docs/reference/special-theme-elements.md +++ b/docs/reference/special-theme-elements.md @@ -97,11 +97,10 @@ Wow, a note with an image in a margin! `````` -``versionremoved`` -================== +## `versionremoved` -.. versionremoved:: v0.1.1 +```{versionremoved} v0.1.1 +Here's a version removed message. - Here's a version removed message. - - We also support *italic*, **bold**, ``code``, `links `_, and more. +We also support *italic*, **bold**, `code`, [links](https://www.sphinx-doc.org/), and more. +```