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