Releases: crowdagger/crowbook
Releases · crowdagger/crowbook
0.11.4
- An image can now be considered standalone even if it is inside a
link. - Bugfixes:
- HTML/EPUB: use raw (not HTML rendered) metadata in the places
where HTML code is not appropriate. Templates can use this
metadata with thefoo_raw
value. - HTML/EPUB: fix double-escaping/rendering issues in titles.
- EPUB:
- Escape title and author before feeding them to epub-builder.
- Fix content.opf issue by not rendering first
chapter's title (marked as beginning of document) in<guide>
.
- HTML/EPUB: use raw (not HTML rendered) metadata in the places
- Rendering:
- HTML/EPUB: standalone images are now displayed centered.
0.11.3
- When crowbook parses the book's contents, it now detects which
features are used. This is useful in various ways:- The ODT renderer only displays a global warning showing the lists of
used features that are not implemented, instead of a warning each
time such a feature is encountered. - The LaTeX and HTML/EPUB renderers only initialize
syntect
(which
can take some time) if code blocks are used in the document. - The LaTeX renderer only requires LaTeX packages that are actually
used in the document.
- The ODT renderer only displays a global warning showing the lists of
- Command-line interface:
- Warnings are now displayed by default.
- The (undocumented)
--debug
argument has been removed. - The status of some messages have been modified ("warning" to
"debug" or "error" to "warning").
- Deprecated option:
crowbook.verbose
has been deprecated, at it should be set by the CLI.
0.11.2
- General:
- When there is an error setting an option from the book configuration
file (e.g. because it is an invalid key), print an error but do not
abort, only ignore this specific option.
- When there is an error setting an option from the book configuration
- New options:
tex.stdpage
: if set totrue
, will use thestdpage
package to
render the book according to standards for submitting manuscripts.rendering.highlight.theme
allows to specifies a theme for syntax
highlighting (only used ifrendering.highlight
is set to
"syntect").html.highlight.theme
,epub.highlight.theme
and
tex.highlight.theme
allow to specify a theme for
HTML/EPUB/LaTeX renderers (only used with syntect).
- Deprecated option:
proofread.nb_spaces
.
- Rendering:
[syntect](https://crates.io/crates/syntect)
is now the default
forrendering.highlight
. Concretely, this means that by default
syntax highlighting is now done whencrowbook
is run instead of
using[highlight.js](https://highlightjs.org/)
.- EPUB:
- Now sets the "cover-image" property and meta so readers should
display cover correctly. - Narrow non-breaking spaces should display more correctly on KOBO
ereaders (hoping this won't break the way they are displayed
everywhere else).
- Now sets the "cover-image" property and meta so readers should
- Proofreading:
- Repetition detection is now a bit less of an hack, and should
cause less problems when used in conjunction with grammar
checking. It now also works on PDF output (so the way it is
highlighted could be improved).
- Repetition detection is now a bit less of an hack, and should
- Bugfixes:
- Fix
mimetype
of EPUB files (make sure it is always "stored" and
not "deflated" by thezip
command). - Avoid initializing
syntect
(at the cost of performances) if it
is not used. - Avoid creating an empty file if some book renderer fails
(e.g. EPUB or ODT becausezip
command is not present).
- Fix
0.11.1
- Rendering:
- Avoid page break before or after a separating rule.
- Add support for syntect for
syntax highlighting. This is activated by setting
rendering.highlight
tosyntect
(see below). - EPUB:
- Set back HTML escape of narrow non-breaking spaces to
true
by default (it caused problems on some readers, but cause
much more serious one iffalse
). - Add more information to guide/nav landmarks.
- Set back HTML escape of narrow non-breaking spaces to
- LaTeX/PDF:
- Improve the way code blocks are displayed, using the
mdframed
package. - Try to reduce the issues of too long lines when using code
and code blocks, by inserting\allowbreak{}
directive
after some characters (.
,/
,_
, ...). - Block quotes are now displayed in italics.
- Tables now use
tabularx
, which allows to break too long
lines (it still doesn't break pages, though).
- Improve the way code blocks are displayed, using the
- New options:
rendering.highlight
can be set tonone
,highlight.js
(by
default, enables syntax highlighting via Javascript, but only on
HTML document) orsyntect
(doesn't necessitate javascript, and
can work in EPUB or LaTeX, but more experimental at this point).
- Deprecated options:
html.highlight_code
(userendering.highlight
instead).
- Bugfixes:
- HTML (standalone): fix the template that contained invalid HTML code.
0.11.0
Substantial changes in this release, the more important one being
support for parts!
- Breaking changes: the API has undergone some breaking changes,
hoping they will be the last ones for a while. API should now be
more simple and consistent (?). This version contains also
substantial options renaming (see below). - Crowbook now supports parts (above the "chapter" level), using the
'@' character in the book configuration file. - Command-line interface:
- Behaviour of
--to
should now be consistent for all output
formats. - If
--output
is set to-
, prints to stdout. - Conversely, if
<BOOK>
is set to-
, reads from stdin. - Path specified by
--output
is now interpreted relatively to
current directory (and not depending on where<BOOK>
is or its
options).
- Behaviour of
- Rendering:
- Chapters with no titles now have an empty title added (so it can
at least display e.g. "Chapter X"). - EPUB:
- The
toc.ncx
file now displays links to "title" and (if set)
"cover" (can be deactivated, see below). - The
toc.ncx
file now displays toc levels below chapter. - The table of contents is now displayed inline if
rendering.inline_toc
is set totrue
.
- The
- Chapters with no titles now have an empty title added (so it can
- New options:
epub.toc.extras
, set totrue
by default, will add links to the
title and the cover (if it is set) in the table of contents.epub.escape_nb_spaces
, similar tohtml.escape_nb_spaces
and
set to false by default since at least Kobo reader don't seem to
be able to understand the CSS to escape those nb spaces...rendering.chapter.roman_numerals
, if set totrue
, will display chapter
numbers using roman numerals.rendering.part.roman_numerals
, if set totrue
(it is by
default) will display part numbers using roman numerals.rendering.part.template
specifies the numbering scheme of parts.rendering.part.reset_counter
, if set totrue
(it is by
default), resets chapter number to zero after a part.
- Renamed options:
import_config
renamed toimport
.rendering.chapter_template
renamed torendering.chapter.template
.html_single.html
renamed tohtml.standalone.template
.html_single.js
renamed tohtml.standalone.js
.html_single.one_chapter
renamed tohtml.standalone.one_chapter
.output.html_dir
renamed tooutput.html.dir
.output.proofread.html_dir
renamed tooutput.proofread.html.dir
.html_dir.index.html
andhtml.dir.chapter.html
have been merged
and both renamed tohtml.dir.template
.tex.font_size
renamed totex.font.size
.
- Bugfixes:
- EPUB:
- Fix duplicate HTML escaping (resulting in e.g. "&" instead
of "&").
- Fix duplicate HTML escaping (resulting in e.g. "&" instead
- HTML directory:
- Fix panic when trying to generate html directory in "../xxx"
(#23). - Fix "previous chapter" links that were not displayed when
"html.header" was set.
- Fix panic when trying to generate html directory in "../xxx"
- HTML:
- Fix the way initial letter is displayed if
rendering.initials
is true.
- Fix the way initial letter is displayed if
- EPUB:
- Internationalization:
- Strings in generated Crowbook documents (such as "Table of
contents", "Title", "Cover" and such) are now translated in spanish.
- Strings in generated Crowbook documents (such as "Table of
0.10.4
- New options:
tex.font_size
specifies an optional font size (in pt) passed to
the LaTeX class (must be 10, 11 or 12).tex.title
can be set tofalse
to avoid rendering the title
with\maketitle
.tex.paper_size
specifies the paper size for PDF output.tex.template.add
,html.css.add
andepub.css.add
allow to
specify inline LaTex or CSS code in the book configuration file
that will be added respectively totex.template.add
,
html.css.add
andepub.css.add
.html.icon
allows to specify the path of an icon for HTML documents.
- Command-line interface:
- Paths that are displayed should now be normalized,
e.g. "foo/bar.pdf" instead of "baz/../foo/bar.pdf".
- Paths that are displayed should now be normalized,
- Rendering:
- HTML:
- The default CSS style has been slightly modified.
- HTML:
0.10.3
- Building:
- Crowbook now requires rustc >= 1.13.0 to build.
- Pre-built binaries now all include the proofreading feature.
- Linux binaries are now linked against
musl
library so they
should really work on any Linux platform.
- Bugfixes:
- Fixed escaping of
author
andtitle
fields. - Fixed text cleaning in ODT rendering that causes corrupt files to
be generated.
- Fixed escaping of
- CommandLine Interface:
- Crowbook displays clearer error messages when unable to launch
latex
orzip
commands. - Crowbook uses
term
library in order to display colours correctly
on e.g. Windows. - The new argument
--lang
(or-L
) allows to set the runtime
language used by Crowbook, overridingLANG
environment variable. --list-options
no longer uses colours as it caused problems
depending on the terminal or when piping toless
.
- Crowbook displays clearer error messages when unable to launch
0.10.2
Only minor changes in this version:
- Options:
author
andtitle
's default values are both set to the empty
string, instead ofAnonymous
andUntitled
.input.autoclean
has been renamedinput.clean
.input.smart_quotes
has been renamedinput.clean.smart_quotes
.- new option:
input.clean.ligature.dashes
will (if set to true)
replace--
to en dash (–
) and---
to em dash (—
). - new option:
input.clean.ligature.guillemets
will (if set to true)
replace<<
and>>
to french guillemets («
and»
).
- Rendering:
- HTML: if
html_single.one_chapter
andrendering.inline_toc
are
both set to true, only render the TOC if currently displayed
chapter is the first.
- HTML: if
0.10.1
Fixed a bug in fr.po
translation that prevented building from fresh install.
Since there are no other changes besides that, for the binaries, see the 0.10.0 release, which should not have been affected by this issue.
0.10.0
This release contains some breaking changes (mostly for the API, which has been split in separate libraries). It alse features some internationalization support, and the program should now be tranlated if your LANG
environment
variable is set to french.
- Breaking changes:
- Templates:
- Conditional inclusion depending on
lang
must now be done usinglang_LANG
(e.g.
lang_fr
,lang_en
, and so on). This might impact customepub.css
andhtml.css
templates.
- Conditional inclusion depending on
- API:
- The
escape
module has been moved to a separate crate,
crowbook_text_processing
. Thecleaner
module is no longer
public, but the features it provided are also available in
crowbook_text_processing
.
- The
- Templates:
- New options:
html.css.colours
allows to provide a CSS file that only redefine
the colour scheme. Such a file can be built fromcrowbook --print-template html.css.colours
.input.smart_quotes
: if set totrue
, tries to replace'
and"
by curly quotes.
- Command line interface:
- Crowbook is now (imperfectly) localized in french, and can be
translated to other languages. - Added the
--quiet
(or-q
) argument, that makes crowbook run without
displaying any messages (except some error messages at this point).
- Crowbook is now (imperfectly) localized in french, and can be
- Rendering:
- HTML:
- The table of contents menu is no longer displayed in the HTML single renderer if
it doesn't contain at least two elements. - The default colour theme has been modified a little.
- The table of contents menu is no longer displayed in the HTML single renderer if
- HTML:
- Bugfixes:
- Fix the escaping of non-breaking spaces in EPUB, as
and
its friends aren't valid entities in XHTML, apparently.
- Fix the escaping of non-breaking spaces in EPUB, as