aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2021-04-05Use the correct version of `tera' in the `celtchar' packageHEADmainThomas Letan
2021-04-05Stop using deprecated functions for the `zip' crateThomas Letan
2021-04-05Update pre-commit hook for latest rustfmt releasesThomas Letan
It looks like rustfmt does not support being called from a virtual workspace anymore, so we actually call it twice, one for each package of the workspace.
2020-11-17Give a more verbose output to the wc commandThomas Letan
2020-11-17Remove the useless “build” commandThomas Letan
2020-11-17Add the wc subcommandThomas Letan
This is specially useful for NaNoWriMo adventures. (:
2020-11-17Generalize the `load_and_render' methodsThomas Letan
Prior to this patch, these methods were always constructing a `String'-based result, which was fine when all we wanted to do with said result is use it with a template engine, but not that fine when we aim to provide a tool to count words.
2020-11-17Fix install ruleThomas Letan
2020-11-17Update templatesThomas Letan
2020-11-17Add a description field in Book.toml schemaThomas Letan
2020-11-17Use ogmarkup from crates and bump version numberThomas Letan
2020-02-08feature: Print a proper message when an error occursThomas Letan
2020-02-08fix: Make the static template work with untitled chaptersThomas Letan
2020-02-08chore: Add a pre-commit hook script to check formattingThomas Letan
This script shall be installed manually with eg., a symbolic link.
2020-02-08feature: Add options `output` and `body-only` to celtchar-staticThomas Letan
The main idea behind these options is to make it possible to integrate a celtchar book inside a larger static website generated by other means (like Hakyll or soupault, for instance).
2020-02-02feature: Make the generated static website more responsiveThomas Letan
2020-02-02feature: Add a command to generate a static websiteThomas Letan
2020-02-02refactor: Rework libceltchar organizationThomas Letan
In this new iteration of libceltchar, there is now a very generic `BookWriter` that the `EpubWriter` extends. This paves the way towards a static website generator. In addition, we start using `rustfmt`, which means the diff is actually a bit larger that what it shall be.
2019-09-17feature: List dependencies of a celtchar documentThomas Letan
We provide an additional command `deps' that basically print one dependency of —an ogmarkup document used to build a— celtchar document. This way, `celtchar deps' can be used e.g., in a Makefile. If a filename cannot be converted into a valid rust string, the message <invalid utf8 filename> is print.
2019-08-15feature: Require to specify the language of the BookThomas Letan
In addition to define the typography to use when generating ogmarkup document, celtchar also sets the ebook metadata accordingly. This patch required to update ogmkarkup for [ogmarkup::compile] works with Typography objects of unknown size.
2019-08-15refactor: Make [load_and_render] static and self-sufficientThomas Letan
The rationale behind this choice is to provide a less cumbersome entry point for loading a Book project in memory.
2019-08-15chore: Abstract away the loading process of a Book projectThomas Letan
At some point, we will want to create a website to write ogmarkup document in a collaborative manner. To prepare that time, we abstract away the loading process of a Book project with a dedicated trait. In addition, the project is now divided into a library on the one hand, and the celtchar executable on the other hand. The celtchar executable uses its own implementation of the [Loader] trait to load a Book project from the filesystem, as before. This means, currently, the related functions are not provided by the celtchar library.
2019-08-15chore: Add a minimal READMEThomas Letan
2019-08-15feature: Make chapters numbering optionalThomas Letan
There is now an optional option `numbering' one can set in the Book.toml file. If set to true, numbers will appear consistently in the book (even if no title is set). If unset, only the book title, when it exists, will be set.
2019-08-14feature: Generate the epub archiveThomas Letan
Previously, the content of the epub was generated in a dedicated build directory, and it was necessary to make the final step (generating the archive) manually. With this patch, the archive is generated, but no compression method is performed. We add a new dependency to the `zip-rs' crate, since the latter appears to be the go-to solution for generating zip archives.
2019-08-14refactor: Introduce the [EpubWriter] traitThomas Letan
The purpose of this trait is to abstract the medium onto which the epub is generated. Previously, the use of the filesystem was hard-coded. With this patch, we add an abstraction level which will eventually allows us from using the same code to generate a zip archive or an in-file-system directory.
2019-08-07feature: In release mode, look for assets in `/usr/local'Thomas Letan
There is currently no way to overload these files, e.g., you cannot specify your own font to be used for example. This might (probably will actually) change in the future.
2019-08-04refactor: Provide a less cumbersome error handlingThomas Letan
2019-08-04fix: Address several errors returned by EPUB ValidatorThomas Letan
The reference is used is http://validator.idpf.org/
2019-08-04feature: Allows for specifying a cover image for your bookThomas Letan
2019-08-04feature: Generate a table of contentsThomas Letan
2019-08-04feature: Add fonts support and make assets relocatableThomas Letan
Default font is et-book, from https://github.com/edwardtufte/et-book. It is a very beautiful font, but there is no support for bold+italic. Therefore, so we will probably have to change it in the future.
2019-08-04feature: Embed a CCS file in the generated EPUBThomas Letan
2019-08-04feature: Support optional title in renderingThomas Letan
2019-08-04refactor: Use a template engine for generating the EPUB documentsThomas Letan
The template engine of choice is Tera, mostly because I already knew how to use it.
2019-08-04feature: Generate an EPUB that mupdf can readThomas Letan
2018-10-31chore: Add a program skeletonThomas Letan