 282c8d256e
			
		
	
	
		282c8d256e
		
	
	
	
	
		
			
			Improve the general look and feel of generated QAPI docs. Attempt to limit line lengths to offer a more comfortable measure on maximized windows, and improve some margin and spacing for field lists. Signed-off-by: Harmonie Snow <harmonie@gmail.com> Signed-off-by: John Snow <jsnow@redhat.com> Message-ID: <20250311034303.75779-29-jsnow@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
		
			
				
	
	
		
			305 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
			
		
		
	
	
			305 lines
		
	
	
		
			6.9 KiB
		
	
	
	
		
			CSS
		
	
	
	
	
	
| /* -*- coding: utf-8; mode: css -*-
 | |
|  *
 | |
|  * Sphinx HTML theme customization: read the doc
 | |
|  * Based on Linux Documentation/sphinx-static/theme_overrides.css
 | |
|  */
 | |
| 
 | |
| /* Improve contrast and increase size for easier reading. */
 | |
| 
 | |
| body {
 | |
|     font-family: serif;
 | |
|     color: black;
 | |
|     font-size: 100%;
 | |
| }
 | |
| 
 | |
| h1, h2, .rst-content .toctree-wrapper p.caption, h3, h4, h5, h6, legend {
 | |
|     font-family: sans-serif;
 | |
| }
 | |
| 
 | |
| .rst-content dl:not(.docutils) dt {
 | |
|     border-top: none;
 | |
|     border-left: solid 5px #bcc6d2;
 | |
|     background-color: #eaedf1;
 | |
|     color: black;
 | |
| }
 | |
| 
 | |
| .wy-nav-top {
 | |
|     background: #802400;
 | |
| }
 | |
| 
 | |
| .wy-side-nav-search input[type="text"] {
 | |
|     border-color: #f60;
 | |
| }
 | |
| 
 | |
| .wy-menu-vertical p.caption {
 | |
|     color: white;
 | |
| }
 | |
| 
 | |
| .wy-menu-vertical li.current a {
 | |
|     color: #505050;
 | |
| }
 | |
| 
 | |
| .wy-menu-vertical li.on a, .wy-menu-vertical li.current > a {
 | |
|     color: #303030;
 | |
| }
 | |
| 
 | |
| .fa-gitlab {
 | |
|       box-shadow: 0 4px 8px 0 rgba(0,0,0,0.2), 0 3px 10px 0 rgba(0,0,0,0.19);
 | |
|       border-radius: 5px;
 | |
| }
 | |
| 
 | |
| div[class^="highlight"] pre {
 | |
|     font-family: monospace;
 | |
|     color: black;
 | |
|     font-size: 100%;
 | |
| }
 | |
| 
 | |
| .wy-menu-vertical {
 | |
|     font-family: sans-serif;
 | |
| }
 | |
| 
 | |
| .c {
 | |
|     font-style: normal;
 | |
| }
 | |
| 
 | |
| p {
 | |
|     font-size: 100%;
 | |
| }
 | |
| 
 | |
| /* Interim: Code-blocks with line nos - lines and line numbers don't line up.
 | |
|  * see: https://github.com/rtfd/sphinx_rtd_theme/issues/419
 | |
|  */
 | |
| 
 | |
| div[class^="highlight"] pre {
 | |
|     line-height: normal;
 | |
| }
 | |
| .rst-content .highlight > pre {
 | |
|     line-height: normal;
 | |
| }
 | |
| 
 | |
| /* Keep fields from being strangely far apart due to inheirited table CSS. */
 | |
| .rst-content table.field-list th.field-name {
 | |
|     padding-top: 1px;
 | |
|     padding-bottom: 1px;
 | |
| }
 | |
| .rst-content table.field-list td.field-body {
 | |
|     padding-top: 1px;
 | |
|     padding-bottom: 1px;
 | |
| }
 | |
| 
 | |
| /* qmp-example directive styling */
 | |
| 
 | |
| .rst-content .admonition-example {
 | |
|     /* do not apply the standard admonition background */
 | |
|     background-color: transparent;
 | |
|     border: solid #ffd2ed 1px;
 | |
| }
 | |
