diff --git a/404.qmd b/404.qmd
index 6c761d3f1..55151369d 100644
--- a/404.qmd
+++ b/404.qmd
@@ -4,4 +4,6 @@ title: Page Not Found
The page you requested cannot be found (perhaps it was moved or renamed).
-You may want to visit [Get-Started Guide]({{< meta get-started >}}) or [Tutorials]({{< meta tutorials-intro >}}).
+You may want to return to the [home page](https://turinglang.org/).
+
+If you believe this is an error, please do report it by [opening an issue](https://github.com/TuringLang/turinglang.github.io/issues/new).
diff --git a/_quarto.yml b/_quarto.yml
index 9b1e17866..7843c9f9b 100644
--- a/_quarto.yml
+++ b/_quarto.yml
@@ -21,9 +21,9 @@ website:
foreground: "#ffffff"
left:
- text: Get Started
- href: https://turinglang.org/docs/tutorials/docs-00-getting-started/
+ href: https://turinglang.org/docs/getting-started/
- text: Tutorials
- href: https://turinglang.org/docs/tutorials/00-introduction/
+ href: https://turinglang.org/docs/tutorials/
- text: Libraries
href: library/
- text: News
@@ -36,7 +36,7 @@ website:
href: https://x.com/TuringLang
- icon: github
text: Turing GitHub
- href: https://github.com/TuringLang/Turing.jl
+ href: https://github.com/TuringLang
page-footer:
background: "#073c44"
@@ -83,5 +83,5 @@ format:
# Global Variables to use in any qmd files using:
# {{< meta site-url >}}
site-url: https://turinglang.org
-get-started: https://turinglang.org/docs/tutorials/docs-00-getting-started/
-tutorials-intro: https://turinglang.org/docs/tutorials/00-introduction/
+get-started: https://turinglang.org/docs/getting-started/
+tutorials-intro: https://turinglang.org/docs/tutorials/
diff --git a/assets/scripts/TuringNavbar.html b/assets/scripts/TuringNavbar.html
index 5021e7524..e79ca43dd 100644
--- a/assets/scripts/TuringNavbar.html
+++ b/assets/scripts/TuringNavbar.html
@@ -247,10 +247,10 @@
Turing.jl
- - Gaussion Processes
+ - Gaussian Processes
- AbstractGPs
diff --git a/library/index.qmd b/library/index.qmd
index 26bbaaa31..f5bf26d8b 100644
--- a/library/index.qmd
+++ b/library/index.qmd
@@ -1,61 +1,114 @@
---
title: "Turing Libraries"
-page-layout: full
+search: false
+toc: false
include-in-header:
- text: |
+listing:
+ - id: libraries-main
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: main
+ - id: libraries-modelling
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: modelling
+ - id: libraries-mcmc
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: mcmc
+ - id: libraries-vi
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: vi
+ - id: libraries-utilities
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: utilities
+ - id: libraries-diagnostics
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: diagnostics
+ - id: libraries-distributions
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: distributions
+ - id: libraries-infrastructure
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: infrastructure
+ - id: libraries-gps
+ template: table.ejs
+ contents: main.yml
+ field-required: [name, api, github, description, category]
+ include:
+ category: gps
---
-This page lists all the packages that are part of the [The Turing Organization](https://github.com/TuringLang).
+This page lists all the packages that are part of the [The Turing Organisation](https://github.com/TuringLang), and provides links to their respective API documentation pages and GitHub repositories.
-## Modelling Languages
-
-- [DynamicPPL.jl](https://turinglang.org/DynamicPPL.jl/): A domain-specific language and backend for probabilistic programming languages used by Turing.jl.
+If you are looking for tutorials and usage guides, please visit [this page](https://turinglang.org/docs/).
-- [JuliaBUGS.jl](https://turinglang.org/JuliaBUGS.jl/): JuliaBUGS is a graph-based probabilistic programming language and a component of the Turing ecosystem.
+## Turing.jl itself
-- [TuringGLM.jl](https://turinglang.org/TuringGLM.jl/): A Julia package for Bayesian generalised linear models used for returning an instantiated Turing model using the formula syntax
+::: {#libraries-main}
+:::
-## Markov chain Monte Carlo (MCMC)
+## Modelling Languages
-- [AdvancedHMC.jl](https://turinglang.org/AdvancedHMC.jl/): It provides a robust, modular, and efficient implementation of advanced Hamiltonian Monte Carlo (HMC) algorithms.
+::: {#libraries-modelling}
+:::
-- [AbstractMCMC.jl](https://turinglang.org/AbstractMCMC.jl/): Abstract types and interfaces for Markov chain Monte Carlo methods. This defines an interface for sampling and combining Markov chains.
+## Markov Chain Monte Carlo (MCMC)
-- [ThermodynamicIntegration.jl](https://github.com/theogf/ThermodynamicIntegration.jl): A simple package to compute Thermodynamic Integration for computing the evidence in a Bayesian setting.
+::: {#libraries-mcmc}
+:::
-- [AdvancedPS.jl](https://turinglang.org/AdvancedPS.jl/): This is a lightweight package that implements particle-based Monte Carlo algorithms for the [Turing](https://turinglang.org/) ecosystem.
+## Variational Inference
-- [SliceSampling.jl](https://turinglang.org/SliceSampling.jl): This package is a collection of slice sampling algorithms including the univariate slice samplers by [Neal (2003)](https://arxiv.org/abs/physics/0009028).
+::: {#libraries-vi}
+:::
-- [EllipticalSliceSampling.jl](https://turinglang.org/EllipticalSliceSampling.jl/): This package implements elliptical slice sampling in the Julia language, as described in [Murray, Adams & MacKay (2010)](http://proceedings.mlr.press/v9/murray10a/murray10a.pdf).
+## Utilities
-- [NestedSamplers.jl](https://turinglang.org/NestedSamplers.jl/): A Julian implementation of single- and multi-ellipsoidal nested sampling algorithms using the [AbstractMCMC](https://github.com/turinglang/abstractmcmc.jl) interface.
+::: {#libraries-utilities}
+:::
## Diagnostics
-- [MCMCChains.jl](https://turinglang.org/MCMCChains.jl/): Implementation of Julia types for summarising MCMC simulations and utility functions for [diagnostics](https://turinglang.org/MCMCChains.jl/stable/diagnostics/#Diagnostics) and [visualisations](https://turinglang.org/MCMCChains.jl/stable/statsplots/#StatsPlots.jl).
-
-- [MCMCDiagnosticTools.jl](https://turinglang.org/MCMCDiagnosticTools.jl/): This package provides functionality for diagnosing samples generated using Markov Chain Monte Carlo.
+::: {#libraries-diagnostics}
+:::
-- [ParetoSmooth.jl](https://turinglang.org/ParetoSmooth.jl/): An implementation of Pareto smoothed importance sampling(PSIS) algorithms in Julia.
+## Distributions
-## Bijectors.jl
+::: {#libraries-distributions}
+:::
-- [Bijectors.jl](https://turinglang.org/Bijectors.jl/): A package for transforming distributions, used by [Turing.jl](https://github.com/TuringLang/Turing.jl).
+## Infrastructure
-## TuringCallbacks.jl
-
-- [TuringCallbacks.jl](https://turinglang.org/TuringCallbacks.jl/): A package containing some convenient callbacks to use when you sample in [`Turing.jl`](https://app.codecov.io/gh/TuringLang/Turing.jl).
-
-## TuringBenchmarking.jl
-
-- [TuringBenchmarking.jl](https://turinglang.org/TuringBenchmarking.jl/): A package for benchmarking and checking [`Turing.jl`](https://github.com/TuringLang/Turing.jl) models.
+::: {#libraries-infrastructure}
+:::
## Gaussian Processes
-- [AbstractGPs.jl](https://juliagaussianprocesses.github.io/AbstractGPs.jl): AbstractGPs.jl is a package that defines a low-level API for working with Gaussian processes (GPs), and basic functionality for working with them in the simplest cases.
-
-- [KernelFunctions.jl](https://juliagaussianprocesses.github.io/KernelFunctions.jl): Julia package for kernel functions for machine learning.
+The following packages come under the umbrella of the [JuliaGaussianProcesses organisation](https://github.com/JuliaGaussianProcesses).
-- [ApproximateGPs.jl](https://juliagaussianprocesses.github.io/ApproximateGPs.jl): This is a package that provides some approximate inference algorithms for Gaussian process models, built on top of [AbstractGPs.jl](https://github.com/JuliaGaussianProcesses/AbstractGPs.jl).
+::: {#libraries-gps}
+:::
diff --git a/library/main.yml b/library/main.yml
new file mode 100644
index 000000000..5af4ecd8e
--- /dev/null
+++ b/library/main.yml
@@ -0,0 +1,153 @@
+- name: Turing
+ api: https://turinglang.org/Turing.jl/
+ github: https://github.com/TuringLang/Turing.jl
+ description: "The main entry point to the Turing ecosystem"
+ category: main
+
+- name: DynamicPPL
+ api: https://turinglang.org/DynamicPPL.jl/
+ github: https://github.com/TuringLang/DynamicPPL.jl
+ description: "Domain-specific language and backend for probabilistic programming; contains the core functionality of Turing.jl"
+ category: modelling
+- name: JuliaBUGS
+ api: https://turinglang.org/JuliaBUGS.jl/
+ github: https://github.com/TuringLang/JuliaBUGS.jl
+ description: "A graph-based probabilistic programming language"
+ category: modelling
+- name: TuringGLM
+ api: https://turinglang.org/TuringGLM.jl/
+ github: https://github.com/TuringLang/TuringGLM.jl
+ description: "Bayesian generalised linear models used for returning an instantiated Turing model using the formula syntax"
+ category: modelling
+- name: AbstractPPL
+ api: https://turinglang.org/AbstractPPL.jl/
+ github: https://github.com/TuringLang/AbstractPPL.jl
+ description: "An abstract interface for probabilistic programming languages"
+ category: modelling
+
+- name: AbstractMCMC
+ api: https://turinglang.org/AbstractMCMC.jl/
+ github: https://github.com/TuringLang/AbstractMCMC.jl
+ description: "Abstract types and interfaces for Markov chain Monte Carlo methods, featuring progress bars, parallel sampling, and user-defined callbacks"
+ category: mcmc
+- name: AdvancedHMC
+ api: https://turinglang.org/AdvancedHMC.jl/
+ github: https://github.com/TuringLang/AdvancedHMC.jl
+ description: "A robust, modular, and efficient implementation of advanced Hamiltonian Monte Carlo algorithms"
+ category: mcmc
+- name: AdvancedMH
+ api: https://turinglang.org/AdvancedMH.jl/
+ github: https://github.com/TuringLang/AdvancedMH.jl
+ description: "Random walk and adaptive Metropolis–Hastings algorithms"
+ category: mcmc
+- name: AdvancedPS
+ api: https://turinglang.org/AdvancedPS.jl/
+ github: https://github.com/TuringLang/AdvancedPS.jl
+ description: "Lightweight implementation of particle-based Monte Carlo algorithms"
+ category: mcmc
+- name: SliceSampling
+ api: https://turinglang.org/SliceSampling.jl/
+ github: https://github.com/TuringLang/SliceSampling.jl
+ description: "Univariate and multivariate slice sampling algorithms"
+ category: mcmc
+- name: EllipticalSliceSampling
+ api: https://turinglang.org/EllipticalSliceSampling.jl/
+ github: https://github.com/TuringLang/EllipticalSliceSampling.jl
+ description: "Elliptical slice sampling for inference in models with multivariate Gaussian priors"
+ category: mcmc
+- name: NestedSamplers
+ api: https://turinglang.org/NestedSamplers.jl/
+ github: https://github.com/TuringLang/NestedSamplers.jl
+ description: "Single- and multi-ellipsoidal nested sampling algorithms"
+ category: mcmc
+- name: ThermodynamicIntegration
+ api: https://theogf.github.io/ThermodynamicIntegration.jl/
+ github: https://github.com/theogf/ThermodynamicIntegration.jl
+ description: "Computing Bayesian evidence using thermodynamic integration"
+ category: mcmc
+
+- name: AdvancedVI
+ api: https://turinglang.org/AdvancedVI.jl/
+ github: https://github.com/TuringLang/AdvancedVI.jl
+ description: "Variational inference algorithms for Bayesian models"
+ category: vi
+- name: NormalizingFlows
+ api: https://turinglang.org/NormalizingFlows.jl/
+ github: https://github.com/TuringLang/NormalizingFlows.jl
+ description: "Variational inference and normalizing flows for Bayesian computation"
+ category: vi
+
+- name: TuringCallbacks
+ api: https://turinglang.org/TuringCallbacks.jl/
+ github: https://github.com/TuringLang/TuringCallbacks.jl
+ description: "Convenient callbacks for sampling in Turing.jl"
+ category: utilities
+- name: TuringBenchmarking
+ api: https://turinglang.org/TuringBenchmarking.jl/
+ github: https://github.com/TuringLang/TuringBenchmarking.jl
+ description: "Tools to benchmark and check Turing models"
+ category: utilities
+
+- name: MCMCChains
+ api: https://turinglang.org/MCMCChains.jl/
+ github: https://github.com/TuringLang/MCMCChains.jl
+ description: "Implementation of the Chains type returned by Turing sampling, with functions for diagnostics and visualisations"
+ category: diagnostics
+- name: MCMCDiagnosticTools
+ api: https://turinglang.org/MCMCDiagnosticTools.jl/
+ github: https://github.com/TuringLang/MCMCDiagnosticTools.jl
+ description: "Extra functionality for diagnosing samples generated with MCMC methods"
+ category: diagnostics
+- name: ParetoSmooth
+ api: https://turinglang.org/ParetoSmooth.jl/
+ github: https://github.com/TuringLang/ParetoSmooth.jl
+ description: "Leave-one-out cross-validation for fitted Bayesian models using Pareto smoothed importance sampling"
+ category: diagnostics
+
+- name: Bijectors
+ api: https://turinglang.org/Bijectors.jl/
+ github: https://github.com/TuringLang/Bijectors.jl
+ description: "Transformations for distributions"
+ category: distributions
+- name: DistributionsAD
+ api: https://turinglang.org/DistributionsAD.jl/
+ github: https://github.com/TuringLang/DistributionsAD.jl
+ description: "Automatic differentiation for calculating the log probability densities of distributions"
+ category: distributions
+
+- name: turinglang.github.io
+ api: ""
+ github: https://github.com/TuringLang/turinglang.github.io
+ description: "The code for this website itself"
+ category: infrastructure
+- name: docs
+ api: ""
+ github: https://github.com/TuringLang/docs
+ description: "The tutorials and usage guides; any page whose URL begins with https://turinglang.org/docs is built here"
+ category: infrastructure
+- name: actions
+ api: ""
+ github: https://github.com/TuringLang/actions
+ description: "Shared GitHub Actions for the TuringLang organisation"
+ category: infrastructure
+
+- name: AbstractGPs
+ api: https://juliagaussianprocesses.github.io/AbstractGPs.jl
+ github: https://github.com/JuliaGaussianProcesses/AbstractGPs.jl
+ description: "Low-level API and basic functionality for working with Gaussian processes"
+ category: gps
+- name: KernelFunctions
+ api: https://juliagaussianprocesses.github.io/KernelFunctions.jl
+ github: https://github.com/JuliaGaussianProcesses/KernelFunctions.jl
+ description: "Kernel functions for machine learning"
+ category: gps
+- name: ApproximateGPs
+ api: https://juliagaussianprocesses.github.io/ApproximateGPs.jl
+ github: https://github.com/JuliaGaussianProcesses/ApproximateGPs.jl
+ description: "Approximate inference algorithms for Gaussian process models"
+ category: gps
+- name: GPLikelihoods
+ api: https://juliagaussianprocesses.github.io/GPLikelihoods.jl
+ github: https://github.com/JuliaGaussianProcesses/GPLikelihoods.jl
+ description: "Likelihoods used as building blocks in non-Gaussian problems"
+ category: gps
diff --git a/library/table.ejs b/library/table.ejs
new file mode 100644
index 000000000..8fd036bfd
--- /dev/null
+++ b/library/table.ejs
@@ -0,0 +1,14 @@
+
+
+<% for (const item of items) { %>
+
+<%- item.name %> |
+<% if (item.api !== "") { %>
+API |
+<% } %>
+GitHub |
+<%- item.description %> |
+
+<% } %>
+
+
diff --git a/team/index.qmd b/team/index.qmd
index 70db2e629..50776237c 100644
--- a/team/index.qmd
+++ b/team/index.qmd
@@ -18,4 +18,4 @@ listing:
::: {#team-data}
-:::
\ No newline at end of file
+:::