diff --git a/pages/01.administrate/02.whatisyunohost/whatsyunohost.ar.md b/pages/01.administrate/02.whatisyunohost/whatsyunohost.ar.md index 157337f9..dc13bdf2 100644 --- a/pages/01.administrate/02.whatisyunohost/whatsyunohost.ar.md +++ b/pages/01.administrate/02.whatisyunohost/whatsyunohost.ar.md @@ -7,7 +7,7 @@ routes: default: '/whatsyunohost' --- -![YunoHost logo](image://YunoHost_logo_vertical.png?resize=400) +![YunoHost logo](image://YunoHost_logo_vertical.png?resize=400&id=ynhlogo) واي يونوهوست YunoHost هو **نظام لتشغيل الخوادم** صُمِّم لتسهيل الإستضافة الذاتية لخدمات الإنترنت. هو مُرتكز و منسجم كافة الإنسجام مع توزيعة غنو/لينكس ديبيان. diff --git a/pages/01.administrate/02.whatisyunohost/whatsyunohost.de.md b/pages/01.administrate/02.whatisyunohost/whatsyunohost.de.md index 9e23dd56..6ab27348 100644 --- a/pages/01.administrate/02.whatisyunohost/whatsyunohost.de.md +++ b/pages/01.administrate/02.whatisyunohost/whatsyunohost.de.md @@ -7,7 +7,7 @@ routes: default: '/whatsyunohost' --- -![](image://YunoHost_logo_vertical.png?resize=400) +![](image://YunoHost_logo_vertical.png?resize=400&id=ynhlogo) YunoHost ist ein **Betriebssystem**, das auf die einfachste Verwaltung eines **Servers** abzielt und daher das [Self-Hosting](/selfhosting) demokratisiert, wobei sichergestellt wird, dass es zuverlässig, sicher, ethisch einwandfrei und leichtgewichtig bleibt. Es ist ein Copylefted-Libre-Softwareprojekt, das ausschließlich von Freiwilligen betrieben wird. Technisch gesehen kann es als eine Distribution angesehen werden, die auf [Debian GNU/Linux](https://debian.org) basiert und auf [vielen Arten von Hardware](/install) installiert werden kann. @@ -50,9 +50,7 @@ Sie können Ihre Freunde, Ihre Familie und Ihr Unternehmen sicher und problemlos Schwarz und Weiss YunoHost PNG logo by ToZz (400 × 400 px): -[![](image://ynh_logo_black_300dpi.png?resize=220)](image://ynh_logo_black_300dpi.png) -[![](image://ynh_logo_white_300dpi.png?resize=220)](image://ynh_logo_white_300dpi.png) - -Zum download Klicken. +![](image://ynh_logo_black_300dpi.png?resize=220) +![](image://ynh_logo_white_300dpi.png?resize=220&id=whitelogo) Licence: CC-BY-SA 4.0 diff --git a/pages/01.administrate/02.whatisyunohost/whatsyunohost.es.md b/pages/01.administrate/02.whatisyunohost/whatsyunohost.es.md index 0a993cdb..417f9676 100644 --- a/pages/01.administrate/02.whatisyunohost/whatsyunohost.es.md +++ b/pages/01.administrate/02.whatisyunohost/whatsyunohost.es.md @@ -7,7 +7,7 @@ routes: default: '/whatsyunohost' --- -![](image://YunoHost_logo_vertical.png?resize=400) +![](image://YunoHost_logo_vertical.png?resize=400&id=ynhlogo) YunoHost es un **sistema operativo** que persigue simplificar la administración de un **servidor** para democratizar el [autoalojamiento](/selfhosting), asegurando que se mantiene fiable, seguro, ético y ligero. Es un proyecto de software libre copyleft mantenido exclusivamente por voluntarios. Se puede considerar técnicamente como una distribución basada en [Debian GNU/Linux](https://debian.org) y se puede instalar en [muchos tipos de hardware](/install). @@ -51,9 +51,7 @@ Puedes alojar a tus amistades, tu familia y a tu compañía con facilidad y segu PNG con el logotipo de YunoHost en blanco y negro por ToZz (400 × 400 px): -[![](image://ynh_logo_black_300dpi.png?resize=220)](image://ynh_logo_black_300dpi.png) -[![](image://ynh_logo_white_300dpi.png?resize=220)](image://ynh_logo_white_300dpi.png) - -Clic para descargar. +![](image://ynh_logo_black_300dpi.png?resize=220) +![](image://ynh_logo_white_300dpi.png?resize=220&id=whitelogo) Licencia: CC-BY-SA 4.0 diff --git a/pages/01.administrate/02.whatisyunohost/whatsyunohost.fr.md b/pages/01.administrate/02.whatisyunohost/whatsyunohost.fr.md index 461e1954..c140cb52 100644 --- a/pages/01.administrate/02.whatisyunohost/whatsyunohost.fr.md +++ b/pages/01.administrate/02.whatisyunohost/whatsyunohost.fr.md @@ -7,7 +7,7 @@ routes: default: '/whatsyunohost' --- -![YunoHost logo](image://YunoHost_logo_vertical.png?resize=400) +![YunoHost logo](image://YunoHost_logo_vertical.png?resize=400&id=ynhlogo) YunoHost est un **système d’exploitation** qui vise à simplifier autant que possible l'administration d'un **serveur** pour ainsi démocratiser [l’auto-hébergement](/selfhosting) tout en restant fiable, sécurisé, éthique et léger. C'est un projet de logiciel libre maintenu exclusivement par des bénévoles. Techniquement, il peut être vu comme une distribution basée sur [Debian GNU/Linux](https://debian.org) et peut s'installer sur [de nombreux types de matériel](/install). @@ -54,6 +54,4 @@ Logo YunoHost noir et blanc réalisé par ToZz (400 × 400 px) : [![](image://ynh_logo_black_300dpi.png?resize=220)](image://ynh_logo_black_300dpi.png) [![](image://ynh_logo_white_300dpi.png?resize=220)](image://ynh_logo_white_300dpi.png) -Cliquer pour télécharger. - Licence: CC-BY-SA 4.0 diff --git a/pages/01.administrate/02.whatisyunohost/whatsyunohost.md b/pages/01.administrate/02.whatisyunohost/whatsyunohost.md index de539501..f4ba7e3f 100644 --- a/pages/01.administrate/02.whatisyunohost/whatsyunohost.md +++ b/pages/01.administrate/02.whatisyunohost/whatsyunohost.md @@ -7,7 +7,7 @@ routes: default: '/whatsyunohost' --- -![YunoHost logo](image://YunoHost_logo_vertical.png?resize=400) +![YunoHost logo](image://YunoHost_logo_vertical.png?resize=400&id=ynhlogo) YunoHost is an **operating system** aiming for the simplest administration of a **server**, and therefore democratize [self-hosting](/selfhosting), while making sure it stays reliable, secure, ethical and lightweight. It is a copylefted libre software project maintained exclusively by volunteers. Technically, it can be seen as a distribution based on [Debian GNU/Linux](https://debian.org) and can be installed on [many kinds of hardware](/install). @@ -51,7 +51,7 @@ You can host your friends, your family and your company safely and with ease, bu Black and white YunoHost PNG logo by ToZz (400 × 400 px): -[![](image://ynh_logo_black_300dpi.png?resize=220)](image://ynh_logo_black_300dpi.png) -[![](image://ynh_logo_white_300dpi.png?resize=220&id=whitelogo)](image://ynh_logo_white_300dpi.png) +![](image://ynh_logo_black_300dpi.png?resize=220) +![](image://ynh_logo_white_300dpi.png?resize=220&id=whitelogo) Licence: CC-BY-SA 4.0 diff --git a/pages/01.administrate/04.howtohostyourself/howtohostyourself.de.md b/pages/01.administrate/04.howtohostyourself/howtohostyourself.de.md index c4d9c4de..24a513e4 100644 --- a/pages/01.administrate/04.howtohostyourself/howtohostyourself.de.md +++ b/pages/01.administrate/04.howtohostyourself/howtohostyourself.de.md @@ -88,15 +88,3 @@ Sie können einen virtuellen privaten Server oder eine dedizierte Maschine von [ - - \ No newline at end of file diff --git a/pages/01.administrate/04.howtohostyourself/howtohostyourself.fr.md b/pages/01.administrate/04.howtohostyourself/howtohostyourself.fr.md index 1ab3fde5..5f421888 100644 --- a/pages/01.administrate/04.howtohostyourself/howtohostyourself.fr.md +++ b/pages/01.administrate/04.howtohostyourself/howtohostyourself.fr.md @@ -87,16 +87,4 @@ Vous pouvez louer un serveur privé virtuel ou une machine dédiée à des hébe Généralement bonne - - - \ No newline at end of file + \ No newline at end of file diff --git a/pages/01.administrate/04.howtohostyourself/howtohostyourself.md b/pages/01.administrate/04.howtohostyourself/howtohostyourself.md index bf5468a5..1be0dd10 100644 --- a/pages/01.administrate/04.howtohostyourself/howtohostyourself.md +++ b/pages/01.administrate/04.howtohostyourself/howtohostyourself.md @@ -87,16 +87,4 @@ You can rent a virtual private server or a dedicated machine from [associative]( Typically pretty good - - - \ No newline at end of file + \ No newline at end of file diff --git a/pages/01.administrate/05.install/10.images/images.md b/pages/01.administrate/05.install/10.images/images.md index 4dcc2f53..323992e1 100644 --- a/pages/01.administrate/05.install/10.images/images.md +++ b/pages/01.administrate/05.install/10.images/images.md @@ -47,6 +47,9 @@ N.B. : Even if the image does not corresponds to the latest version of YunoHost, ############################################################################### */ $(document).ready(function () { + + $(".javascriptDisclaimer").hide(); + console.log("in load"); $.getJSON('https://build.yunohost.org/images.json', function (images) { $.each(images, function(k, infos) { diff --git a/themes/yunohost-docs/css/custom.css b/themes/yunohost-docs/css/custom.css index 56d1323f..1c03ebda 100644 --- a/themes/yunohost-docs/css/custom.css +++ b/themes/yunohost-docs/css/custom.css @@ -1,220 +1,537 @@ -.off-canvas .learn-sidebar:before { - background: none; +/*######################################## +########################################## + PLEASE DO NOT MODIFY THE CSS FILE +IF YOU WANT TO CHANGE THE CSS, DO IT IN THE + SCSS FILES AND "COMPILE" THEM: + https://sass-lang.com/guide +########################################## +########################################*/ +body.light-mode { + background-color: white; + /*================================================= + Side Bar + =================================================*/ + /*================================================= + App catalog + =================================================*/ + /*================================================= + Hardware image + =================================================*/ + /*================================================= + Other + =================================================*/ +} +body.light-mode ::selection { + background-color: #dddddd; +} +body.light-mode #body-wrapper, +body.light-mode #page-wrapper { + background-color: white; + color: #171b21; +} +body.light-mode a { + color: #72b6ec; +} +body.light-mode .card, +body.light-mode #footer, +body.light-mode .dropmenu ul ul { + background-color: #f0f0f0 !important; +} +body.light-mode h1, +body.light-mode h2, +body.light-mode h3, +body.light-mode h4, +body.light-mode h5, +body.light-mode h6, +body.light-mode #header a { + color: #242931; +} +body.light-mode .label.label-primary { + color: #242931; + background-color: #72b6ec; +} +body.light-mode .label.label-secondary { + color: #171b21; + background-color: #dddddd; +} +body.light-mode .pagination li { + border-color: #dddddd; + background: #f0f0f0; +} +body.light-mode #sidebar-id { + background: white; +} +body.light-mode .menu, +body.light-mode .learn-brand, +body.light-mode .learn-nav { + color: #111418; +} +body.light-mode .menu .menu-item > a:focus, +body.light-mode .menu .menu-item > a:hover, +body.light-mode #top-bar #navigation > a:hover { + background: #f0f0f0; +} +body.light-mode #sidebar ul.related-pages li { + border-bottom-color: #dddddd; +} +body.light-mode .form-input, +body.light-mode .search-input, +body.light-mode [data-grav-field=array] input, +body.light-mode [data-grav-field=array] textarea { + background: #f0f0f0; +} +body.light-mode .off-canvas .learn-sidebar .learn-brand #logo path { + fill: #171b21 !important; +} +body.light-mode .simplebar-content h5 { + border-top-color: #dddddd; +} +body.light-mode .off-canvas .learn-sidebar .learn-nav ul.searched a, +body.light-mode .off-canvas .learn-sidebar .searchbox input { + color: #171b21; +} +body.light-mode .off-canvas .learn-sidebar .learn-nav ul li.active > a, +body.light-mode .off-canvas .learn-sidebar .searchbox ::placeholder { + color: #111418; + background-color: transparent; +} +body.light-mode .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a:hover, +body.light-mode .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a { + color: #72b6ec; +} +body.light-mode .off-canvas .learn-sidebar .learn-nav .read-icon, +body.light-mode .off-canvas .learn-sidebar .searchbox { + color: #171b21; +} +body.light-mode .off-canvas .learn-sidebar .search-options .version-chooser select { + color: #171b21; +} +body.light-mode .off-canvas .learn-sidebar a, +body.light-mode .off-canvas .learn-sidebar .learn-nav ul li a, +body.light-mode .off-canvas .learn-sidebar .learn-nav ul li a > i, +body.light-mode .off-canvas .learn-sidebar .learn-nav ul li a > span > b { + color: #171b21; +} +body.light-mode .off-canvas .learn-sidebar a:hover { + color: #111418; +} +body.light-mode #filter-app-icon { + background-color: #f0f0f0; +} +body.light-mode #app-cards-list .app-title { + color: #242931; +} +body.light-mode #app-cards-list .app-buttons { + border-top: 0.05rem solid #f0f0f0; +} +body.light-mode #app-cards-list .app-buttons > .btn-default { + color: #242931; + background-color: #dddddd; +} +body.light-mode #app-cards-list .app-buttons > .btn:first-child { + border-right: 0.1rem solid #f0f0f0; +} +body.light-mode #app-cards-list .app-card { + border-color: #dddddd; +} +body.light-mode #app-cards-list .label { + color: #111418; + background-color: #f0f0f0; +} +body.light-mode .hardware-image .card { + background-color: white !important; +} +body.light-mode .hardware-image .btn-group .btn.btn-info { + color: #f0f0f0; +} +body.light-mode .hardware-image .btn-group .btn.btn-info:hover, +body.light-mode .btn.btn-info:focus { + color: #f0f0f0; +} +body.light-mode table tbody tr:nth-of-type(2n + 1) { + background: #f0f0f0; +} +body.light-mode table td, +body.light-mode table th { + border-bottom-color: #dddddd; +} +body.light-mode .danger { + background-color: #f2dede; +} +body.light-mode .warning { + background-color: #fcf8e3; +} +body.light-mode .success { + background-color: #dff0d8; +} +body.light-mode .page-toc { + background-color: #f0f0f0; +} +body.light-mode .page-toc li, +body.light-mode .page-toc li > a { + color: #242931; +} + +/*================================================= + Light mode specific +=================================================*/ +body.light-mode { + /* Give a gray background to the white logo*/ +} +body.light-mode img#whitelogo { + background-color: gray; + padding: 10px; +} + +/*! + * Dark Mode Theme + * + * Inspired by Louis Charette + * https://github.com/lcharette/website/blob/cc855a6eb29693613e5e4e1d589a17ba7faf4aa9/themes/quark-custom/css/darkMode.scss + */ +body.dark-mode { + background-color: #171b21; + /*================================================= + Side Bar + =================================================*/ + /*================================================= + App catalog + =================================================*/ + /*================================================= + Hardware image + =================================================*/ + /*================================================= + Other + =================================================*/ +} +body.dark-mode ::selection { + background-color: #3f4755; +} +body.dark-mode #body-wrapper, +body.dark-mode #page-wrapper { + background-color: #171b21; + color: #e8e9eb; +} +body.dark-mode a { + color: #72b6ec; +} +body.dark-mode .card, +body.dark-mode #footer, +body.dark-mode .dropmenu ul ul { + background-color: #111418 !important; +} +body.dark-mode h1, +body.dark-mode h2, +body.dark-mode h3, +body.dark-mode h4, +body.dark-mode h5, +body.dark-mode h6, +body.dark-mode #header a { + color: white; +} +body.dark-mode .label.label-primary { + color: white; + background-color: #72b6ec; +} +body.dark-mode .label.label-secondary { + color: #e8e9eb; + background-color: #3f4755; +} +body.dark-mode .pagination li { + border-color: #3f4755; + background: #111418; +} +body.dark-mode #sidebar-id { + background: #171b21; +} +body.dark-mode .menu, +body.dark-mode .learn-brand, +body.dark-mode .learn-nav { + color: #a5a9af; +} +body.dark-mode .menu .menu-item > a:focus, +body.dark-mode .menu .menu-item > a:hover, +body.dark-mode #top-bar #navigation > a:hover { + background: #111418; +} +body.dark-mode #sidebar ul.related-pages li { + border-bottom-color: #3f4755; +} +body.dark-mode .form-input, +body.dark-mode .search-input, +body.dark-mode [data-grav-field=array] input, +body.dark-mode [data-grav-field=array] textarea { + background: #111418; +} +body.dark-mode .off-canvas .learn-sidebar .learn-brand #logo path { + fill: #e8e9eb !important; +} +body.dark-mode .simplebar-content h5 { + border-top-color: #3f4755; +} +body.dark-mode .off-canvas .learn-sidebar .learn-nav ul.searched a, +body.dark-mode .off-canvas .learn-sidebar .searchbox input { + color: #e8e9eb; +} +body.dark-mode .off-canvas .learn-sidebar .learn-nav ul li.active > a, +body.dark-mode .off-canvas .learn-sidebar .searchbox ::placeholder { + color: #a5a9af; + background-color: transparent; +} +body.dark-mode .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a:hover, +body.dark-mode .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a { + color: #72b6ec; +} +body.dark-mode .off-canvas .learn-sidebar .learn-nav .read-icon, +body.dark-mode .off-canvas .learn-sidebar .searchbox { + color: #e8e9eb; +} +body.dark-mode .off-canvas .learn-sidebar .search-options .version-chooser select { + color: #e8e9eb; +} +body.dark-mode .off-canvas .learn-sidebar a, +body.dark-mode .off-canvas .learn-sidebar .learn-nav ul li a, +body.dark-mode .off-canvas .learn-sidebar .learn-nav ul li a > i, +body.dark-mode .off-canvas .learn-sidebar .learn-nav ul li a > span > b { + color: #e8e9eb; +} +body.dark-mode .off-canvas .learn-sidebar a:hover { + color: #a5a9af; +} +body.dark-mode #filter-app-icon { + background-color: #111418; +} +body.dark-mode #app-cards-list .app-title { + color: white; +} +body.dark-mode #app-cards-list .app-buttons { + border-top: 0.05rem solid #111418; +} +body.dark-mode #app-cards-list .app-buttons > .btn-default { + color: white; + background-color: #3f4755; +} +body.dark-mode #app-cards-list .app-buttons > .btn:first-child { + border-right: 0.1rem solid #111418; +} +body.dark-mode #app-cards-list .app-card { + border-color: #3f4755; +} +body.dark-mode #app-cards-list .label { + color: #a5a9af; + background-color: #111418; +} +body.dark-mode .hardware-image .card { + background-color: #171b21 !important; +} +body.dark-mode .hardware-image .btn-group .btn.btn-info { + color: #111418; +} +body.dark-mode .hardware-image .btn-group .btn.btn-info:hover, +body.dark-mode .btn.btn-info:focus { + color: #111418; +} +body.dark-mode table tbody tr:nth-of-type(2n + 1) { + background: #111418; +} +body.dark-mode table td, +body.dark-mode table th { + border-bottom-color: #3f4755; +} +body.dark-mode .danger { + background-color: #806c6c; +} +body.dark-mode .warning { + background-color: #6b6859; +} +body.dark-mode .success { + background-color: #6a7964; +} +body.dark-mode .page-toc { + background-color: #111418; +} +body.dark-mode .page-toc li, +body.dark-mode .page-toc li > a { + color: white; +} + +/*================================================= + Dark mode specific +=================================================*/ +body.dark-mode img { + filter: brightness(0.85) contrast(1.2); +} +body.dark-mode img#whitelogo { + background-color: unset; + padding: 10px; +} +body.dark-mode #ynhlogo { + filter: invert(1); +} +body.dark-mode .notices.yellow { + border-left-color: #935b0c; + background-color: #31220b; + color: #eea034; +} +body.dark-mode .notices.red { + border-left-color: #89211e; + background-color: #2e0b0b; + color: #db5a56; +} +body.dark-mode .notices.blue, +body.dark-mode .notices.note { + border-left-color: #1b6e86; + background-color: #13222a; + color: #4bb9da; +} +body.dark-mode .notices.green { + border-left-color: #347834; + background-color: #192c13; + color: #7ac57a; +} + +.learn-sidebar:before { + background: none !important; } #chapter { - max-width: 80%; + max-width: 80%; } /* Images helper classes */ img.inline { - display:inline; - margin:5px 15px 5px 5px; - vertical-align: middle; + display: inline; + margin: 5px 15px 5px 5px; + vertical-align: middle; } img.center { - display: block; - margin:5px 15px 5px 5px; - margin-left: auto; - margin-right: auto; + display: block; + margin: 5px 15px 5px 5px; + margin-left: auto; + margin-right: auto; } td img { - margin: 0.2rem auto; + margin: 0.2rem auto; } /* Figures and caption */ figure img { - margin: auto; + margin: auto; } figure figcaption { - font-style: italic; + font-style: italic; } /* List spacing */ -ul li, ol li { - margin-top: 0; +ul li, +ol li { + margin-top: 0; } -ul, ol { - margin-bottom: 0; +ul, +ol { + margin-bottom: 0; } li p { - margin: inherit; + margin: inherit; } /* Paragraphs */ p { - margin: 0 0 1rem; + margin: 0 0 1rem; } .notices p { - margin: 0 0 0 0.5rem; + margin: 0 0 0 0.5rem; } /* Flex */ .flex-container { - display: flex; - justify-content: space-around; - flex-wrap: wrap; + display: flex; + justify-content: space-around; + flex-wrap: wrap; } .flex-child { - display: inline-flex; - text-align: center; + display: inline-flex; + text-align: center; } .nomargin * { - margin: 0px auto; -} - -/* Breadcrums */ -#top-bar #breadcrumbs > span span, #top-bar #breadcrumbs > a span { - padding: 0 !important; -} - -#top-bar #breadcrumbs > span, #top-bar #breadcrumbs > a { - padding: 0 !important; -} - -#top-bar #breadcrumbs > a { - padding: 0; + margin: 0px auto; } /* Fonts and headings */ - -h1, h2, h3, h4, h5, h6 { - font-family: "Source Sans Pro", "Metropolis", "Helvetica Neue", sans-serif; - margin-top: 1rem; - margin-bottom: 1rem; +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Source Sans Pro", "Metropolis", "Helvetica Neue", sans-serif; + margin-top: 1rem; + margin-bottom: 1rem; } .simplebar-content h5 .fa { - font-size: 0.75em; - margin-right: 0.2em; - margin-left: 0.4em; + font-size: 0.75em; + margin-right: 0.2em; + margin-left: 0.4em; } .simplebar-content h5 { - letter-spacing: 0em; - border-top: 1px solid #ddd; - padding: 0.8em 0; - margin: 0; + letter-spacing: 0em; + border-top: 1px solid; + padding: 0.8em 0; + margin: 0; } @font-face { - font-family: 'Source Sans Pro'; - src: url('../fonts/SourceSansPro-Bold-webfont.eot'); - src: url('../fonts/SourceSansPro-Bold-webfont.eot?#iefix') format('embedded-opentype'), - url('../fonts/SourceSansPro-Bold-webfont.woff') format('woff'), - url('../fonts/SourceSansPro-Bold-webfont.ttf') format('truetype'), - url('../fonts/SourceSansPro-Bold-webfont.svg#fonts/SourceSansProBold') format('svg'); - font-weight: 700; - font-style: normal; + font-family: "Source Sans Pro"; + src: url("../fonts/SourceSansPro-Bold-webfont.eot"); + src: url("../fonts/SourceSansPro-Bold-webfont.eot?#iefix") format("embedded-opentype"), url("../fonts/SourceSansPro-Bold-webfont.woff") format("woff"), url("../fonts/SourceSansPro-Bold-webfont.ttf") format("truetype"), url("../fonts/SourceSansPro-Bold-webfont.svg#fonts/SourceSansProBold") format("svg"); + font-weight: 700; + font-style: normal; } - -/* Give a gray background to the white logo*/ -img#whitelogo { - background-color: gray; - padding: 10px; -} - -/* Sidebar */ - -#sidebar-id { - background-color: #fffefe; - border-right: 0.05rem solid #ddd; -} - -body .off-canvas .learn-sidebar a { - color: #364149; -} - -body .off-canvas .learn-sidebar .learn-nav ul li.active > a { - color: black; - background-color: transparent; -} - -body .off-canvas .learn-sidebar .learn-brand #logo path { - fill: black!important; -} - +/*================================================= + TOP BAR +=================================================*/ body #top-bar { - background: none; - border-bottom: none; + background: none; + border-bottom: none; +} + +body #top-bar #navigation > a, +body #top-bar #navigation > span { + border-left: none; +} + +body #top-bar .progress { + display: none; } body #top-bar #navigation { - width: auto; -} -body #top-bar #navigation > a { - width: 3em; - border-left: none; -} - -body #top-bar #breadcrumbs > span span, #top-bar #breadcrumbs > a span { - font-size: 0.7rem; -} - -body #top-bar a:visited { - color: #3e7694; -} - -body #top-bar a:hover { - text-decoration: underline; -} - -body .off-canvas .learn-sidebar .searchbox ::placeholder { - color: rgba(68, 68, 68, 0.8); -} - -body .off-canvas .learn-sidebar .learn-nav ul.searched a { - color: black; -} - -body .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a:hover, .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a { - color: blueviolet; -} - -body .off-canvas .learn-sidebar a:hover { - color: #37419a; -} - -body #header .off-canvas .learn-sidebar a:hover { - color: black; - text-decoration: underline black; -} - -body .off-canvas .learn-sidebar .learn-nav ul .parent ul { - margin-left: 0.5rem; -} - -body .off-canvas .learn-sidebar .learn-nav ul li a > span > b { - color: black; -} - -body .off-canvas .learn-sidebar .learn-nav ul.topics > li.active, body .off-canvas .learn-sidebar .learn-nav ul.topics > li.parent { - background-color: rgba(0, 0, 0, 0.1); + margin-left: auto; + margin-right: 0; } +/*================================================= + SIDE BAR +=================================================*/ body .off-canvas .learn-sidebar .learn-nav ul li ul li.active > a { - background-color: rgba(0, 0, 0, 0.1); - border-left: 4px solid mediumturquoise; + background-color: rgba(0, 0, 0, 0.1); + border-left: 4px solid mediumturquoise; } -body .off-canvas .learn-sidebar .learn-nav .read-icon, body .off-canvas .learn-sidebar .searchbox, body .off-canvas .learn-sidebar .search-options .version-chooser select { - color: rgba(0, 0, 0, 0.6); -} - -body .off-canvas .learn-sidebar .searchbox input { - color: rgb(78, 78, 78); -} - -body #top-bar #breadcrumbs > span, body #top-bar .progress { - display: none; +/*================================================= + SHORTCODE UI +=================================================*/ +.tabs-wrapper.ui-theme-lite .tab { + background-color: inherit !important; } /* @@ -222,152 +539,147 @@ body #top-bar #breadcrumbs > span, body #top-bar .progress { Style sheet for the cards ############################################################################### */ - .hardware.active { - box-shadow: 0 0 15px #bbb; - border-radius: 5px; + box-shadow: 0 0 15px #bbb; + border-radius: 5px; } .hardware-image #cards-list:after { - content:''; - display:block; - clear: both; + content: ""; + display: block; + clear: both; } .hardware-image .card { - margin-bottom:20px; - width:270px; - float:left; - min-height: 1px; - margin-right: 10px; - margin-left: 10px; + margin-bottom: 20px; + width: 270px; + float: left; + min-height: 1px; + margin-right: 10px; + margin-left: 10px; } -.hardware-image .card .panel-body > h3 { - margin-top:0; - margin-bottom:5px; - font-size:1.2em; +.hardware-image .card .panel-body > h3 { + margin-top: 0; + margin-bottom: 5px; + font-size: 1.2em; } .hardware-image .card-desc { - height:135px; - overflow: hidden; + height: 135px; + overflow: hidden; } .hardware-image .card .btn-group { - width:100%; - margin-left: 0px; + width: 100%; + margin-left: 0px; } -.hardware-image .card > .btn-group > .btn{ - border-bottom:0; + +.hardware-image .card > .btn-group > .btn { + border-bottom: 0; } -.hardware-image .card > .btn-group { - border-left:0; - border-top-left-radius:0; - border-top-right-radius:0; - margin-left: 0px; + +.hardware-image .card > .btn-group { + border-left: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; + margin-left: 0px; } + .hardware-image .card-comment { - font-size: 0.8em; - margin-top:-5px; + font-size: 0.8em; + margin-top: -5px; } + .hardware-image .card > .annotations { - text-align:center; - font-size:small; + text-align: center; + font-size: small; } + .hardware-image .card img { - margin: 1rem auto; + margin: 1rem auto; } + .hardware-image .btn-group .btn.btn-info { - color: #ffffff; - background-color: #5bc0de; - border-color: #46b8da; -} -.hardware-image .btn-group .btn.btn-info:hover, .btn.btn-info:focus { - color: #ffffff; - background-color: #39b3d7; - border-color: #269abc; + background-color: #5bc0de; + border-color: #46b8da; } - +.hardware-image .btn-group .btn.btn-info:hover, +.btn.btn-info:focus { + background-color: #39b3d7; + border-color: #269abc; +} /*================================================= - App catalog + App catalog =================================================*/ #filter-app-icon { - padding: 6px 12px; - margin-right: -2px; - background-color: #f0f0f0; + padding: 6px 12px; + margin-right: -2px; } -#filter-app-cards, #app-cards-list { - width:100%; +#filter-app-cards, +#app-cards-list { + width: 100%; } #app-cards-list:after { - content:''; - display:block; - clear: both; + content: ""; + display: block; + clear: both; } #app-cards-list .app-card { - margin-bottom:30px; - width:28%; - float:left; - min-height: 1px; - margin-right: 15px; - margin-left: 15px; - border-radius: 3px; - position: relative; - height: 230px; + margin-bottom: 30px; + width: 28%; + float: left; + min-height: 1px; + margin-right: 15px; + margin-left: 15px; + border-radius: 3px; + position: relative; + height: 230px; } #app-cards-list .app-title { - margin-top: 0; - margin-bottom: 5px; - font-size: 1.2em; - font-weight: 700; - line-height: 1.1; - color: black; - padding: 1rem 1rem; - padding-bottom: 0; + margin-top: 0; + margin-bottom: 5px; + font-size: 1.2em; + font-weight: 700; + line-height: 1.1; + padding: 1rem 1rem; + padding-bottom: 0; } #app-cards-list .app-title .label { - font-size: 0.5em; - display: inline-block; - vertical-align: middle; - padding: 0.5em 0.6em; - padding-bottom: 0.3em; + font-size: 0.5em; + display: inline-block; + vertical-align: middle; + padding: 0.5em 0.6em; + padding-bottom: 0.3em; } #app-cards-list .app-descr { - height:120px; - overflow: hidden; - padding: 0.2rem 1rem; + height: 120px; + overflow: hidden; + padding: 0.2rem 1rem; } #app-cards-list .app-footer { - width:100%; - position: absolute; - bottom: 0; + width: 100%; + position: absolute; + bottom: 0; } #app-cards-list .app-buttons { - border-top: 0.05rem solid #ddd; - width:100%; + width: 100%; } + #app-cards-list .app-buttons > .btn { - border: 0; - font-size: 0.9em; - line-height: 1.58; -} - -#app-cards-list .app-buttons > .btn-default { - color: #222; -} - -#app-cards-list .app-buttons > .btn:first-child { - border-right: 0.1rem solid #ddd; + border: 0; + font-size: 0.9em; + line-height: 1.58; } +/*# sourceMappingURL=custom.css.map */ diff --git a/themes/yunohost-docs/css/custom.css.map b/themes/yunohost-docs/css/custom.css.map new file mode 100644 index 00000000..636339e1 --- /dev/null +++ b/themes/yunohost-docs/css/custom.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["../scss/custom.scss","../scss/theme/light/_custom.scss","../scss/theme/dark/_custom.scss","../scss/theme/_global.scss"],"names":[],"mappings":"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;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;;;AAGF;AACA;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;;;AAGF;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;EAME;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EAIA;EACA;;AAGF;AAAA;AAAA;AAIA;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;;;AAGF;AAAA;AAAA;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAEF;EACE;;;AAEF;EACE;EACA;EACA;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;EACA;;;AAEF;EACE;;;AAGF;EACE;EACA;;;AAGF;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAIA;EACE;EACA;;;AAGF;AAAA;EAEE;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA","file":"custom.css"} \ No newline at end of file diff --git a/themes/yunohost-docs/js/darkMode.js b/themes/yunohost-docs/js/darkMode.js new file mode 100644 index 00000000..7df345a2 --- /dev/null +++ b/themes/yunohost-docs/js/darkMode.js @@ -0,0 +1,52 @@ + +/** + * Custom dark mode + */ + +// Get user preference +const prefersDarkScheme = window.matchMedia("(prefers-color-scheme: dark)").matches; + +// Select the theme preference from localStorage +const currentTheme = localStorage.getItem("theme") ? localStorage.getItem("theme") : null; + +// If the current theme in localStorage is "dark" or user prefer dark, apply it +if (currentTheme == "dark" || (currentTheme == null && prefersDarkScheme)) { + document.body.classList.add("dark-mode"); +} +else +{ + document.body.classList.add("light-mode"); +} + +// Get all elements with switch class +const switches = document.querySelectorAll(".dark-mode-switcher"); + +// Apply event function to each element +for (var i = 0; i < switches.length; i++) { + switches[i].addEventListener('click', darkModeSwith); +} + +function darkModeSwith(event) { + + // Prevent href action + event.preventDefault(); + + // Toggle the .dark-theme class + document.body.classList.toggle("dark-mode"); + document.body.classList.toggle("light-mode"); + + // If the body contains the .dark-theme class... + // Then save the choice in localStorage + if (document.body.classList.contains("dark-mode")) { + localStorage.setItem("theme", "dark"); + } else { + localStorage.setItem("theme", "light"); + } + + // Close mobile menu + if (toggle = document.querySelector('#toggle')) + toggle.classList.remove('active'); + if (overlay = document.querySelector('#overlay')) + overlay.classList.remove('open'); + document.body.classList.remove('mobile-nav-open'); +} \ No newline at end of file diff --git a/themes/yunohost-docs/scss/custom.scss b/themes/yunohost-docs/scss/custom.scss new file mode 100644 index 00000000..565166eb --- /dev/null +++ b/themes/yunohost-docs/scss/custom.scss @@ -0,0 +1,11 @@ +/*######################################## +########################################## + PLEASE DO NOT MODIFY THE CSS FILE +IF YOU WANT TO CHANGE THE CSS, DO IT IN THE + SCSS FILES AND "COMPILE" THEM: + https://sass-lang.com/guide +########################################## +########################################*/ +@import "theme/light/custom"; +@import "theme/dark/custom"; +@import "theme/global"; diff --git a/themes/yunohost-docs/scss/theme/_global.scss b/themes/yunohost-docs/scss/theme/_global.scss new file mode 100644 index 00000000..7c4e8a29 --- /dev/null +++ b/themes/yunohost-docs/scss/theme/_global.scss @@ -0,0 +1,296 @@ +.learn-sidebar:before { + background: none !important; +} + +#chapter { + max-width: 80%; +} + +/* Images helper classes */ +img.inline { + display: inline; + margin: 5px 15px 5px 5px; + vertical-align: middle; +} + +img.center { + display: block; + margin: 5px 15px 5px 5px; + margin-left: auto; + margin-right: auto; +} + +td img { + margin: 0.2rem auto; +} + +/* Figures and caption */ +figure img { + margin: auto; +} + +figure figcaption { + font-style: italic; +} + +/* List spacing */ +ul li, +ol li { + margin-top: 0; +} + +ul, +ol { + margin-bottom: 0; +} + +li p { + margin: inherit; +} + +/* Paragraphs */ +p { + margin: 0 0 1rem; +} + +.notices p { + margin: 0 0 0 0.5rem; +} + +/* Flex */ +.flex-container { + display: flex; + justify-content: space-around; + flex-wrap: wrap; +} + +.flex-child { + display: inline-flex; + text-align: center; +} + +.nomargin * { + margin: 0px auto; +} + +/* Fonts and headings */ + +h1, +h2, +h3, +h4, +h5, +h6 { + font-family: "Source Sans Pro", "Metropolis", "Helvetica Neue", sans-serif; + margin-top: 1rem; + margin-bottom: 1rem; +} + +.simplebar-content h5 .fa { + font-size: 0.75em; + margin-right: 0.2em; + margin-left: 0.4em; +} + +.simplebar-content h5 { + letter-spacing: 0em; + border-top: 1px solid; + padding: 0.8em 0; + margin: 0; +} + +@font-face { + font-family: "Source Sans Pro"; + src: url("../fonts/SourceSansPro-Bold-webfont.eot"); + src: url("../fonts/SourceSansPro-Bold-webfont.eot?#iefix") format("embedded-opentype"), + url("../fonts/SourceSansPro-Bold-webfont.woff") format("woff"), + url("../fonts/SourceSansPro-Bold-webfont.ttf") format("truetype"), + url("../fonts/SourceSansPro-Bold-webfont.svg#fonts/SourceSansProBold") format("svg"); + font-weight: 700; + font-style: normal; +} + +/*================================================= + TOP BAR +=================================================*/ + +body #top-bar { + background: none; + border-bottom: none; +} + +body #top-bar #navigation > a, +body #top-bar #navigation > span { + border-left: none; +} + +body #top-bar .progress { + display: none; +} + +body #top-bar #navigation { + margin-left: auto; + margin-right: 0; +} + +/*================================================= + SIDE BAR +=================================================*/ + +body .off-canvas .learn-sidebar .learn-nav ul li ul li.active > a { + background-color: rgba(0, 0, 0, 0.1); + border-left: 4px solid mediumturquoise; +} + +/*================================================= + SHORTCODE UI +=================================================*/ + +.tabs-wrapper.ui-theme-lite .tab { + background-color: inherit !important; +} + +/* +############################################################################### + Style sheet for the cards +############################################################################### +*/ + +.hardware.active { + box-shadow: 0 0 15px #bbb; + border-radius: 5px; +} + +.hardware-image #cards-list:after { + content: ""; + display: block; + clear: both; +} + +.hardware-image .card { + margin-bottom: 20px; + width: 270px; + float: left; + min-height: 1px; + margin-right: 10px; + margin-left: 10px; +} + +.hardware-image .card .panel-body > h3 { + margin-top: 0; + margin-bottom: 5px; + font-size: 1.2em; +} + +.hardware-image .card-desc { + height: 135px; + overflow: hidden; +} + +.hardware-image .card .btn-group { + width: 100%; + margin-left: 0px; +} +.hardware-image .card > .btn-group > .btn { + border-bottom: 0; +} +.hardware-image .card > .btn-group { + border-left: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; + margin-left: 0px; +} +.hardware-image .card-comment { + font-size: 0.8em; + margin-top: -5px; +} +.hardware-image .card > .annotations { + text-align: center; + font-size: small; +} +.hardware-image .card img { + margin: 1rem auto; +} + +.hardware-image .btn-group .btn.btn-info { + background-color: #5bc0de; + border-color: #46b8da; +} + +.hardware-image .btn-group .btn.btn-info:hover, +.btn.btn-info:focus { + background-color: #39b3d7; + border-color: #269abc; +} + +/*================================================= + App catalog +=================================================*/ + +#filter-app-icon { + padding: 6px 12px; + margin-right: -2px; +} + +#filter-app-cards, +#app-cards-list { + width: 100%; +} + +#app-cards-list:after { + content: ""; + display: block; + clear: both; +} + +#app-cards-list .app-card { + margin-bottom: 30px; + width: 28%; + float: left; + min-height: 1px; + margin-right: 15px; + margin-left: 15px; + border-radius: 3px; + position: relative; + height: 230px; +} + +#app-cards-list .app-title { + margin-top: 0; + margin-bottom: 5px; + font-size: 1.2em; + font-weight: 700; + line-height: 1.1; + padding: 1rem 1rem; + padding-bottom: 0; +} + +#app-cards-list .app-title .label { + font-size: 0.5em; + display: inline-block; + vertical-align: middle; + padding: 0.5em 0.6em; + padding-bottom: 0.3em; +} + +#app-cards-list .app-descr { + height: 120px; + overflow: hidden; + padding: 0.2rem 1rem; +} + +#app-cards-list .app-footer { + width: 100%; + position: absolute; + bottom: 0; +} + +#app-cards-list .app-buttons { + width: 100%; +} + +#app-cards-list .app-buttons > .btn { + border: 0; + font-size: 0.9em; + line-height: 1.58; +} diff --git a/themes/yunohost-docs/scss/theme/dark/_custom.scss b/themes/yunohost-docs/scss/theme/dark/_custom.scss new file mode 100644 index 00000000..68712ea9 --- /dev/null +++ b/themes/yunohost-docs/scss/theme/dark/_custom.scss @@ -0,0 +1,287 @@ +/*! + * Dark Mode Theme + * + * Inspired by Louis Charette + * https://github.com/lcharette/website/blob/cc855a6eb29693613e5e4e1d589a17ba7faf4aa9/themes/quark-custom/css/darkMode.scss + */ + +body.dark-mode { + // Variables + $background-color: rgb(23, 27, 33); + $text-color: rgb(232, 233, 235); + $text-accent-color: white; + $text-darker-color: rgb(165, 169, 175); + $card-bg-color: rgb(17, 20, 24); + $border-color: rgb(63, 71, 85); + $link-color: rgb(114, 182, 236); + + $danger: rgb(128, 108, 108); + $warning: rgb(107, 104, 89); + $success: rgb(106, 121, 100); + + // Main body background + background-color: $background-color; + + ::selection { + background-color: $border-color; + } + + // Page wrapper + #body-wrapper, + #page-wrapper { + background-color: $background-color; + color: $text-color; + } + + // Darker blue for links + a { + color: $link-color; + } + + // Card, header and dropdown have darker background + .card, + #footer, + .dropmenu ul ul { + background-color: $card-bg-color !important; + } + + // Headers have whiter color + h1, + h2, + h3, + h4, + h5, + h6, + #header a { + color: $text-accent-color; + } + + // Labels are grey + .label.label-primary { + color: $text-accent-color; + background-color: $link-color; + } + .label.label-secondary { + color: $text-color; + background-color: $border-color; + } + + // Pagination border is slighly different than the text + .pagination li { + border-color: $border-color; + background: $card-bg-color; + } + + #sidebar-id { + background: $background-color; + } + // Sidebar menu use darker text color for focus + .menu, + .learn-brand, + .learn-nav { + color: $text-darker-color; + } + + .menu .menu-item > a:focus, + .menu .menu-item > a:hover, + #top-bar #navigation > a:hover { + background: $card-bg-color; + } + + #sidebar ul.related-pages li { + border-bottom-color: $border-color; + } + + // Form background + .form-input, + .search-input, + [data-grav-field="array"] input, + [data-grav-field="array"] textarea { + background: $card-bg-color; + } + + /*================================================= + Side Bar + =================================================*/ + // Change logo color + .off-canvas .learn-sidebar .learn-brand #logo path { + fill: $text-color !important; + } + + // Sidebar separator + .simplebar-content h5 { + border-top-color: $border-color; + } + + // Text in the sidebar during a search + .off-canvas .learn-sidebar .learn-nav ul.searched a, + .off-canvas .learn-sidebar .searchbox input { + color: $text-color; + } + + // Selected text in the sidebar + .off-canvas .learn-sidebar .learn-nav ul li.active > a, + // Placeholder of the searching bar + .off-canvas .learn-sidebar .searchbox ::placeholder { + color: $text-darker-color; + background-color: transparent; + } + + // Matching text in the sidebar + .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a:hover, + .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a { + color: $link-color; + } + + // Icons + .off-canvas .learn-sidebar .learn-nav .read-icon, + .off-canvas .learn-sidebar .searchbox { + color: $text-color; + } + + // Language selector + .off-canvas .learn-sidebar .search-options .version-chooser select { + color: $text-color; + } + + // Default text color + .off-canvas .learn-sidebar a, + .off-canvas .learn-sidebar .learn-nav ul li a, + .off-canvas .learn-sidebar .learn-nav ul li a > i, + .off-canvas .learn-sidebar .learn-nav ul li a > span > b { + color: $text-color; + } + + .off-canvas .learn-sidebar a:hover { + color: $text-darker-color; + } + + /*================================================= + App catalog + =================================================*/ + + #filter-app-icon { + background-color: $card-bg-color; + } + + #app-cards-list .app-title { + color: $text-accent-color; + } + + #app-cards-list .app-buttons { + border-top: 0.05rem solid $card-bg-color; + } + + #app-cards-list .app-buttons > .btn-default { + color: $text-accent-color; + background-color: $border-color; + } + + #app-cards-list .app-buttons > .btn:first-child { + border-right: 0.1rem solid $card-bg-color; + } + + #app-cards-list .app-card { + border-color: $border-color; + } + + #app-cards-list .label { + color: $text-darker-color; + background-color: $card-bg-color; + } + + /*================================================= + Hardware image + =================================================*/ + + .hardware-image .card { + background-color: $background-color !important; + } + + .hardware-image .btn-group .btn.btn-info { + color: $card-bg-color; + } + + .hardware-image .btn-group .btn.btn-info:hover, + .btn.btn-info:focus { + color: $card-bg-color; + } + + /*================================================= + Other + =================================================*/ + + // Html tables + table tbody tr:nth-of-type(2n + 1) { + background: $card-bg-color; + } + + table td, + table th { + border-bottom-color: $border-color; + } + + // Color utils + .danger { + background-color: $danger; + } + .warning { + background-color: $warning; + } + .success { + background-color: $success; + } + + .page-toc { + background-color: $card-bg-color; + } + + .page-toc li, + .page-toc li > a { + color: $text-accent-color; + } +} + +/*================================================= + Dark mode specific +=================================================*/ +body.dark-mode { + // Dim images + img { + filter: brightness(0.85) contrast(1.2); + } + + img#whitelogo { + background-color: unset; + padding: 10px; + } + + #ynhlogo { + filter: invert(1); + } + + .notices.yellow { + border-left-color: rgb(147, 91, 12); + background-color: rgb(49, 34, 11); + color: rgb(238, 160, 52); + } + + .notices.red { + border-left-color: rgb(137, 33, 30); + background-color: rgb(46, 11, 11); + color: rgb(219, 90, 86); + } + + .notices.blue, + .notices.note { + border-left-color: rgb(27, 110, 134); + background-color: rgb(19, 34, 42); + color: rgb(75, 185, 218); + } + + .notices.green { + border-left-color: rgb(52, 120, 52); + background-color: rgb(25, 44, 19); + color: rgb(122, 197, 122); + } +} diff --git a/themes/yunohost-docs/scss/theme/light/_custom.scss b/themes/yunohost-docs/scss/theme/light/_custom.scss new file mode 100644 index 00000000..d4f1ba8f --- /dev/null +++ b/themes/yunohost-docs/scss/theme/light/_custom.scss @@ -0,0 +1,246 @@ +body.light-mode { + // Variables + $background-color: rgb(255, 255, 255); + $text-color: rgb(23, 27, 33); + $text-accent-color: rgb(36, 41, 49); + $text-darker-color: rgb(17, 20, 24); + $card-bg-color: rgb(240, 240, 240); + $border-color: rgb(221, 221, 221); + $link-color: rgb(114, 182, 236); + + $danger: rgb(242, 222, 222); + $warning: rgb(252, 248, 227); + $success: rgb(223, 240, 216); + + // Main body background + background-color: $background-color; + + ::selection { + background-color: $border-color; + } + // Page wrapper + #body-wrapper, + #page-wrapper { + background-color: $background-color; + color: $text-color; + } + + // Darker blue for links + a { + color: $link-color; + } + + // Card, header and dropdown have darker background + .card, + #footer, + .dropmenu ul ul { + background-color: $card-bg-color !important; + } + + // Headers have whiter color + h1, + h2, + h3, + h4, + h5, + h6, + #header a { + color: $text-accent-color; + } + + // Labels are grey + .label.label-primary { + color: $text-accent-color; + background-color: $link-color; + } + .label.label-secondary { + color: $text-color; + background-color: $border-color; + } + + // Pagination border is slighly different than the text + .pagination li { + border-color: $border-color; + background: $card-bg-color; + } + + #sidebar-id { + background: $background-color; + } + // Sidebar menu use darker text color for focus + .menu, + .learn-brand, + .learn-nav { + color: $text-darker-color; + } + + .menu .menu-item > a:focus, + .menu .menu-item > a:hover, + #top-bar #navigation > a:hover { + background: $card-bg-color; + } + + #sidebar ul.related-pages li { + border-bottom-color: $border-color; + } + + // Form background + .form-input, + .search-input, + [data-grav-field="array"] input, + [data-grav-field="array"] textarea { + background: $card-bg-color; + } + + /*================================================= + Side Bar + =================================================*/ + // Change logo color + .off-canvas .learn-sidebar .learn-brand #logo path { + fill: $text-color !important; + } + + // Sidebar separator + .simplebar-content h5 { + border-top-color: $border-color; + } + + // Text in the sidebar during a search + .off-canvas .learn-sidebar .learn-nav ul.searched a, + .off-canvas .learn-sidebar .searchbox input { + color: $text-color; + } + + // Selected text in the sidebar + .off-canvas .learn-sidebar .learn-nav ul li.active > a, + // Placeholder of the searching bar + .off-canvas .learn-sidebar .searchbox ::placeholder { + color: $text-darker-color; + background-color: transparent; + } + + // Matching text in the sidebar + .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a:hover, + .off-canvas .learn-sidebar .learn-nav ul.searched .search-match a { + color: $link-color; + } + + // Icons + .off-canvas .learn-sidebar .learn-nav .read-icon, + .off-canvas .learn-sidebar .searchbox { + color: $text-color; + } + + // Language selector + .off-canvas .learn-sidebar .search-options .version-chooser select { + color: $text-color; + } + + // Default text color + .off-canvas .learn-sidebar a, + .off-canvas .learn-sidebar .learn-nav ul li a, + .off-canvas .learn-sidebar .learn-nav ul li a > i, + .off-canvas .learn-sidebar .learn-nav ul li a > span > b { + color: $text-color; + } + + .off-canvas .learn-sidebar a:hover { + color: $text-darker-color; + } + + /*================================================= + App catalog + =================================================*/ + + #filter-app-icon { + background-color: $card-bg-color; + } + + #app-cards-list .app-title { + color: $text-accent-color; + } + + #app-cards-list .app-buttons { + border-top: 0.05rem solid $card-bg-color; + } + + #app-cards-list .app-buttons > .btn-default { + color: $text-accent-color; + background-color: $border-color; + } + + #app-cards-list .app-buttons > .btn:first-child { + border-right: 0.1rem solid $card-bg-color; + } + + #app-cards-list .app-card { + border-color: $border-color; + } + + #app-cards-list .label { + color: $text-darker-color; + background-color: $card-bg-color; + } + + /*================================================= + Hardware image + =================================================*/ + + .hardware-image .card { + background-color: $background-color !important; + } + + .hardware-image .btn-group .btn.btn-info { + color: $card-bg-color; + } + + .hardware-image .btn-group .btn.btn-info:hover, + .btn.btn-info:focus { + color: $card-bg-color; + } + + /*================================================= + Other + =================================================*/ + + // Html tables + table tbody tr:nth-of-type(2n + 1) { + background: $card-bg-color; + } + + table td, + table th { + border-bottom-color: $border-color; + } + + // Color utils + .danger { + background-color: $danger; + } + .warning { + background-color: $warning; + } + .success { + background-color: $success; + } + + .page-toc { + background-color: $card-bg-color; + } + + .page-toc li, + .page-toc li > a { + color: $text-accent-color; + } +} + +/*================================================= + Light mode specific +=================================================*/ +body.light-mode { + /* Give a gray background to the white logo*/ + img#whitelogo { + background-color: gray; + padding: 10px; + } +} diff --git a/themes/yunohost-docs/templates/partials/base.html.twig b/themes/yunohost-docs/templates/partials/base.html.twig index e8076b09..6e29f7d8 100644 --- a/themes/yunohost-docs/templates/partials/base.html.twig +++ b/themes/yunohost-docs/templates/partials/base.html.twig @@ -22,7 +22,6 @@ {% do assets.addCss('theme://css-compiled/spectre'~compress) %} {% do assets.addCss('theme://css-compiled/theme'~compress) %} {% do assets.addCss('theme://css/custom.css') %} - {% do assets.addCss('theme://css/darkMode.css') %} {% endblock %} {% block javascripts %} diff --git a/themes/yunohost-docs/templates/partials/darkmodeswitcher.html.twig b/themes/yunohost-docs/templates/partials/darkmodeswitcher.html.twig new file mode 100644 index 00000000..99e7911f --- /dev/null +++ b/themes/yunohost-docs/templates/partials/darkmodeswitcher.html.twig @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/themes/yunohost-docs/templates/partials/topbar.html.twig b/themes/yunohost-docs/templates/partials/topbar.html.twig index 39bd21c0..87734f15 100644 --- a/themes/yunohost-docs/templates/partials/topbar.html.twig +++ b/themes/yunohost-docs/templates/partials/topbar.html.twig @@ -5,14 +5,11 @@ {% endif %} - {% if config.plugins.breadcrumbs.enabled %} - {% include 'partials/breadcrumbs.html.twig' %} - {% endif %} -