daml/docs
Andreas Herrmann e525382dc2
Optionally emit setTime actions in daml export (#9469)
* Add setTime flag

changelog_begin
* [Daml export] Enable the ``--set-time`` flag on
  ``daml ledger export script`` to replicate transaction time stamps.
  This only works on ledgers operating in static time mode.
changelog_end

* Dump.scala --> Export.scala

So that the file name and class name match.

This was forgotten in 5e652bb2f8.

* Implement optional setTime actions

* Define Action type encompassing SetTime and Submit

Factor out construction of submit actions interleaved with setTime
actions.

This makes it easier to test the corresponding functionality in
isolation.

* EncodeSetTimeSpec

* ActionsFromTreesSpec

* update docs on daml ledger export

* Enable --set-time in integration test

To ensure that the generated code actually compiles

* Fix date/time encoding

Requires additional imports for DA.Time and DA.Date.
Requires qualified references to DA.Time.time, DA.Date.date, and
DA.Date.MONTH.

* Fix Scala 2.13

* Move setTime parameter to Action.fromTrees

* Move export transaction time docs out of caveats

Co-authored-by: Andreas Herrmann <andreas.herrmann@tweag.io>
2021-04-22 12:10:05 +00:00
..
configs Delete "testing with scenarios" section (#9360) 2021-04-08 14:50:33 +02:00
scripts Upgrade nixpkgs (#9248) 2021-03-26 21:26:40 +01:00
source Optionally emit setTime actions in daml export (#9469) 2021-04-22 12:10:05 +00:00
theme Minor docs fixes (#8662) 2021-01-29 08:42:36 +00:00
.gitignore docs: remove references to create-daml-app repo (#8805) 2021-02-10 11:45:59 +00:00
BUILD.bazel -Werror all the things (#9027) 2021-03-04 19:08:59 +01:00
daml-intro-7.yaml update copyright notices for 2021 (#8257) 2021-01-01 19:49:51 +01:00
error.html update copyright notices for 2021 (#8257) 2021-01-01 19:49:51 +01:00
README.md Daml case and logo (#8433) 2021-01-08 12:50:15 +00:00
redirect_template.html update copyright notices for 2021 (#8257) 2021-01-01 19:49:51 +01:00
redirects.map Remove Navigator console (#8392) 2021-01-05 13:20:48 +01:00

Daml Documentation

This directory contains all of the documentation that gets published to docs.daml.com.

Writing documentation

The docs are written in reStructuredText, built using Sphinx.

To edit documentation:

  • Same as code: find the file, edit it on a branch, make a PR.

  • For new files, best to copy existing ones, to get the formatting right.

    Don't forget you need to add your file to the toctree in /docs/source/index.rst and /docs/configs/pdf/index.rst.

  • Make sure you preview before you push.

  • Don't insert line-breaks inside inline literals. Building preview will treat this as an error.

Generated documentation

Not all of our docs are in rst files: some get generated. They are:

  • the ledger API proto docs
  • the Daml standard library reference
  • the Java bindings reference

To edit those docs, edit the content inside the code source.

Previewing

To preview the full docs, as deployed to docs.daml.com, run scripts/preview.sh.

To live-preview the docs, run scripts/live-preview.sh. The script accepts two flags:

  • --pdf includes the PDF documentation
  • --gen includes the generated documentation

Note that neither PDF, nor generated docs will benefit from live updates. To update generated docs or PDF docs, quit the preview script with CTRL+C and start it again.

Style conventions

For terminology and other style questions, follow the main DA documentation style guide.

A few pieces of RST guidance:

If youre not familiar, its really worth reading the primer for the basic syntax (emphasis, code text, lists, tables, images, comments, etc).

  • Keep paragraphs all on the same line (no newlines/line breaks).

  • Heading underlines in this hierarchical order:

    ######
    ******
    ======
    ------
    ^^^^^^
    """"""
    
  • For internal links, use the doc directive where you can.

  • For bullet points (unordered lists), use - (dashes).

  • For code blocks, use the literalinclude directive if you can: it's best to source code from files that we test whether they compile.

How the docs get built

The docs get built as part of the main daml repo CI, to make sure we don't break any links or do anything else that would cause Sphinx warnings.

Publishing docs

Documentation is published automatically whenever a release is made public on Github. Note that there is a delay so you might have to wait up to an hour until the docs are published after making a release public.

Testing code in docs

TBD