| 
 | |
| .rst-content .admonition-example > .admonition-title:before {
 | |
|     content: "▷";
 | |
| }
 | |
| 
 | |
| .rst-content .admonition-example > .admonition-title {
 | |
|     background-color: #5980a6;
 | |
| }
 | |
| 
 | |
| .rst-content .admonition-example > div[class^="highlight"] {
 | |
|     /* make code boxes take up the full width of the admonition w/o margin */
 | |
|     margin-left: -12px;
 | |
|     margin-right: -12px;
 | |
| 
 | |
|     border-top: 1px solid #ffd2ed;
 | |
|     border-bottom: 1px solid #ffd2ed;
 | |
|     border-left: 0px;
 | |
|     border-right: 0px;
 | |
| }
 | |
| 
 | |
| .rst-content .admonition-example > div[class^="highlight"]:nth-child(2) {
 | |
|     /* If a code box is the second element in an example admonition,
 | |
|      * it is the first child after the title. let it sit flush against
 | |
|      * the title. */
 | |
|     margin-top: -12px;
 | |
|     border-top: 0px;
 | |
| }
 | |
| 
 | |
| .rst-content .admonition-example > div[class^="highlight"]:last-child {
 | |
|     /* If a code box is the final element in an example admonition, don't
 | |
|      * render margin below it; let it sit flush with the end of the
 | |
|      * admonition box */
 | |
|     margin-bottom: -12px;
 | |
|     border-bottom: 0px;
 | |
| }
 | |
| 
 | |
| .rst-content .admonition-example .highlight {
 | |
|     background-color: #fffafd;
 | |
| }
 | |
| 
 | |
| /* end qmp-example styling */
 | |
| 
 | |
| @media screen {
 | |
| 
 | |
|     /* content column
 | |
|      *
 | |
|      * RTD theme's default is 800px as max width for the content, but we have
 | |
|      * tables with tons of columns, which need the full width of the view-port.
 | |
|      */
 | |
| 
 | |
|     .wy-nav-content{max-width: none; }
 | |
| 
 | |
|     /* table:
 | |
|      *
 | |
|      *   - Sequences of whitespace should collapse into a single whitespace.
 | |
|      *   - make the overflow auto (scrollbar if needed)
 | |
|      *   - align caption "left" ("center" is unsuitable on vast tables)
 | |
|      */
 | |
| 
 | |
|     .wy-table-responsive table td { white-space: normal; }
 | |
|     .wy-table-responsive { overflow: auto; }
 | |
|     .rst-content table.docutils caption { text-align: left; font-size: 100%; }
 | |
| 
 | |
|     /* captions:
 | |
|      *
 | |
|      *   - captions should have 100% (not 85%) font size
 | |
|      *   - hide the permalink symbol as long as link is not hovered
 | |
|      */
 | |
| 
 | |
|     .toc-title {
 | |
|         font-size: 150%;
 | |
|         font-weight: bold;
 | |
|     }
 | |
| 
 | |
|     caption, .wy-table caption, .rst-content table.field-list caption {
 | |
|         font-size: 100%;
 | |
|     }
 | |
|     caption a.headerlink { opacity: 0; }
 | |
|     caption a.headerlink:hover { opacity: 1; }
 | |
| 
 | |
|     /* Menu selection and keystrokes */
 | |
| 
 | |
|     span.menuselection {
 | |
|         color: blue;
 | |
|         font-family: "Courier New", Courier, monospace
 | |
|     }
 | |
| 
 | |
|     code.kbd, code.kbd span {
 | |
|         color: white;
 | |
|         background-color: darkblue;
 | |
|         font-weight: bold;
 | |
|         font-family: "Courier New", Courier, monospace
 | |
|     }
 | |
| 
 | |
|     /* fix bottom margin of lists items */
 | |
| 
 | |
|     .rst-content .section ul li:last-child, .rst-content .section ul li p:last-child {
 | |
|           margin-bottom: 12px;
 | |
|     }
 | |
| 
 | |
|     /* inline literal: drop the borderbox, padding and red color */
 | |
| 
 | |
|     code, .rst-content tt, .rst-content code {
 | |
|         color: inherit;
 | |
|         border: none;
 | |
|         padding: unset;
 | |
|         background: inherit;
 | |
|         font-size: 85%;
 | |
|     }
 | |
| 
 | |
|     .rst-content tt.literal,.rst-content tt.literal,.rst-content code.literal {
 | |
|         color: inherit;
 | |
|     }
 | |
| }
 | |
