-
Notifications
You must be signed in to change notification settings - Fork 411
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: add a "developing with dune" tutorial (#10711)
This adds a new tutorial (our first one!) about common interactions with dune, how to structure a project, using diffing and promotion, etc. The goal is to cover the 20% simple parts of dune that will be used 80% of the time. I relied heavily on https://diataxis.fr/ for that, in particular I don't consider that this is finished work, just that it's now just complete enough to be integrated in main. I did some user testing on the first half, and I consider that the first half is pretty OK, while the second part (starting from C stubs) will need more work to be usable, but I'll continue improving that in main with more user testing. A technical aspect of that PR is that I decided to go with myst (markdown parser for sphinx) - see the syntax guide. I don't want to make it a policy, but I think for new documents it makes sense to use something like that, because: - it maps fully to reST - it's more contributor friendly - editor tooling is better - it alleviates some vendor lock-in (since we're likely to migrate to ocaml.org at some point, and it's more likely to use a variant of md than sphinx support odoc syntax) The page is marked as orphan and WIP for now since it's not meant for end users yet. Signed-off-by: Etienne Millon <me@emillon.org>
- Loading branch information
Showing
39 changed files
with
2,034 additions
and
1 deletion.
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 |
---|---|---|
|
@@ -32,3 +32,5 @@ | |
|
||
(documentation | ||
(package dune)) | ||
|
||
(data_only_dirs tutorials) |
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 |
---|---|---|
|
@@ -2,3 +2,4 @@ sphinx >= 6 | |
furo | ||
sphinx-copybutton >= 0.5.0 | ||
sphinx-design | ||
myst-parser |
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,19 @@ | ||
Conclusion | ||
========== | ||
|
||
This tutorial has covered the parts of Dune that users are the most likely to | ||
interact with: | ||
|
||
- the {doc}`/reference/dune/executable`, {doc}`/reference/dune/library`, and | ||
{doc}`/reference/dune/test` stanzas; | ||
- how to use {doc}`cram tests</reference/cram>` and the workflow of | ||
{doc}`promotion </concepts/promotion>`; | ||
- bindings to C code using {doc}`foreign stubs </reference/foreign-stubs>`; | ||
- using a ppx deriver. | ||
|
||
## Where to go from here | ||
|
||
You might be interested in: | ||
|
||
- our {doc}`how-to guides </howto/index>` to apply this to your projects; | ||
- various {doc}`explanations </explanation/index>` about how Dune works. |
Oops, something went wrong.