[HN Gopher] Books.jl: Create Books with Julia
___________________________________________________________________
Books.jl: Create Books with Julia
Author : UncleOxidant
Score : 46 points
Date : 2021-11-02 04:29 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| clircle wrote:
| Is this like Rmarkdown for Julia?
| rsfern wrote:
| I think Weave.jl is a closer match for Rmarkdown. This project
| seems similar but geared more towards multi-chapter books
| instead of self-contained reports
|
| https://github.com/JunoLab/Weave.jl
| mbauman wrote:
| That exists more directly with Weave.jl -- this is built for
| bigger things. As the README says:
|
| > If you want a small report instead of a book with numbered
| sections, then Weave.jl might be more suitable for your
| problem.
|
| http://weavejl.mpastell.com/stable/
| Hasnep wrote:
| It looks more like bookdown for Julia
| huijzer wrote:
| Hi. Creator of the package here.
|
| It is indeed very much like Bookdown. However, there are a few
| specific problems that I have with Rmarkdown and similar
| systems (the foundation for Bookdown) that I wanted to solve:
| 1. Rmarkdown does not make it easy to write a book as a
| package. With a package, you get testing, dependency control
| and some more organizational things for free. 2. Rmarkdown and
| similar systems encapsulate your code in code blocks and
| require you to set metadata for each block. For the metadata,
| there is a kind of DSL with things like `show=TRUE`. I switched
| this around and just evaluate exactly what the user writes.
| This sort of "metadata" can be set via functions such as `sco`
| (show code and output). In combination with Julia's macro
| system, this even allows for grabbing function definitions from
| within the package with `@sco`. So, you can write a software
| package with a function `foo` and call `@sco foo(1)` so see the
| source code and output for calling `foo` with argument `1`. The
| benefit of avoiding the DSL is that users can be much more
| expressive in what they decide to do around their code blocks.
| Mageek wrote:
| The Tufte package also allows for typesetting a book with
| executable Julia code, only in LaTeX:
| https://github.com/sisl/tufte_algorithms_book It was used to make
| Algorithms for Optimization and Algorithms for Decision Making.
| huijzer wrote:
| I thankfully used that repository to base the Books.jl template
| on indeed!
| jtbayly wrote:
| Does not have search.
|
| I'm very interested in this space, but this is one of the core
| features I require to even look further at a project.
| huijzer wrote:
| You're right. I should implement that. It's on the TODO list
| for a while already:
| https://github.com/JuliaBooks/Books.jl/issues/212
|
| Got any suggestions for a project for it?
| snicker7 wrote:
| Built on top of pandoc and used to build the Julia Data Science
| book: https://juliadatascience.io/
___________________________________________________________________
(page generated 2021-11-03 23:01 UTC)