| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -22,6 +22,8 @@ To use this theme, add the following to `conf.py`: | |||
| 22 | 22 | ||
| 23 | 23 | - `html_sidebars`, defaults taken from https://www.sphinx-doc.org/en/master/usage/configuration.html#confval-html_sidebars | |
| 24 | 24 | ||
| 25 | + - To lay pages out right-to-left for languages such as Persian, Arabic, or Hebrew, | ||
| 26 | + set `html_theme_options = {"is_rtl": True}`. Defaults to `false`. | ||
| 25 | 27 | ||
| 26 | 28 | ## Translation | |
| 27 | 29 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,7 +6,7 @@ | |||
| 6 | 6 | <h3>{{ _('Navigation') }}</h3> | |
| 7 | 7 | <ul> | |
| 8 | 8 | {%- for rellink in rellinks %} | |
| 9 | - <li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}> | ||
| 9 | + <li class="right" {% if loop.first %}style="margin-inline-end: 10px"{% endif %}> | ||
| 10 | 10 | <a href="{{ pathto(rellink[0])|e }}" title="{{ rellink[1]|striptags|e }}" | |
| 11 | 11 | {{ accesskey(rellink[2]) }}>{{ rellink[3] }} | |
| 12 | 12 | </a> | |
@@ -89,7 +89,7 @@ <h3>{{ _('Navigation') }}</h3> | |||
| 89 | 89 | {%- endblock -%} | |
| 90 | 90 | ||
| 91 | 91 | {%- block body_tag %} | |
| 92 | - {{ super() }} | ||
| 92 | + <body{% if theme_is_rtl|tobool %} dir="rtl"{% endif %}> | ||
| 93 | 93 | {%- if builder != 'htmlhelp' %} | |
| 94 | 94 | <div class="mobile-nav"> | |
| 95 | 95 | <input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation" | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -108,7 +108,7 @@ div.related a:hover { | |||
| 108 | 108 | } | |
| 109 | 109 | ||
| 110 | 110 | .switchers > div { | |
| 111 | - margin-right: 5px; | ||
| 111 | + margin-inline-end: 5px; | ||
| 112 | 112 | } | |
| 113 | 113 | ||
| 114 | 114 | div.related ul::after { | |
@@ -117,6 +117,17 @@ div.related ul::after { | |||
| 117 | 117 | display: block; | |
| 118 | 118 | } | |
| 119 | 119 | ||
| 120 | + div.related ul { | ||
| 121 | + padding: 0; | ||
| 122 | + padding-inline-start: 10px; | ||
| 123 | + } | ||
| 124 | + | ||
| 125 | + body[dir='rtl'] div.related ul li.right { | ||
| 126 | + float: left; | ||
| 127 | + margin-right: 0; | ||
| 128 | + margin-left: 5px; | ||
| 129 | + } | ||
| 130 | + | ||
| 120 | 131 | .inline-search, | |
| 121 | 132 | form.inline-search input { | |
| 122 | 133 | display: inline; | |
@@ -142,6 +153,9 @@ span.pre { | |||
| 142 | 153 | div.sphinxsidebar { | |
| 143 | 154 | display: flex; | |
| 144 | 155 | width: min(25vw, 350px); | |
| 156 | + flex-shrink: 0; | ||
| 157 | + margin: 0; | ||
| 158 | + order: 0; | ||
| 145 | 159 | float: none; | |
| 146 | 160 | position: sticky; | |
| 147 | 161 | top: 0; | |
@@ -158,8 +172,14 @@ div.sphinxsidebar h4 { | |||
| 158 | 172 | margin-top: 1.5em; | |
| 159 | 173 | } | |
| 160 | 174 | ||
| 161 | - div.bodywrapper { | ||
| 162 | - margin-left: min(25vw, 350px); | ||
| 175 | + div.document div.bodywrapper { | ||
| 176 | + margin: 0; | ||
| 177 | + } | ||
| 178 | + | ||
| 179 | + div.documentwrapper { | ||
| 180 | + flex: 1; | ||
| 181 | + min-width: 0; | ||
| 182 | + order: 1; | ||
| 163 | 183 | } | |
| 164 | 184 | ||
| 165 | 185 | div.sphinxsidebarwrapper { | |
@@ -179,6 +199,11 @@ div.sphinxsidebarwrapper > ul > li > ul > li { | |||
| 179 | 199 | margin-bottom: 0.4em; | |
| 180 | 200 | } | |
| 181 | 201 | ||
| 202 | + div.sphinxsidebar ul ul { | ||
| 203 | + margin-left: 0; | ||
| 204 | + margin-inline-start: 20px; | ||
| 205 | + } | ||
| 206 | + | ||
| 182 | 207 | div.sphinxsidebar a:hover { | |
| 183 | 208 | color: #0095c4; | |
| 184 | 209 | } | |
@@ -206,16 +231,23 @@ div.sphinxsidebar input[type='text'] { | |||
| 206 | 231 | border-left: none; | |
| 207 | 232 | } | |
| 208 | 233 | ||
| 234 | + body[dir='rtl'] #sidebarbutton { | ||
| 235 | + border-radius: 5px 0 0 5px; | ||
| 236 | + border-right: none; | ||
| 237 | + border-left: none; | ||
| 238 | + } | ||
| 239 | + | ||
| 209 | 240 | #sidebarbutton:hover { | |
| 210 | 241 | background-color: #AAAAAA; | |
| 211 | 242 | } | |
| 212 | 243 | ||
| 213 | 244 | div.body { | |
| 214 | - padding: 0 0 0 1.2em; | ||
| 245 | + padding: 0; | ||
| 246 | + padding-inline-start: 1.2em; | ||
| 215 | 247 | } | |
| 216 | 248 | ||
| 217 | 249 | div.body p, div.body dd, div.body li, div.body blockquote { | |
| 218 | - text-align: left; | ||
| 250 | + text-align: start; | ||
| 219 | 251 | line-height: 1.6; | |
| 220 | 252 | } | |
| 221 | 253 | div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 { | |
@@ -225,6 +257,10 @@ div.body h1, div.body h2, div.body h3, div.body h4, div.body h5, div.body h6 { | |||
| 225 | 257 | } | |
| 226 | 258 | div.body dl.field-list > dt { | |
| 227 | 259 | line-height: 1.6; | |
| 260 | + padding-left: 0; | ||
| 261 | + padding-right: 0; | ||
| 262 | + padding-inline-start: 0.5em; | ||
| 263 | + padding-inline-end: 5px; | ||
| 228 | 264 | } | |
| 229 | 265 | ||
| 230 | 266 | div.body hr { | |
@@ -233,6 +269,22 @@ div.body hr { | |||
| 233 | 269 | height: 1px; | |
| 234 | 270 | } | |
| 235 | 271 | ||
| 272 | + body[dir='rtl'] { | ||
| 273 | + & pre, | ||
| 274 | + & code, | ||
| 275 | + & div.highlight, | ||
| 276 | + & dl > dt span ~ em, | ||
| 277 | + & .sig, | ||
| 278 | + & .sig-param { | ||
| 279 | + direction: ltr; | ||
| 280 | + unicode-bidi: isolate; | ||
| 281 | + } | ||
| 282 | + } | ||
| 283 | + | ||
| 284 | + body[dir='rtl'] .sig { | ||
| 285 | + text-align: right; | ||
| 286 | + } | ||
| 287 | + | ||
| 236 | 288 | div.body pre { | |
| 237 | 289 | border-radius: 3px; | |
| 238 | 290 | border: 1px solid #ac9; | |
@@ -402,7 +454,7 @@ table.docutils th { | |||
| 402 | 454 | ||
| 403 | 455 | table p, | |
| 404 | 456 | table li { | |
| 405 | - text-align: left !important; | ||
| 457 | + text-align: start !important; | ||
| 406 | 458 | } | |
| 407 | 459 | ||
| 408 | 460 | table.docutils th { | |
@@ -414,11 +466,37 @@ table.footnote td { | |||
| 414 | 466 | border: 0 !important; | |
| 415 | 467 | } | |
| 416 | 468 | ||
| 469 | + body[dir='rtl'] div#search-results, | ||
| 470 | + body[dir='rtl'] div#search-results ul.search li { | ||
| 471 | + direction: rtl; | ||
| 472 | + text-align: right; | ||
| 473 | + unicode-bidi: isolate; | ||
| 474 | + } | ||
| 475 | + | ||
| 476 | + body[dir='rtl'] div#search-results ul.search li p { | ||
| 477 | + text-align: right; | ||
| 478 | + } | ||
| 479 | + | ||
| 480 | + body[dir='rtl'] div.citation > span { | ||
| 481 | + float: right; | ||
| 482 | + } | ||
| 483 | + | ||
| 484 | + body[dir='rtl'] aside.footnote > span { | ||
| 485 | + float: right; | ||
| 486 | + padding-right: 0; | ||
| 487 | + padding-left: 0.5rem; | ||
| 488 | + } | ||
| 489 | + | ||
| 490 | + body[dir='rtl'] aside.footnote > p { | ||
| 491 | + margin-left: 0; | ||
| 492 | + margin-right: 2rem; | ||
| 493 | + } | ||
| 494 | + | ||
| 417 | 495 | div.footer { | |
| 418 | 496 | line-height: 150%; | |
| 419 | - text-align: right; | ||
| 497 | + text-align: end; | ||
| 420 | 498 | width: auto; | |
| 421 | - margin-right: 10px; | ||
| 499 | + margin-inline-end: 10px; | ||
| 422 | 500 | } | |
| 423 | 501 | ||
| 424 | 502 | div.footer a { | |
@@ -476,18 +554,17 @@ div.footer a:hover { | |||
| 476 | 554 | color: var(--threadsafety-atomic); | |
| 477 | 555 | } | |
| 478 | 556 | ||
| 479 | - | ||
| 480 | 557 | dl > dt span ~ em, | |
| 481 | 558 | .sig { | |
| 482 | 559 | font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; | |
| 483 | 560 | } | |
| 484 | 561 | ||
| 485 | 562 | .toctree-wrapper ul { | |
| 486 | - padding-left: 20px; | ||
| 563 | + padding-inline-start: 20px; | ||
| 487 | 564 | } | |
| 488 | 565 | ||
| 489 | 566 | .theme-selector { | |
| 490 | - margin-left: .5em; | ||
| 567 | + margin-inline-start: .5em; | ||
| 491 | 568 | } | |
| 492 | 569 | ||
| 493 | 570 | div.genindex-jumpbox, | |
@@ -506,17 +583,17 @@ div.genindex-jumpbox a { | |||
| 506 | 583 | cursor: pointer; | |
| 507 | 584 | position: absolute; | |
| 508 | 585 | top: 0; | |
| 509 | - right: 0; | ||
| 586 | + right: 0; /* physical right; always, even in RTL, since code is LTR */ | ||
| 510 | 587 | font-family: Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace; | |
| 511 | 588 | font-size: 80%; | |
| 512 | 589 | padding-left: .5em; | |
| 513 | 590 | padding-right: .5em; | |
| 514 | 591 | height: 100%; | |
| 515 | 592 | max-height: min(100%, 2.4em); | |
| 516 | - border-radius: 0 3px 0 0; | ||
| 593 | + border-radius: 0 3px 0 0; /* physical — top-right corner, always */ | ||
| 517 | 594 | color: #000; | |
| 518 | 595 | background-color: #fff; | |
| 519 | - border: 1px solid #ac9; /* follows div.body pre */ | ||
| 596 | + border: 1px solid #ac9; | ||
| 520 | 597 | display: none; | |
| 521 | 598 | } | |
| 522 | 599 | ||
@@ -589,7 +666,7 @@ div.genindex-jumpbox a { | |||
| 589 | 666 | width: 100%; | |
| 590 | 667 | position: fixed; | |
| 591 | 668 | top: 0; | |
| 592 | - left: 0; | ||
| 669 | + inset-inline-start: 0; | ||
| 593 | 670 | box-shadow: rgba(0, 0, 0, 0.25) 0 0 2px 0; | |
| 594 | 671 | z-index: 1; | |
| 595 | 672 | } | |
@@ -611,7 +688,7 @@ div.genindex-jumpbox a { | |||
| 611 | 688 | align-items: stretch; | |
| 612 | 689 | } | |
| 613 | 690 | .nav-logo { | |
| 614 | - margin-right: 1rem; | ||
| 691 | + margin-inline-end: 1rem; | ||
| 615 | 692 | flex-shrink: 0; | |
| 616 | 693 | align-self: center; | |
| 617 | 694 | } | |
@@ -620,7 +697,7 @@ div.genindex-jumpbox a { | |||
| 620 | 697 | width: 20px; | |
| 621 | 698 | } | |
| 622 | 699 | .version_switcher_placeholder { | |
| 623 | - margin-right: 1rem; | ||
| 700 | + margin-inline-end: 1rem; | ||
| 624 | 701 | } | |
| 625 | 702 | .version_switcher_placeholder > select { | |
| 626 | 703 | height: 100%; | |
@@ -630,25 +707,27 @@ div.genindex-jumpbox a { | |||
| 630 | 707 | flex: auto; | |
| 631 | 708 | border: 1px solid #a9a9a9; | |
| 632 | 709 | align-items: stretch; | |
| 710 | + position: relative; | ||
| 633 | 711 | } | |
| 634 | 712 | .nav-content .search input[type=search] { | |
| 635 | 713 | border: 0; | |
| 636 | - padding-left: 24px; | ||
| 714 | + padding-inline-start: 24px; | ||
| 637 | 715 | width: 100%; | |
| 638 | 716 | flex: 1; | |
| 639 | 717 | } | |
| 640 | 718 | .nav-content .search input[type=submit] { | |
| 641 | 719 | height: 100%; | |
| 642 | 720 | box-shadow: none; | |
| 643 | 721 | border: 0; | |
| 644 | - border-left: 1px solid #a9a9a9; | ||
| 722 | + border-inline-start: 1px solid #a9a9a9; | ||
| 645 | 723 | cursor: pointer; | |
| 646 | - margin-right: 0; | ||
| 724 | + margin-inline-end: 0; | ||
| 647 | 725 | } | |
| 648 | 726 | .nav-content .search svg { | |
| 649 | 727 | position: absolute; | |
| 650 | - align-self: center; | ||
| 651 | - padding-left: 4px; | ||
| 728 | + top: 50%; | ||
| 729 | + transform: translateY(-50%); | ||
| 730 | + inset-inline-start: 4px; | ||
| 652 | 731 | } | |
| 653 | 732 | .toggler__input { | |
| 654 | 733 | display: none; | |
@@ -680,7 +759,7 @@ div.genindex-jumpbox a { | |||
| 680 | 759 | width: 100%; | |
| 681 | 760 | background: inherit; | |
| 682 | 761 | position: absolute; | |
| 683 | - left: 0; | ||
| 762 | + inset-inline-start: 0; | ||
| 684 | 763 | top: -8px; | |
| 685 | 764 | } | |
| 686 | 765 | .toggler__label > span::after { | |
@@ -701,29 +780,36 @@ div.genindex-jumpbox a { | |||
| 701 | 780 | } | |
| 702 | 781 | .toggler__input:checked ~ .menu-wrapper { | |
| 703 | 782 | visibility: visible; | |
| 704 | - left: 0; | ||
| 783 | + transform: translateX(0); | ||
| 705 | 784 | } | |
| 706 | 785 | ||
| 707 | 786 | /* Sliding side menu */ | |
| 708 | 787 | .menu-wrapper { | |
| 709 | 788 | display: block; | |
| 710 | 789 | position: fixed; | |
| 711 | 790 | top: 0; | |
| 712 | - transition: left 400ms ease; | ||
| 713 | - left: -310px; | ||
| 791 | + inset-inline-start: 0; | ||
| 792 | + transition: transform 400ms ease; | ||
| 793 | + transform: translateX(calc(-100% - 10px)); | ||
| 714 | 794 | width: 300px; | |
| 715 | 795 | height: 100%; | |
| 716 | 796 | background-color: #eee; | |
| 717 | 797 | color: #444444; | |
| 718 | 798 | box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); | |
| 719 | 799 | overflow-y: auto; | |
| 720 | 800 | } | |
| 801 | + body[dir='rtl'] .menu-wrapper { | ||
| 802 | + transform: translateX(100%); | ||
| 803 | + } | ||
| 721 | 804 | .menu-wrapper.open { | |
| 722 | 805 | visibility: visible; | |
| 723 | - left: 0; | ||
| 806 | + transform: translateX(0); | ||
| 724 | 807 | } | |
| 725 | 808 | .menu { | |
| 726 | - padding: 40px 10px 30px 20px; | ||
| 809 | + padding-block-start: 40px; | ||
| 810 | + padding-inline-end: 10px; | ||
| 811 | + padding-block-end: 30px; | ||
| 812 | + padding-inline-start: 20px; | ||
| 727 | 813 | } | |
| 728 | 814 | .menu-wrapper h3, | |
| 729 | 815 | .menu-wrapper h4 { | |
@@ -748,10 +834,10 @@ div.genindex-jumpbox a { | |||
| 748 | 834 | list-style: none; | |
| 749 | 835 | line-height: 1.4; | |
| 750 | 836 | overflow-wrap: break-word; | |
| 751 | - padding-left: 0; | ||
| 837 | + padding-inline-start: 0; | ||
| 752 | 838 | } | |
| 753 | 839 | .menu ul ul { | |
| 754 | - margin-left: 20px; | ||
| 840 | + margin-inline-start: 20px; | ||
| 755 | 841 | list-style: square; | |
| 756 | 842 | } | |
| 757 | 843 | .menu ul li { | |
@@ -807,26 +893,26 @@ div.versionadded, | |||
| 807 | 893 | div.versionchanged, | |
| 808 | 894 | div.deprecated, | |
| 809 | 895 | div.deprecated-removed { | |
| 810 | - border-left: 3px solid; | ||
| 896 | + border-inline-start: 3px solid; | ||
| 811 | 897 | padding: 0 1rem; | |
| 812 | 898 | } | |
| 813 | 899 | ||
| 814 | 900 | div.versionadded { | |
| 815 | - border-left-color: var(--versionadded-border); | ||
| 901 | + border-inline-start-color: var(--versionadded-border); | ||
| 816 | 902 | } | |
| 817 | 903 | ||
| 818 | 904 | div.versionchanged { | |
| 819 | - border-left-color: var(--versionchanged-border); | ||
| 905 | + border-inline-start-color: var(--versionchanged-border); | ||
| 820 | 906 | } | |
| 821 | 907 | ||
| 822 | 908 | div.deprecated, | |
| 823 | 909 | div.deprecated-removed, | |
| 824 | 910 | div.versionremoved { | |
| 825 | - border-left-color: var(--deprecated-border); | ||
| 911 | + border-inline-start-color: var(--deprecated-border); | ||
| 826 | 912 | } | |
| 827 | 913 | ||
| 828 | 914 | div.soft-deprecated { | |
| 829 | - border-left-color: var(--soft-deprecated-border); | ||
| 915 | + border-inline-start-color: var(--soft-deprecated-border); | ||
| 830 | 916 | } | |
| 831 | 917 | ||
| 832 | 918 | div.versionadded .versionmodified { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments