TuringLang / docs

Documentation and tutorials for the Turing language
https://turinglang.org/docs/tutorials/docs-00-getting-started/
MIT License
225 stars 97 forks source link

Transfer all high level docs from Turing.jl #375

Closed yebai closed 12 months ago

yebai commented 1 year ago

This PR transfers all high-level (i.e. non-API or doc-string) documentation from Turing.jl. This allows us to unify most docs and tutorials workflow and pave the way to simplify build steps (we only need standard Jekyll eventually) in the turing.ml repo.

Steps

  1. Merge this PR
  2. Setup MultiDocumenter and migrate all remaining library doc files in Turing.jl (maybe a subfolder multidoc within the turing.ml repo: https://github.com/TuringLang/turing.ml/pull/41 preview)
  3. Simplify build scripts in turing.ml by removing all Documenter-specific scripts

TODO

yebai commented 1 year ago

@cgbotta I added default project files to all docs. The default environment only installs Turing and StatsPlots. This is likely insufficient for more complicated doc pages. Please feel free to add additional dependencies where needed.

cgbotta commented 1 year ago

When I try to weave the new tutorials using TuringTutorials.weave it only weaves the existing ones, but does not include the new ones we have added in this PR

I recall that there was one place where I needed to manually add new tutorials to the weave scripts, but this list seems to have been removed in @devmotion 's recent work. Am I overlooking something?

devmotion commented 1 year ago

When I try to weave the new tutorials using TuringTutorials.weave it only weaves the existing ones, but does not include the new ones we have added in this PR

I recall that there was one place where I needed to manually add new tutorials to the weave scripts, but this list seems to have been removed in @devmotion 's recent work. Am I overlooking something

I guess you might refer to the manual list in the CompatHelper github action? The whole action was removed and replaced with an action that updates all Manifest.toml files (run once every week), so you're right, you don't have to add new tutorials/docs to some list anymore. However, that list was only relevant for CI (or more specifically CompatHelper) and completely independent from the weave commands (and basically everything else in the repo).

There were no changes to the weave commands after your PR it seems.

Regarding the new jmd files in this PR, it seems in the previous PR the non-tutorial jmd file was put in the tutorials folder but with a docs- prefix. Should we also somehow make it clear (e.g. by using a prefix) that these new jmd files are distinct from the tutorials, even though they are in the tutorials folder? Or maybe it would be better to move non-tutorials to a separate folder (docs?)?

cgbotta commented 1 year ago

I spent a while fixing all the BuiltKite errors and generating the missing artifacts. There are just two that are behaving weirdly. Could either of you let me know if you are able to fix these ones? @yebai @devmotion

devmotion commented 12 months ago

I think this PR should not have been merged - I really think we should fix #394 before any other changes in this repo. Since it is not resolved all the docs and all the examples will be built and run with Julia 1.6 - but since Turing > 0.22 is not compatible with Julia 1.6 anymore, docs will be generated with a quite old version of Turing and in particular are not representative of the latest release (the versioning on the webpage has been misleading for a long time, even though the tutorials are listed as /v26/ they do not use Turing 0.26).

yebai commented 12 months ago

Merging this PR is an incremental step, but it doesn’t solve all problems. Next, we can make a concerted effort to upgrade all docs and tutorials to Julia 1.9.

yebai commented 12 months ago

Many thanks for the help, especially @cgbotta, who did most of the heavy work!