summaryrefslogtreecommitdiff
path: root/doc/ccwl.skb
AgeCommit message (Collapse)Author
2023-11-17doc: Add chapter and section identifiers.Arun Isaac
Identifiers are important so the generated HTML documentation can have permanent URIs to all chapters and sections. We are not too concerned with adding identifiers to subsections since we don't list them in the table of contents. * doc/ccwl.skb: Add chapter and section identifiers to all chapters and sections.
2023-11-16ccwl: Support nested arrays.Arun Isaac
* ccwl/ccwl.scm (construct-type-syntax): Construct types recursively to support nested arrays. (key->output): Recursively convert stdout types to File types. * ccwl/cwl.scm (type->cwl): New function. (input->cwl-scm, output->cwl-scm): Use type->cwl. * tests/ccwl.scm (make-array-type): New function. (construct-type-syntax-wrapper): New syntax. ("construct-type-syntax on primitive types", "construct-type-syntax on array types", "construct-type-syntax on nested array types"): New tests. * tests/cwl.scm, doc/array-types.scm, doc/nested-array-types.scm: New files. * doc/ccwl.skb (Cookbook)[Array types]: New section.
2023-11-14ccwl: Implement scatter.Arun Isaac
* ccwl/ccwl.scm (<step>): Wrap constructor make-step. [scattered-inputs, scatter-method]: New fields. (collect-scatter-step): New function. (collect-steps): Implement scatter. (key->output): If step scatters, convert output to an array type. (workflow): Add syntax to initialize scattered-inputs and scatter-method fields of <step> object. * ccwl/cwl.scm (workflow->cwl-scm): Add ScatterFeatureRequirement if workflow contains scattering steps. Serialize scattered-inputs and scatter-method. * doc/ccwl.skb (Cookbook)[Scatter/gather]: New section.
2023-10-17ccwl: Support staging input files.Arun Isaac
* ccwl/ccwl.scm (<input>)[stage?]: New field. * ccwl/ccwl.scm (input): Add #:stage argument. * ccwl/cwl.scm (command->cwl-scm): Serialize requirements for staged inputs. * doc/ccwl.skb (Cookbook)[Stage input files]: New section. * tests/ccwl.scm ("inputs with an invalid #:stage? parameter must raise a &ccwl-violation condition"): New test.
2023-10-15ccwl: Make #:stderr and #:stdout first class parameters.Arun Isaac
#:stderr and #:stdout, especially #:stdout, are commonly required. They ought to be first class parameters and not tucked away into #:other. * ccwl/ccwl.scm (<command>)[stderr, stdout]: New fields. * ccwl/ccwl.scm (command): Accept #:stderr and #:stdout as first class parameters. * ccwl/cwl.scm (command->cwl-scm): Serialize stderr and stdout fields. * doc/capture-stdout.scm (print), doc/decompress-compile-run.scm (run), doc/checksum.scm (md5sum, sha1sum, sha256sum), doc/spell-check.scm (find-misspellings): Capture stdout in file. * doc/checksum.scm, doc/decompress-compile-run.scm: * doc/ccwl.skb (Tutorial)[Capturing the standard output stream of a command]: Document #:stdout first class parameter. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Capture stdout in explicitly named files. * tests/ccwl.scm ("commands with non-string #:stderr parameters must raise a &ccwl-violation condition", "commands with non-string #:stdout parameters must raise a &ccwl-violation condition"): New tests.
2022-04-09doc: Add table of contents.Arun Isaac
* doc/ccwl.skb: Add table of contents.
2021-11-05doc: Add spell check workflow to tutorial.Arun Isaac
* doc/ccwl.skb (Tutorial)[Let's write a spell check workflow]: New section. * Makefile.am (doc/spell-check.out): New target. (EXTRA_DIST): Add doc/spell-check-text.txt and doc/dictionary. * doc/dictionary, doc/spell-check-text.txt, doc/spell-check-workflow-1.scm, doc/spell-check-workflow-2.scm, doc/spell-check.scm: New files.
2021-11-05doc: Document reuse of external CWL workflows.Arun Isaac
* doc/ccwl.skb (Cookbook): New chapter. * doc/external-cwl-workflow.scm, doc/echo.cwl: New files. * .gitignore: Add !doc/echo.cwl.
2021-10-18doc: Say that inputs, not workflow inputs, come into pipe and tee.Arun Isaac
Workflow inputs are now global. It is misleading to say that they come into the first expression, namely pipe and tee, in these examples. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Say that inputs, not workflow inputs, come into pipe and tee.
2021-08-16Makefile: Generate sample output when building documentation.Arun Isaac
* Makefile.am (CLEANFILES): Add doc/*.out. (CLEAN_DIRECTORIES): Add doc/cwl-output. (GENERATE_CWL_OUTPUT): New variable. (doc/capture-output-file.out, doc/capture-output-file-with-parameter-reference.out, doc/capture-stdout.out, doc/checksum.out, doc/decompress-compile-run.out, doc/hello-world.out, doc/pass-stdin.out, doc/hello.tar.out): New targets. * doc/capture-output-file-with-parameter-reference.out, doc/capture-output-file.out, doc/capture-stdout.out, doc/checksum.out, doc/decompress-compile-run.out, doc/hello-world.out, doc/hello.tar.out, doc/pass-stdin.out: Delete files. * build-aux/generate-cwl-output.sh.in, doc/hello.c.gz, doc/hello.tar, doc/hello.txt: New files. * configure.ac: Configure build-aux/generate-cwl-output.sh. * doc/ccwl.skb (Tutorial)[Passing input into the standard input stream of a command]: Replace file "foo" with "hello.txt". * .gitignore: Add build-aux/generate-cwl-output.sh, doc/*.out and doc/cwl-output.
2021-07-05doc: Inline code snippets.Arun Isaac
* doc/ccwl.skb (Tutorial)[Important concepts]: Inline code snippets.
2021-07-05doc: Add python named arguments example.Arun Isaac
* doc/ccwl.skb (Tutorial)[Important concepts]: Add python named arguments example.
2021-07-04doc: Use PNG images instead of SVG.Arun Isaac
PNG images are supported by both the info and html engines. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Use PNG images instead of SVG. * Makefile.am (CLEANFILES): Replace doc/*.svg with doc/*.png. (%.svg): Delete rule. (%.png): New rule. * .gitignore: Replace doc/*.svg with doc/*.png.
2021-07-04Makefile: Build skribilo documentation in-place.Arun Isaac
* Makefile.am (SKRIBILO_BUILD_DIR): Delete variable. (CLEANFILES): Add doc/*.cwl, doc/*.dot, doc/*.svg, doc/ccwl.info, doc/skribilo.go. ($(SKRIBILO_BUILD_DIR)/%.cwl): Rename to %.cwl. (info-local, install-info-local): Depend on doc/ccwl.info instead of $(SKRIBILO_BUILD_DIR)/ccwl.info. (html-local, install-html-local, website/manual/dev/en): Depend on doc/ccwl.html instead of $(SKRIBILO_BUILD_DIR)/ccwl.html. ($(SKRIBILO_BUILD_DIR)/ccwl.info): Rename to doc/ccwl.info. ($(SKRIBILO_BUILD_DIR)/ccwl.html): Rename to doc/ccwl.html. (clean-local): Do not delete doc/skribilo.go and $(SKRIBILO_BUILD_DIR). * .gitignore: Add doc/*.cwl, doc/*.html, doc/*.info, doc/*.svg. Remove doc/skribilo. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Reference images in the doc directory instead of in the doc/skribilo directory.
2021-07-03doc: Use emph instead of quotes for emphasis.Arun Isaac
* doc/ccwl.skb (Tutorial)[First example, Capturing the standard output stream of a command]: Use emph instead of double quotes for emphasis.
2021-07-03doc: Move skribilo configuration into doc directory.Arun Isaac
* ccwl/skribilo.scm: Move to ... * doc/skribilo.scm: ... here. * doc/ccwl.skb: Import (doc skribilo) instead of (ccwl skribilo). * Makefile.am ($(SKRIBILO_BUILD_DIR)/ccwl.info, $(SKRIBILO_BUILD_DIR)/ccwl.html): Depend on doc/skribilo.go instead of ccwl/skribilo.go. * Makefile.am (clean-local): Delete doc/skribilo.go instead of ccwl/skribilo.go.
2021-07-03doc: Squeeze double space.Arun Isaac
* doc/ccwl.skb (Tutorial)[Capturing output files]: Squeeze double space.
2021-07-02doc: Add copyright headers.Arun Isaac
* doc/ccwl.skb: Add copyright headers.
2021-06-29doc: Document passing input into stdin.Arun Isaac
* doc/ccwl.skb (Tutorial)[Passing input into the standard input stream of a command]: New section. * doc/pass-stdin.scm, doc/pass-stdin.out: New files.
2021-06-28doc: Add workflow graphs.Arun Isaac
* Makefile.am (DOC_IMAGES): Add checksum.svg and decompres-compile-run.svg. * doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Add workflow graphs checksum.svg and decompres-compile-run.svg.
2021-06-22doc: Specify command inputs in a separate argument.Arun Isaac
* doc/capture-output-file-with-parameter-reference.scm, doc/capture-output-file.scm, doc/capture-stdout.scm, doc/checksum.scm, doc/decompress-compile-run.scm, doc/hello-world.scm: Specify command inputs in a separate argument. * doc/ccwl.skb (Tutorial)[First example]: Update description of command definition accordingly.
2021-06-22doc: Fix comma position.Arun Isaac
Lispy mode normalizes comma positions incorrectly for Skribilo mode. This needs to be fixed upstream or elsewhere. * doc/ccwl.skb (Tutorial)[Important concepts, Capturing the standard output stream of a command, Capturing output files, Workflow with multiple steps]: Fix comma position.
2021-06-21doc: Fill paragraph.Arun Isaac
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Fill paragraph.
2021-06-19doc: Link to source for pipe and tee.Arun Isaac
* doc/ccwl.skb (Tutorial)[Workflow with multiple steps]: Link to source for pipe and tee.
2021-06-15doc: Move documentation from texinfo to skribilo.Arun Isaac
* doc/ccwl.texi: Delete file. * ccwl/skribilo.scm, doc/ccwl.skb, doc/capture-output-file-with-parameter-reference.out, doc/capture-output-file-with-parameter-reference.scm, doc/capture-output-file.out, doc/capture-output-file.scm, doc/capture-stdout.out, doc/capture-stdout.scm, doc/checksum.out, doc/checksum.scm, doc/decompress-compile-run.out, doc/decompress-compile-run.scm, doc/hello-world.out, doc/hello-world.scm, doc/hello.tar.out: New files. * configure.ac: Check for skribilo. * Makefile.am: Unregister doc/ccwl.texi. Add documentation build rules. * guix.scm (ccwl)[native-inputs]: Replace texinfo with skribilo. * .gitignore: Add doc/skribilo. Remove doc/version.texi, doc/*.html, doc/*.info.