[Haskell-cafe] Interactive book/tutorial platform

Albert Krewinkel albert+haskell at zeitkraut.de
Wed Dec 14 21:45:24 UTC 2022

Hi Todd,

given that we're on a Haskell mailing list, I'd like to suggest
[Quarto], which is built on top of [pandoc]. The latter is written in
Haskell, and both are free and open source.

The default input format for Quarto is Markdown, the program can compile
diagrams and produces output as HTML, PDF (via LaTeX), and/or Word docx.
It's often possible to embed LaTeX where necessary and to use some
pandoc [tricks] to convert those LaTeX snippets into other formats when
generating non-PDF output. The folding/visibility features would require
some extra JavaScript/CSS code though.

Please let me know if you have questions, esp. if they are about pandoc,
where I'm involved with development.


[Quarto]: https://quarto.org
[pandoc]: https://pandoc.org
[tricks]: https://github.com/tarleb/parse-latex

Todd Wilson <twilson at csufresno.edu> writes:

> Hi Cafe,
> I've taught university Computer Science for 20+ years, many of those
> using Haskell to both illustrate and have students explore the
> concepts they learn, and now I'm looking to organize my course
> materials as interactive books or long-form tutorials for
> non-commercial release to a larger audience, and I am trying to find
> an appropriate platform. I've looked at a few possibilities already,
> such as org-mode, IHaskell notebooks, and some blogging platforms,
> but all would seem to involve significant configuration before they
> would be suitable for what I'm trying to achieve. And so I'm
> inquiring here to see if there are some choices that I hadn't
> considered, or ready-made configurations for some that I have, which
> I could look into further and adapt.
> Ideally, I would like to be able to:
>     use LaTeX or equivalent for high-quality typesetting (most of my
>     current non-interactive materials are LaTeX documents),
>     organize content hierarchically, with varying visibility of
>     subsections, so that readers could go into as much detail as
>     needed (extra explanations, examples, diagrams, etc., that could
>     be viewed if desired or easily skipped if not), using cookies to
>     remember each reader's current visibility choices starting from
>     an initial default,
>     provide code snippets that are executable in place with results
>     incorporated into the document and perhaps modifiable for
>     experimentation,
>     export to PDF.
> Suggestions or templates for the above would be very welcome. Thanks,
> Todd Wilson
> California State University, Fresno
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.

Albert Krewinkel
GPG: 8eed e3e2 e8c5 6f18 81fe  e836 388d c0b2 1f63 1124

More information about the Haskell-Cafe mailing list