diff --git a/.gitignore b/.gitignore index 063e3987d..3c097ca05 100644 --- a/.gitignore +++ b/.gitignore @@ -27,3 +27,5 @@ venv 404.html site_libs .DS_Store +index_files +digest.txt \ No newline at end of file diff --git a/_quarto.yml b/_quarto.yml index fbb6b868c..d8186eeac 100644 --- a/_quarto.yml +++ b/_quarto.yml @@ -5,7 +5,6 @@ project: port: 4200 browser: true - # These cannot be used as variables. They are reserved for the project configuration. website: title: "Turing.jl" @@ -17,8 +16,6 @@ website: navbar: logo: "assets/images/turing-logo.svg" logo-href: https://turinglang.org/ - background: "#073c44" - foreground: "#ffffff" left: - href: getting-started/ text: Get Started @@ -40,11 +37,11 @@ website: href: https://turinglang.org/docs/versions.html tools: - icon: twitter - href: https://x.com/TuringLang text: Turing Twitter + href: https://x.com/TuringLang - icon: github - href: https://github.com/TuringLang/Turing.jl text: Turing GitHub + href: https://github.com/TuringLang sidebar: - text: documentation @@ -116,20 +113,6 @@ website: - developers/inference/variational-inference/index.qmd - developers/inference/implementing-samplers/index.qmd - page-footer: - background: "#073c44" - left: | - Turing is created by Hong Ge, and lovingly maintained by the core team of volunteers.
- The contents of this website are © 2018–2025 under the terms of the MIT License. - - right: - - icon: twitter - href: https://x.com/TuringLang - aria-label: Turing Twitter - - icon: github - href: https://github.com/TuringLang/Turing.jl - aria-label: Turing GitHub - back-to-top-navigation: true repo-url: https://github.com/TuringLang/docs repo-actions: [edit, issue] @@ -149,20 +132,67 @@ format: toc-title: "Table of Contents" code-fold: false code-overflow: scroll + include-in-header: + - text: | + + include-after-body: + - text: | + + execute: echo: true output: true freeze: auto -include-in-header: - - text: | - # These variables can be used in any qmd files, e.g. for links: # the [Getting Started page]({{< meta get-started >}}) diff --git a/assets/images/brands/Turing_Logo_1000x400px_Black.webp b/assets/images/brands/Turing_Logo_1000x400px_Black.webp new file mode 100644 index 000000000..68d3caa7e Binary files /dev/null and b/assets/images/brands/Turing_Logo_1000x400px_Black.webp differ diff --git a/assets/images/brands/Turing_Logo_1000x400px_White.webp b/assets/images/brands/Turing_Logo_1000x400px_White.webp new file mode 100644 index 000000000..b1f168278 Binary files /dev/null and b/assets/images/brands/Turing_Logo_1000x400px_White.webp differ diff --git a/assets/images/brands/university-cambridge-logo-black-example-640x132.png b/assets/images/brands/university-cambridge-logo-black-example-640x132.png new file mode 100644 index 000000000..b49e59aa9 Binary files /dev/null and b/assets/images/brands/university-cambridge-logo-black-example-640x132.png differ diff --git a/assets/images/brands/university-cambridge-logo-white-example-640x133.png b/assets/images/brands/university-cambridge-logo-white-example-640x133.png new file mode 100644 index 000000000..99a75d96f Binary files /dev/null and b/assets/images/brands/university-cambridge-logo-white-example-640x133.png differ diff --git a/theming/styles.css b/theming/styles.css index c670e42aa..535a9bcc5 100755 --- a/theming/styles.css +++ b/theming/styles.css @@ -1,3 +1,15 @@ +.quarto-container { + background-color: #f8f9fa; +} + +.navbar { + background-color: #ffffff; +} + +nav.sidebar.sidebar-navigation:not(.rollup) { + background-color: #f8f9fa; +} + .navbar a:hover { text-decoration: none; } @@ -44,3 +56,204 @@ max-height: 250px; overflow: scroll; } + +/* Custom Footer */ +.footer { + display: none; +} +.custom-footer { + background-color: #fff; + color: #6c757d; + font-size: 0.9rem; + padding: 3rem 2rem 2rem; + border-top: 1px solid #e9ecef; +} + +.custom-footer .footer-container { + max-width: 1350px; + margin: 0 auto; +} + +.custom-footer .footer-grid { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + gap: 2rem; + margin-bottom: 2rem; + padding-bottom: 2rem; + border-bottom: 1px solid #e9ecef; +} + +.custom-footer .footer-links-wrapper { + display: flex; + flex-wrap: wrap; + gap: 2rem; + flex: 2 1 400px; +} + +.custom-footer .footer-column { + flex: 1 1 auto; +} + +.custom-footer .footer-brands { + flex: 1 1 320px; +} + +.custom-footer .footer-column h5 { + font-weight: 600; + color: #212529; + margin-bottom: 1.25rem; + font-size: 0.9rem; + text-transform: uppercase; + letter-spacing: 0.08em; +} + +.custom-footer .footer-column a { + display: flex; + align-items: center; + gap: 0.75rem; + margin-bottom: 0.75rem; + color: #6c757d; + text-decoration: none; + transition: color 0.2s ease; +} + +.custom-footer .footer-column a:hover { + color: #212529; + text-decoration: none; +} + +.custom-footer .footer-column a i { + font-size: 1.1rem; + line-height: 1; + width: 20px; + text-align: center; +} + +.custom-footer .footer-brands p { + font-size: 0.9rem; + line-height: 1.6; + margin-top: -0.5rem; + margin-bottom: 1.5rem; +} + +.custom-footer .footer-brands .logo-grid { + display: flex; + gap: 2rem; + align-items: center; +} + +.custom-footer .partner-logo { + flex: 1; +} + +.custom-footer .partner-logo img { + max-width: 100%; + height: 50px; + object-fit: contain; + transition: transform 0.2s ease; +} + +.custom-footer .partner-logo:hover img { + transform: scale(1.05); +} + +.custom-footer .brands-light-mode-logo { + display: inline; +} + +.custom-footer .brands-dark-mode-logo { + display: none; +} + +.custom-footer .footer-bottom { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 0.85rem; + flex-wrap: wrap; + gap: 1rem; +} + +.custom-footer .footer-bottom p { + margin: 0; + line-height: 1.6; +} + +.custom-footer .footer-bottom a { + color: #495057; + font-weight: 500; + text-decoration: none; + border-bottom: 1px solid #dee2e6; +} + +.custom-footer .footer-bottom a:hover { + border-bottom-color: #495057; +} + +.footer-source-link { + display: flex; + align-items: center; + gap: 0.5rem; +} + +@media (max-width: 992px) { + .custom-footer .footer-links-wrapper { + flex-basis: 100%; + justify-content: center; + } + + .custom-footer .footer-grid { + justify-content: center; + } + + .custom-footer .footer-brands { + flex-grow: 0; + text-align: center; + } + + .custom-footer .footer-brands .logo-grid { + justify-content: center; + } + + .custom-footer .footer-column { + flex-grow: 0; + } +} + +@media (max-width: 768px) { + .custom-footer .footer-bottom { + flex-direction: column; + gap: 1.5rem; + text-align: center; + } +} + +@media (max-width: 576px) { + .custom-footer .footer-links-wrapper { + flex-direction: column; + text-align: center; + align-items: center; + } + + .custom-footer .footer-column { + width: 100%; + max-width: 350px; + } + + .custom-footer .footer-column a { + justify-content: center; + } + + .custom-footer .footer-brands .logo-grid { + flex-direction: column; + gap: 1.5rem; + align-items: center; + } + + .custom-footer .partner-logo { + flex-basis: auto; + width: 100%; + max-width: 220px; + } +} \ No newline at end of file diff --git a/theming/theme-dark.scss b/theming/theme-dark.scss index a3fb0cd90..9bfd91a94 100644 --- a/theming/theme-dark.scss +++ b/theming/theme-dark.scss @@ -5,18 +5,18 @@ $theme: "cosmo" !default; // Manually-added colors - -$background-nav: #192222; -$background-body: #131818; -$foreground: #1bb3ac; -$links:#2aa198; +$background-nav: #22272e; +$background-body: #1c2128; +$foreground: #ffffff; +$links: #34b8bf; $links-hover: #31dce6; -$code-background-color: #172424; -$li: #bcbcbc; +$code-background-color: #22272e; +$li-color: #bcbcbc; +$text-muted: #bcbcbc; +$btn-border-color: #444c56; // Quarto default colors - -$white: #ffffff !default; +$white: #ffffff !default; $gray-100: #f8f9fa !default; $gray-200: #e9ecef !default; $gray-300: #dee2e6 !default; @@ -24,30 +24,30 @@ $gray-400: #ced4da !default; $gray-500: #adb5bd !default; $gray-600: #868e96 !default; $gray-700: #495057 !default; -$gray-800: #373a3c !default; -$gray-900: #212529 !default; -$black: #000000 !default; - -$indigo: #6610f2 !default; -$purple: #613d7c !default; -$pink: #e83e8c !default; -$red: #ff0039 !default; -$orange: #f0ad4e !default; -$yellow: #ff7518 !default; -$green: #3fb618 !default; -$teal: #20c997 !default; -$cyan: #9954bb !default; - -$primary: $links-hover !default; -$secondary: $gray-800 !default; -$success: $green !default; -$info: $cyan !default; -$warning: $yellow !default; -$danger: $red !default; -$light: $gray-100 !default; -$dark: $gray-800 !default; - -$min-contrast-ratio: 2.6 !default; +$gray-800: #22272e !default; +$gray-900: #1c2128 !default; +$black: #000000 !default; + +$indigo: #6610f2 !default; +$purple: #613d7c !default; +$pink: #e83e8c !default; +$red: #ff0039 !default; +$orange: #f0ad4e !default; +$yellow: #ff7518 !default; +$green: #3fb618 !default; +$teal: #4DB6AC !default; +$cyan: #39d3d7 !default; + +$primary: $links-hover !default; +$secondary: $gray-800 !default; +$success: $green !default; +$info: $cyan !default; +$warning: $yellow !default; +$danger: $red !default; +$light: $gray-100 !default; +$dark: $gray-800 !default; + +$min-contrast-ratio: 2.6 !default; // Options @@ -56,20 +56,20 @@ $enable-rounded: false !default; // Fonts // stylelint-disable-next-line value-keyword-case -$font-family-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default; -$headings-font-weight: 400 !default; +$font-family-sans-serif: "Source Sans Pro", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default; +$headings-font-weight: 400 !default; // Tables -$table-color: initial !default; +$table-color: initial !default; // Alerts -$alert-border-width: 0 !default; +$alert-border-width: 0 !default; // Progress bars -$progress-height: .5rem !default; +$progress-height: .5rem !default; // Custom tweaks for Quarto-Cosmo @@ -80,51 +80,83 @@ $footer-bg: $background-nav; $footer-fg: $foreground; $body-color: $white; $body-bg: $background-body; +$sidebar-bg: $background-body; +$sidebar-fg: $text-muted; + +/*-- scss:rules --*/ + +h1, h2, h3, h4, h5, h6 { + color: $foreground !important; +} + +.quarto-container { + background-color: $background-body !important; +} + +.navbar { + background-color: $navbar-bg !important; +} -a, pre code { +.sidebar { + background-color: $sidebar-bg !important; + color: $sidebar-fg !important; +} + +pre code { color: $links !important; } pre { color: $foreground !important; } -a:hover { - color: $links-hover !important; + +p { + color: $li-color !important; } -code, p code, ol code, li code, h1 code { - background-color: $code-background-color !important; +li { + color: $li-color !important; +} + +a { color: $links; + + &:hover { + color: $links-hover !important; + } } -.cell, .anchored code { +code, +p code, +ol code, +li code, +h1 code { background-color: $code-background-color !important; color: $links; } -div.sourceCode { +.cell, +.anchored code { background-color: $code-background-color !important; + color: $links; } -li { - color: $li !important; +div.sourceCode { + background-color: $code-background-color !important; } -.menu-text:hover { +.menu-text:hover { color: $links-hover !important; } -p { - color: $li !important; -} - .quarto-title-breadcrumbs .breadcrumb li:last-of-type a { color: #6c757d !important; } -.ansi-bright-black-fg{ +.ansi-bright-black-fg { color: $foreground !important; } + ::selection { color: $links-hover; background: $background-nav; @@ -135,3 +167,61 @@ p { --bs-tooltip-color: $black !important; --bs-tooltip-bg: $white !important; } + +.aa-DetachedOverlay li.aa-Item[aria-selected=true] .search-item * { + color: white !important; +} + +.aa-List li.aa-Item[aria-selected="true"] * { + background-color: #4DB6AC !important; +} + +// Custom Footer Dark Mode +.custom-footer { + background-color: $background-nav !important; + border-top-color: $btn-border-color !important; + color: $text-muted !important; +} + +.custom-footer .footer-grid { + border-bottom-color: $btn-border-color !important; +} + +.custom-footer .footer-column h5 { + color: $foreground !important; +} + +.custom-footer .footer-column a { + color: $text-muted !important; + &:hover { + color: $links-hover !important; + } +} + +.custom-footer .footer-bottom p { + color: $text-muted !important; +} + +.custom-footer .footer-bottom a { + color: $links !important; + border-bottom-color: $btn-border-color !important; + &:hover { + color: $links-hover !important; + border-bottom-color: $links-hover !important; + } +} + +.custom-footer .brands-light-mode-logo { + display: none !important; +} + +.custom-footer .brands-dark-mode-logo { + display: inline !important; +} + +.footer-source-link { + color: $text-muted !important; + &:hover { + color: $links-hover !important; + } +} \ No newline at end of file