Skip to content

Commit

Permalink
Merge pull request #1 from Omikhleia/drastic-fork-approach
Browse files Browse the repository at this point in the history
Typesetter and base class fork
  • Loading branch information
Omikhleia authored Aug 16, 2023
2 parents c4d15dd + 5b40088 commit 5e5096d
Show file tree
Hide file tree
Showing 7 changed files with 1,792 additions and 136 deletions.
38 changes: 37 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,42 @@ A silex is a kind of hard stone.
This is **sile·x**, a common layer for [**re·sil·ient**](https://github.com/Omikhleia/resilient.sile) and other modules:
Some common bricks and blocks, compatility features, opinionated hacks, and eXperimental eXpansions, hence the name.

:warning: **sile·x** overrides several SILE internals, and may therefore break some of your packages and classes.

Notably, you might fail to build the SILE manual with it.
That's the cost to pay...

### Installation and removal

Install with [Luarocks](https://luarocks.org/):

```shell
luarocks install silex.sile
```

Uninstall:

```shell
luarocks remove silex.sile
```

Obviously, modules needing it (and therefore also intalling it as a dependency), such as [markdown.sile](https://github.com/Omikhleia/markdown.sile) and [resilient.sile](https://github.com/Omikhleia/resilient.sile) (amongst others) will not work without it.

## Features

**classes** and **typesetters** :warning: Opinionated departure from SILE 0.14.

Modified implementation of the base typesetter and class.

- Cancellation of the multiple package instantiation model in the base class.

See **silex.fork** below for details.

- Propagation of hanged indent from paragraph to paragraph.

_Rationale:_
See [SILE discussion 1742](https://github.com/sile-typesetter/sile/discussions/1742)

**silex.lang**

This module overrides the language support in SILE to accept and resolve BCP47 language tags, such as `en-GB`, `es-MX`, `fr-CH`, etc.
Expand Down Expand Up @@ -70,7 +104,7 @@ Official release dates are not predictable, and may moreover take some time to r

## Affected modules

If you use packages or classes from the following modules, some features of **silex** will be loaded globally. Your documents using them may therefore be impacted from that point on.
If you use packages or classes from the following modules, some features of **silex** will be loaded globally. Your documents using them may therefore be impacted from that point.

- The packages from [smartquotes.sile](https://github.com/Omikhleia/smartquotes.sile) enable **silex.lang**.

Expand All @@ -80,6 +114,8 @@ If you use packages or classes from the following modules, some features of **si

- The packages and classes from [resilient.sile](https://github.com/Omikhleia/resilient.sile) enable **all** features.

As noted, some global changes are also introduced in the typesetter and base document class. Side-effects are therefore possible on some workflows.

## Future directions

The plan: SILE + **sile·x** + **re·sil·ient** = SILE as it should be.
Expand Down
Loading

0 comments on commit 5e5096d

Please sign in to comment.