diff --git a/data/tutorials/getting-started/01_tour.md b/data/tutorials/getting-started/01_tour.md index 42c9caf404..4a33659941 100644 --- a/data/tutorials/getting-started/01_tour.md +++ b/data/tutorials/getting-started/01_tour.md @@ -3,12 +3,12 @@ id: a-tour-of-ocaml title: A Tour of OCaml description: > Hop on the OCaml sightseeing bus. This absolute beginner tutorial will drive you through the marvels and wonders of OCaml. You'll have a sneak peek at everything that matters. Money back if you don't see OCaml's big five game. -category: "getting started" +category: "Getting Started" --- ## Sightseeing the Language -Before proceeding with this tutorial, please ensure you've installed OCaml and set up the environment, as described in the “Installing OCaml” tutorial. After we take an introductory tour of OCaml's language features, we'll proceed to create our first OCaml project in the [Your First OCaml Project](link-to-first-project) tutorial. +Before proceeding with this tutorial, please ensure you've installed OCaml and set up the environment, as described in the [Installing OCaml](/docs/up-and-running) tutorial. After we take an introductory tour of OCaml's language features, we'll proceed to create our first OCaml project in the [How to Write an OCaml Program](/docs/how-to-write-an-ocaml-program) tutorial. Let's walk through the basics of OCaml by trying out different elements in an interactive manner. We recommend that you execute the examples we provide, or slight variants of them, in your own environment to get the feel of coding in OCaml. @@ -66,7 +66,7 @@ In OCaml, everything has a value and every value has a type. Here`50 * 50` is an - : bool = true ``` -OCaml has *type inference*. It automatically determines the type of an expression without much guidance from the programmer. Lists are the topic of a dedicated tutorial. For the time being, the following two expressions are both lists. The former contains integers, and the latter, strings. +OCaml has *type inference*. It automatically determines the type of an expression without much guidance from the programmer. Lists are the topic of a [dedicated tutorial](/docs/lists). For the time being, the following two expressions are both lists. The former contains integers, and the latter, strings. ```ocaml # [1; 2; 3; 4];; - : int list = [1; 2; 3; 4] @@ -747,4 +747,4 @@ OCaml has many features, and these may be its Big Five ones: To become a proficient OCaml developer, make sure to master them. -Next tutorial: [“Your First OCaml Project."](link-to-doc) In this tutorial, OCaml was used interactively, and it shows how to write OCaml files, how to compile them, and how to kickstart a project. +Next tutorial: [How to Write an OCaml Project](/docs/how-to-write-an-ocaml-project). In this tutorial, OCaml was used interactively, and it shows how to write OCaml files, how to compile them, and how to kickstart a project. diff --git a/data/tutorials/getting-started/02_fst_program.md b/data/tutorials/getting-started/02_fst_program.md index 3f424b03a7..3ae0e59f41 100644 --- a/data/tutorials/getting-started/02_fst_program.md +++ b/data/tutorials/getting-started/02_fst_program.md @@ -3,12 +3,12 @@ id: how-to-write-an-ocaml-program title: How to Write an OCaml Program description: > Get something real out of the damm French thing! -category: "getting started" +category: "Getting Started" --- ## Get Something Done -This tutorial is the last part of the three-part series. Please ensure you have completed [“Installing OCaml”](/docs/up-and-running) and [“A Tour of OCaml”](/docs/a-tour-of-ocaml) before proceeding onto your first OCaml project. You will need your environment been set up as described in the ["Installing OCaml"](/docs/up-and-running). +This tutorial is the last part of the three-part series. Please ensure you have completed [Installing OCaml](/docs/up-and-running) and [A Tour of OCaml](/docs/a-tour-of-ocaml) before proceeding onto your first OCaml project. You will need your environment been set up as described in the [Installing OCaml](/docs/up-and-running). In this tutorial, we start working with files containing OCaml source code and compiling them to produce excutable binaries. However, this is not a detailed tutorial on OCaml compilation, project modularisation, or dependencies management; it only gives a glimpse at those topics. The goal is to sketch the bigger picture before extensively presenting topics in order to avoid getting lost in the details. @@ -171,7 +171,7 @@ This is because we haven't changed `lib/hello.mli`. Since it does not list `mund ## Installing and Using Modules from a Package -OCaml has an active community of open-source contributors. Most projects are avaiable using the opam package manager, which you installed in the "Install OCaml" tutorial. The following section shows how to install and use a package from opam's open-source repository. +OCaml has an active community of open-source contributors. Most projects are avaiable using the opam package manager, which you installed in the [Install OCaml](/docs/up-and-ready) tutorial. The following section shows how to install and use a package from opam's open-source repository. To illustrate this, let's turn our modest `hello` project into a web server using [Anton Bachin](https://github.com/aantron)'s [Dream](https://aantron.github.io/dream/) web framework. First install the `dream` package with this command: ```shell diff --git a/src/ocamlorg_web/lib/redirection.ml b/src/ocamlorg_web/lib/redirection.ml index 42c9f6d3fd..60aa83e1b2 100644 --- a/src/ocamlorg_web/lib/redirection.ml +++ b/src/ocamlorg_web/lib/redirection.ml @@ -447,6 +447,7 @@ let from_v2 = ("/learn/tutorials/set.zh.html", Url.tutorial "sets"); ("/learn/tutorials/streams.html", Url.tutorial "streams"); ("/learn/tutorials/up_and_running.html", Url.tutorial "up-and-running"); + (Url.tutorial "first-hour", Url.tutorial "a-tour-of-ocaml"); ("/meetings/index.fr.html", Url.community); ("/meetings/index.html", Url.community); ("/meetings", Url.community);