| 
 | |
| /* QAPI domain theming */
 | |
| 
 | |
| /* most content in a QAPI object definition should not eclipse about
 | |
|    80ch, but nested field lists are explicitly exempt due to their
 | |
|    two-column nature */
 | |
| .qapi dd *:not(dl) {
 | |
|     max-width: 80ch;
 | |
| }
 | |
| 
 | |
| /* but the content column itself should still be less than ~80ch. */
 | |
| .qapi .field-list dd {
 | |
|     max-width: 80ch;
 | |
| }
 | |
| 
 | |
| .qapi-infopips {
 | |
|     margin-bottom: 1em;
 | |
| }
 | |
| 
 | |
| .qapi-infopip {
 | |
|     display: inline-block;
 | |
|     padding: 0em 0.5em 0em 0.5em;
 | |
|     margin: 0.25em;
 | |
| }
 | |
| 
 | |
| .qapi-deprecated,.qapi-unstable {
 | |
|     background-color: #fffef5;
 | |
|     border: solid #fff176 6px;
 | |
|     font-weight: bold;
 | |
|     padding: 8px;
 | |
|     border-radius: 15px;
 | |
|     margin: 5px;
 | |
| }
 | |
| 
 | |
| .qapi-unstable::before {
 | |
|     content: '🚧 ';
 | |
| }
 | |
| 
 | |
| .qapi-deprecated::before {
 | |
|     content: '⚠️ ';
 | |
| }
 | |
| 
 | |
| .qapi-ifcond::before {
 | |
|     /* gaze ye into the crystal ball to determine feature availability */
 | |
|     content: '🔮 ';
 | |
| }
 | |
| 
 | |
| .qapi-ifcond {
 | |
|     background-color: #f9f5ff;
 | |
|     border: solid #dac2ff 6px;
 | |
|     padding: 8px;
 | |
|     border-radius: 15px;
 | |
|     margin: 5px;
 | |
| }
 | |
| 
 | |
| /* code blocks */
 | |
| .qapi div[class^="highlight"] {
 | |
|     width: fit-content;
 | |
|     background-color: #fffafd;
 | |
|     border: 2px solid #ffe1f3;
 | |
| }
 | |
| 
 | |
| /* note, warning, etc. */
 | |
| .qapi .admonition {
 | |
|     width: fit-content;
 | |
| }
 | |
| 
 | |
| /* pad the top of the field-list so the text doesn't start directly at
 | |
|    the top border; primarily for the field list labels, but adjust the
 | |
|    field bodies as well for parity. */
 | |
| dl.field-list > dt:first-of-type, dl.field-list > dd:first-of-type {
 | |
|     padding-top: 0.3em;
 | |
| }
 | |
| 
 | |
| dl.field-list > dt:last-of-type, dl.field-list > dd:last-of-type {
 | |
|     padding-bottom: 0.3em;
 | |
| }
 | |
| 
 | |
| /* pad the field list labels so they don't crash into the border */
 | |
| dl.field-list > dt {
 | |
|     padding-left: 0.5em;
 | |
|     padding-right: 0.5em;
 | |
| }
 | |
| 
 | |
| /* Add a little padding between field list sections */
 | |
| dl.field-list > dd:not(:last-child) {
 | |
|     padding-bottom: 1em;
 | |
| }
 | |
| 
 | |
| /* Sphinx 3.x: unresolved xrefs */
 | |
| .rst-content *:not(a) > code.xref {
 | |
|     font-weight: 400;
 | |
|     color: #333333;
 | |
| }
 |