-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New landing page design #105
Open
simonsteiger
wants to merge
19
commits into
TuringLang:main
Choose a base branch
from
simonsteiger:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
93aa82a
first part of new landing page (#1)
simonsteiger 9970ad6
Add code examples (#2)
simonsteiger 03776e3
Add news (#3)
simonsteiger ff8304a
better alignment
simonsteiger 322fca7
add resources / "learn more" section
simonsteiger a8459b9
Improved colours (#4)
simonsteiger 06306ce
better navbar text contrast
simonsteiger 296cf71
Add SVG header (#5)
simonsteiger cce5870
fix "learn more" hover text-deco
simonsteiger 5878ae3
style team page for dark mode
simonsteiger 4436c0f
more relevant links at top of page
simonsteiger c834f82
mirror gaussians and title
simonsteiger fc3e949
add css for code in dark mode
simonsteiger 66ad801
shorten footer for better fit on mobile
simonsteiger 33ee9d6
underline links in footer
simonsteiger e43c362
responsive header size
simonsteiger d1c36d6
content placeholders on landing page
simonsteiger b4f8801
Apply suggestions from code review
simonsteiger f4b5888
fix "logo" display by removing h1
simonsteiger File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,55 +1,225 @@ | ||
--- | ||
# pagetitle: "Turing" | ||
toc: false | ||
page-layout: custom | ||
page-layout: full | ||
section-divs: false | ||
hide-description: true | ||
listing: | ||
- id: news | ||
contents: | ||
- "news/posts/*/index.qmd" | ||
sort: date desc | ||
type: grid | ||
grid-columns: 3 | ||
categories: false | ||
sort-ui: false | ||
filter-ui: false | ||
fields: [title, description, date] | ||
max-items: 3 | ||
image-height: "200" | ||
description: | | ||
Turing.jl is a probabilistic programming language and Bayesian modelling framework for the Julia programming language. | ||
--- | ||
|
||
::: {.hero-banner} | ||
::: {.grid} | ||
::: {.g-col-1} | ||
::: | ||
::: {.g-col-8} | ||
```{=html} | ||
<div class="line-graph"> | ||
<div class="upper-content"> | ||
<div class="responsive-heading">Turing.jl</div> | ||
</div> | ||
<div> | ||
<svg viewBox="0 0 2300 498" xmlns="http://www.w3.org/2000/svg"> | ||
<path class="line line1" | ||
d="M0 487 C1155.53 487 1320.502 502.995 1391.761 461.5C1453.584 425.5 1467.657 399 1509.375 344.5C1551.093 290 1586.276 213 1645.586 213C1704.895 213 1776.77 350.5 1806.425 389C1875.39 478.535 1871.263 486.5 2300 487"/> | ||
<path class="line line2" | ||
d="M0 486.5 C223.96 486.5 883.72 484.016 977.94 484.016C1163.36 484.016 1183.85 461.682 1249.81 287.031C1283.73 197.222 1311.724 96 1349.948 96C1388.171 96 1418.291 219.36 1447.552 292.5C1536.356 514.469 1548.077 486 1734.55 486C1921.023 486 2087.346 485.5 2300 485.5"/> | ||
<path class="line line3" | ||
d="M0 487 C108.32 487 672.77 486.499 783.26 486.499C893.75 486.499 943.04 486.499 1051.36 486.499C1135.3 486.499 1218.74 489.327 1241.95 469.982C1293.57 426.95 1311.015 327.407 1328.845 262.111C1356 162.661 1377.725 8 1409.818 8C1441.911 8 1472.715 193.386 1490.888 262.111C1509.06 330.837 1526.835 423.687 1568.803 460.973C1600.671 489.286 1631.508 486.499 1722.851 486.499C1816.509 486.499 1890.44 486.499 1991.446 486.499C2092.453 486.499 2198.993 486.499 2300 486.499"/> | ||
</svg> | ||
</div> | ||
</div> | ||
``` | ||
|
||
# Turing.jl: Bayesian inference with probabilistic programming. | ||
```{=html} | ||
<span class="display-6 d-block text-center py-5 display-md-5 display-lg-4"> | ||
Bayesian inference with probabilistic programming | ||
</span> | ||
<div class="d-flex flex-column align-items-center gap-0 pb-5"> | ||
<div class="d-flex flex-row flex-wrap panel-wrapper gap-2"> | ||
<a href="https://turinglang.org/docs/tutorials/docs-00-getting-started/" class="button--fill btn"> | ||
Tutorials | ||
</a> | ||
<a href="https://julialang.slack.com/archives/CCYDC34A0" class="button btn"> | ||
Slack | ||
</a> | ||
<a href="https://discourse.julialang.org/c/domain/probprog/48" class="button btn"> | ||
Discourse | ||
</a> | ||
<a href="https://github.com/TuringLang" class="button btn"> | ||
GitHub | ||
</a> | ||
</div> | ||
</div> | ||
``` | ||
|
||
### Intuitive | ||
Turing models are easy to write and communicate — syntax is close to mathematical notations. | ||
```{=html} | ||
<div class="d-flex flex-row flex-wrap panel-wrapper gap-4 section-end-space"> | ||
<div class="panel"> | ||
<div class="panel-title pb-1"> | ||
Expressive | ||
</div> | ||
Turing models are easy to write and communicate — their syntax closely resembles mathematical notation. | ||
</div> | ||
<div class="panel"> | ||
<div class="panel-title pb-1"> | ||
General-purpose | ||
</div> | ||
Turing supports models with discrete parameters and stochastic control flow. | ||
</div> | ||
<div class="panel"> | ||
<div class="panel-title pb-1"> | ||
Composable | ||
</div> | ||
Turing is written entirely in Julia, and is interoperable with its powerful ecosystem. | ||
</div> | ||
</div> | ||
``` | ||
|
||
### General-purpose | ||
Turing supports models with discrete parameters and stochastic control flow. | ||
<div class="d-flex flex-row flex-wrap panel-wrapper gap-3 pb-2"> | ||
<div class="example-text" style="text-align:right;padding:0.5rem;"> | ||
<div class="fs-4 fw-bold pb-1"> | ||
Hello, World in Turing | ||
</div> | ||
Some text about how easy it is to [get going](https://turinglang.org/docs/tutorials/00-introduction/). | ||
</div> | ||
<div class="example-code"> | ||
```julia | ||
@model function coinflip(; N::Int) | ||
# Prior belief about the probability of heads | ||
p ~ Beta(1, 1) | ||
|
||
### Modular and composable | ||
Turing is modular, written entirely in Julia, and is interoperable with the powerful Julia ecosystem. | ||
# Heads or tails of a coin are drawn from `N` | ||
# Bernoulli distributions with success rate `p` | ||
y ~ filldist(Bernoulli(p), N) | ||
|
||
end; | ||
``` | ||
</div> | ||
</div> | ||
<div class="d-flex flex-row-reverse flex-wrap panel-wrapper gap-3 pt-2 section-end-space"> | ||
<div class="example-text" style="padding:0.5rem;"> | ||
<div class="fs-4 fw-bold pb-1"> | ||
Goodbye, World in Turing | ||
</div> | ||
Some text about how easy it is to interface with external packages like AbstractGPs. Learn more about modelling [Gaussian Processes](https://turinglang.org/docs/tutorials/15-gaussian-processes/) with Turing.jl. | ||
</div> | ||
<div class="example-code"> | ||
```julia | ||
@model function putting_model(d, n; jitter=1e-4) | ||
v ~ Gamma(2, 1) | ||
l ~ Gamma(4, 1) | ||
f = GP(v * with_lengthscale(SEKernel(), l)) | ||
f_latent ~ f(d, jitter) | ||
binomials = Binomial.(n, logistic.(f_latent)) | ||
y ~ product_distribution(binomials) | ||
return (fx=f(d, jitter), f_latent=f_latent, y=y) | ||
end | ||
``` | ||
</div> | ||
</div> | ||
|
||
::: {.hero-buttons style="position: relative; display: flex; justify-content: center;"} | ||
[Get Started]({{< meta get-started >}}){.btn-action-primary .btn-action .btn .btn-lg role="button" style="background-color: #073c44; color: white"} | ||
::: | ||
```{=html} | ||
<h3 class="pb-3"> | ||
News | ||
</h3> | ||
``` | ||
::: {#news} | ||
|
||
::: {.g-col-3} | ||
::: | ||
::: | ||
::: | ||
|
||
::: | ||
[See all news →](news/) | ||
|
||
::: {style="position: relative; display: flex; justify-content: center;"} | ||
::: {.grid} | ||
::: {.g-col-1} | ||
::: | ||
::: {.g-col-8} | ||
## Community Resources | ||
```{=html} | ||
<h3 class="pb-3 section-start-space"> | ||
Learn more | ||
</h3> | ||
<div class="list grid quarto-listing-cols-3"> | ||
<a class="pseudolisting" href="/library"> | ||
<div class="card-title h5"> | ||
Ecosystem | ||
</div> | ||
<p class="quarto-grid-item"> | ||
Learn about all the packages that are part of the TuringLang organization. | ||
</p> | ||
</a> | ||
<a class="pseudolisting" href="https://turinglang.org/docs/tutorials/docs-00-getting-started/"> | ||
<div class="card-title h5"> | ||
Documentation | ||
</div> | ||
<p class="quarto-grid-item"> | ||
Familiarize yourself with the mechanics of Turing.jl. | ||
</p> | ||
</a> | ||
<a class="pseudolisting" href="https://turinglang.org/docs/tutorials/00-introduction/"> | ||
<div class="card-title h5"> | ||
Official tutorials | ||
</div> | ||
<p class="quarto-grid-item"> | ||
Learn to tackle specific modelling problems with Turing.jl. | ||
</p> | ||
</a> | ||
</div> | ||
``` | ||
|
||
The Turing.jl [discourse forum](https://discourse.julialang.org/c/domain/probprog) provides support and discussion for all user levels. | ||
The [Turing.jl documentation]({{< meta get-started >}}) and [official tutorials]({{< meta tutorials-intro >}}) help users learn and use Turing.jl! | ||
There's also a [tutorial in Bayesian Statistics using Julia and Turing.jl](https://storopoli.io/Bayesian-Julia). | ||
::: {.section-start-space} | ||
|
||
### Algorithms | ||
|
||
Placeholder text introducing this section on algorithms. | ||
|
||
| Column 1 | Column 2 | Column 3 | Column 4 | | ||
|----------|----------|----------|----------| | ||
| Entry A | Entry D | Entry G | Entry J | | ||
| Entry B | Entry E | Entry H | Entry K | | ||
| Entry C | Entry F | Entry I | Entry L | | ||
|
||
: Supported MCMC and other learning algorithms {.striped .borderless} | ||
|
||
::: | ||
::: {.g-col-3} | ||
::: | ||
::: | ||
|
||
::: {.section-start-space} | ||
|
||
### Bayesian Workflow | ||
|
||
Placeholder text introducing the Bayesian Workflow diagram from the ACM special issue submission. | ||
|
||
```{=html} | ||
<div style="text-align:center;"> | ||
<img src="https://i0.wp.com/www.honeybeesuite.com/wp-content/uploads/2019/09/Multiple-teeth-HBS.jpg?w=400&ssl=1" style="margin:0.5rem 0;border-radius:10pt"> | ||
<p>An example of the Beeysian workflow.</p> | ||
</div> | ||
``` | ||
|
||
::: | ||
|
||
```{=html} | ||
<div class="d-flex flex-row panel-wrapper gap-3 section-start-space"> | ||
<div class="flex-grow-1"> | ||
<h3>Talks</h3> | ||
<p>Placeholder for intro text on list of talks which are available online</p> | ||
<ul> | ||
<li>Talk 1 | ||
<li>Talk 2 | ||
<li>Talk 3 | ||
</ul> | ||
</div> | ||
<div class="flex-grow-1"> | ||
<h3>Other resources</h3> | ||
<p>This list contains a few other written resources for learning Turing. If you have written something and would like to share it with the community, please <a href="https://github.com/TuringLang/docs/issues/new">get in touch</a>!</p> | ||
<ul> | ||
<li><a href="https://github.com/StatisticalRethinkingJulia/SR2TuringPluto.jl">Statistical Rethinking</a> | ||
<li><a href="https://storopoli.github.io/Turing-Workshop/">Jose Storopoli's Turing workshop (outdated in parts)</a> | ||
<li><a href="https://storopoli.github.io/Bayesian-Julia/">Jose Storopoli's blog on Turing and Bayesian Statistics</a> | ||
<li>Placeholder for more... | ||
</ul> | ||
</div> | ||
</div> | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
/*-- scss:defaults --*/ | ||
// Cosmo 5.3.3 | ||
// Bootswatch | ||
|
||
$theme: "cosmo" !default; | ||
@import "variables/grays"; | ||
@import "variables/colorsdark"; | ||
@import "variables/borders"; | ||
@import "variables/spacers"; | ||
|
||
/*-- scss:rules --*/ | ||
|
||
@import "rules/mixins"; | ||
|
||
@import "rules/layouts"; // custom spacing and layout elements | ||
@import "rules/hoverables-dark"; // hover styling of buttons, listings | ||
@import "rules/navbar"; | ||
@import "rules/quarto-tweaks"; // style modifications of (mostly) quarto classes | ||
@import "rules/svg"; // svg on landing page | ||
@import "rules/team-dark"; // dark mode for team page | ||
|
||
@import "old/old-styles"; // copy of old css style sheet | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
/*-- scss:defaults --*/ | ||
|
||
@import "variables/grays"; | ||
@import "variables/colorslight"; | ||
@import "variables/borders"; | ||
@import "variables/spacers"; | ||
|
||
/*-- scss:rules --*/ | ||
|
||
@import "rules/mixins"; | ||
|
||
@import "rules/layouts"; // custom spacing and layout elements | ||
@import "rules/hoverables-light"; // hover styling of buttons, listings | ||
@import "rules/navbar"; | ||
@import "rules/quarto-tweaks"; // style modifications of (mostly) quarto classes | ||
@import "rules/svg"; // svg on landing page | ||
|
||
@import "old/old-styles"; // copy of old css style sheet | ||
|
||
// |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If I'm being totally honest, I'd be inclined to remove this example, and just have the link to the GPs page. Having the code here, and not making it something which gets run every time that the docs are built, is just asking for it to become outdated at some point.
In terms of the text, I'd really just say something along the lines of
anything which behaves like a Distributions.jl distribution plays nicely with Turing.jl, e.g. [Gaussian processes](https://turinglang.org/docs/tutorials/15-gaussian-processes/)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That makes sense. We could just add the text as a new paragraph under "Hello, World in Turing" and use the space that the GP example took up for something else – maybe presenting the samplers? I recall that the old turing.ml website had something similar.