Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions _includes/footer.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
<!-- Shared EpiAware footer. Single source of truth; rendered on the ecosystem
site and the separate tutorials site (via submodule). -->
<footer class="footer mt-auto py-4" style="border-top: 1px solid var(--bs-border-color); margin-top: 3rem; background: var(--bs-body-bg);">
<div class="container">
<div class="row align-items-center">
<div class="col-md-6 text-center text-md-start">
<span class="text-muted">EpiAware — a composable Julia ecosystem for infectious disease modelling.</span>
</div>
<div class="col-md-6">
<ul class="nav justify-content-center justify-content-md-end">
<li class="nav-item"><a class="nav-link" href="https://epiaware.org/packages/index.html">Packages</a></li>
<li class="nav-item"><a class="nav-link" href="https://epiaware.org/get-involved.html">Get involved</a></li>
<li class="nav-item"><a class="nav-link" href="https://epiaware.org/funding.html">Funding</a></li>
<li class="nav-item">
<a class="nav-link px-2" href="https://community.epinowcast.org/"
aria-label="epinowcast community forum"><i class="bi bi-discord"></i></a>
</li>
<li class="nav-item">
<a class="nav-link px-2" href="https://github.com/EpiAware"
aria-label="EpiAware on GitHub"><i class="bi bi-github"></i></a>
</li>
</ul>
</div>
</div>
</div>
</footer>
129 changes: 129 additions & 0 deletions _includes/navbar.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
<!-- Shared EpiAware navbar. Single source of truth for the ecosystem site
chrome; the separate tutorials site renders this same partial via a
submodule so the bar is never duplicated. -->
<nav class="navbar navbar-expand-lg navbar-dark bg-dark" style="position: sticky; top: 0; z-index: 1030;">
<div class="container-fluid">
<a class="navbar-brand d-flex align-items-center" href="https://epiaware.org">
<img src="/assets/img/logo.svg" alt="EpiAware" width="28" height="28" class="me-2">
EpiAware
</a>
<!-- Quarto's search JS (site_libs/quarto-search/quarto-search.js)
hydrates any element with id="quarto-search" by id lookup, so this
hand-placed div works the same as Quarto's own navbar-generated
markup. Each site emits its own site_libs/quarto-search assets and
search.json (from website.search: true in its own _quarto.yml), so
this is deliberately per-site: the box searches whichever site it
is rendered on. -->
<div id="quarto-search" class="" title="Search"></div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse"
data-bs-target="#epi-nav" aria-controls="epi-nav"
aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="epi-nav">
<ul class="navbar-nav me-auto">
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown" aria-expanded="false">Approaches</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="https://epiaware.org/approaches/index.html">Overview</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/approaches/composed-distributions.html">Composed distributions</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/approaches/composable-turing-models.html">Composable Turing models</a></li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="https://epiaware.org/packages/index.html">Packages</a>
</li>
<li class="nav-item" data-epi-active="tutorials">
<a class="nav-link" href="https://tutorials.epiaware.org">Tutorials</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://epiaware.org/news/index.html">News</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://epiaware.org/gallery.html">Gallery</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown" aria-expanded="false">Guides</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="https://epiaware.org/resources.html">Resources</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/using-julia.html">Using Julia</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/faq.html">FAQ</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/contributing.html">Contributing</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/developer.html">Developer docs</a></li>
</ul>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" role="button"
data-bs-toggle="dropdown" aria-expanded="false">Community</a>
<ul class="dropdown-menu">
<li><a class="dropdown-item" href="https://epiaware.org/get-involved.html">Get involved</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/team.html">Team</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/funding.html">Funding</a></li>
<li><a class="dropdown-item" href="https://epiaware.org/community.html">epinowcast &amp; the forum</a></li>
</ul>
</li>
</ul>
<ul class="navbar-nav d-flex flex-row">
<li class="nav-item me-2">
<a class="nav-link" href="https://community.epinowcast.org/"
aria-label="epinowcast community forum">
<i class="bi bi-discord"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="https://github.com/EpiAware"
aria-label="EpiAware on GitHub">
<i class="bi bi-github"></i>
</a>
</li>
</ul>
</div>
</div>
</nav>
<script>
// Mark the active section. The shared bar is rendered on both the ecosystem
// site and the tutorials site.
(function () {
var host = location.host;
var mark = function (sel) {
document.querySelectorAll(sel).forEach(function (a) { a.classList.add("active"); });
};

if (/tutorials\./.test(host)) {
// On the tutorials host every page is "Tutorials", so just light up
// that top-level link rather than trying to path-match into a
// different site's URL structure.
mark('#epi-nav [data-epi-active="tutorials"] .nav-link');
return;
}

// On the main site, match the current page against each nav link's own
// href (all absolute epiaware.org URLs, so this works at any render
// depth) and mark it — and its dropdown parent, if any — active.
var normalize = function (path) {
return path.replace(/index\.html$/, "").replace(/\/$/, "") || "/";
};
var here = normalize(location.pathname);
document.querySelectorAll("#epi-nav .nav-link[href]").forEach(function (a) {
var url;
try {
url = new URL(a.getAttribute("href"), location.href);
} catch (e) {
return;
}
if (url.host !== "epiaware.org" || normalize(url.pathname) !== here) {
return;
}
a.classList.add("active");
var dropdown = a.closest(".dropdown-menu");
if (dropdown) {
var toggle = dropdown.previousElementSibling;
if (toggle && toggle.classList.contains("dropdown-toggle")) {
toggle.classList.add("active");
}
}
});
})();
</script>
87 changes: 18 additions & 69 deletions _quarto.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,75 +11,22 @@ website:
favicon: assets/img/logo.svg
open-graph: true
twitter-card: true
navbar:
logo: assets/img/logo.svg
logo-alt: "EpiAware"
title: "EpiAware"
search: true
left:
- text: Approaches
menu:
- text: Overview
href: approaches/index.qmd
- text: Composed distributions
href: approaches/composed-distributions.qmd
- text: Composable Turing models
href: approaches/composable-turing-models.qmd
- text: Tutorials
href: tutorials/index.qmd
- text: Docs
href: packages/index.qmd
- text: News
href: news/index.qmd
- text: Gallery
href: gallery.qmd
- text: Guides
menu:
- text: Resources
href: resources.qmd
- text: Using Julia
href: using-julia.qmd
- text: FAQ
href: faq.qmd
- text: Contributing
href: contributing.qmd
- text: Developer docs
href: developer.qmd
- text: Community
menu:
- text: Get involved
href: get-involved.qmd
- text: Team
href: team.qmd
- text: Funding
href: funding.qmd
- text: epinowcast & the forum
href: community.qmd
right:
- icon: discourse
href: https://community.epinowcast.org/
aria-label: epinowcast community forum
- icon: github
href: https://github.com/EpiAware
aria-label: EpiAware on GitHub
page-footer:
border: true
left: |
EpiAware — a composable Julia ecosystem for infectious disease modelling.
center:
- text: Packages
href: packages/index.qmd
- text: Get involved
href: get-involved.qmd
- text: Funding
href: funding.qmd
right:
- icon: discourse
href: https://community.epinowcast.org/
aria-label: epinowcast community forum
- icon: github
href: https://github.com/EpiAware
aria-label: GitHub
# Navbar and footer are not configured here: the shared partials in
# _includes/navbar.html and _includes/footer.html are the single source
# of truth for the ecosystem chrome, injected below via
# format.html.include-before-body / include-after-body. The tutorials
# site renders the same partials via a git submodule, so both sites
# share one navbar and footer definition.
#
# `search: true` here is still required even with no navbar/sidebar
# config: it is what makes Quarto emit search.json and the
# site_libs/quarto-search/* assets and JS. The shared navbar partial
# then supplies its own `<div id="quarto-search">` markup, which
# quarto-search.js hydrates by id regardless of where it lives in the
# DOM. Each site sets this independently, so search stays per-site:
# this site searches epiaware.org content, the tutorials site (once it
# sets the same flag) searches its own content.
search: true

format:
html:
Expand All @@ -96,3 +43,5 @@ format:
grid:
sidebar-width: 250px
body-width: 940px
include-before-body: [_includes/navbar.html]
include-after-body: [_includes/footer.html]
11 changes: 11 additions & 0 deletions team.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ is credited in that package's repository.
Maintainer · [LSHTM](https://www.lshtm.ac.uk/aboutus/people/abbott.sam)
:::
:::

::: {.team-card}
[![](https://github.com/sbfnk.png?size=200){fig-alt="Sebastian Funk"}](https://github.com/sbfnk)

::: {.name}
[Sebastian Funk](https://github.com/sbfnk)
:::
::: {.role}
Maintainer · [LSHTM](https://www.lshtm.ac.uk/aboutus/people/funk.sebastian)
:::
:::
:::

## Contributors
Expand Down
Loading