2018-04-11 18:43:28 -04:00
# Nix Pills
2022-09-01 16:20:48 -04:00
Available online as a [multi-page HTML ](https://nixos.org/guides/nix-pills/ ) or an [e-book in EPUB format ](https://nixos.org/guides/nix-pills/nix-pills.epub ).
2018-04-11 18:43:28 -04:00
2021-12-15 16:06:10 -05:00
You can also build them locally:
nix-build release.nix -A html-split & & firefox result/share/doc/nix-pills/index.html
2017-08-12 18:08:23 -04:00
2021-12-15 16:06:10 -05:00
Similarly, for an [EPUB ](https://www.w3.org/publishing/epub32/ ) version, run:
2017-08-12 18:08:23 -04:00
2021-12-15 16:06:10 -05:00
nix-build release.nix -A epub & & foliate result/share/doc/nix-pills/nix-pills.epub
2017-08-12 18:08:23 -04:00
2021-12-15 16:06:10 -05:00
## Development
2017-08-12 18:08:23 -04:00
2021-12-15 16:06:10 -05:00
- [List of DocBook Elements ](https://tdg.docbook.org/tdg/5.2/part2.html )
2017-08-12 18:08:23 -04:00
2021-12-15 16:06:10 -05:00
Emacs config for a nice DocBook experience:
2017-08-12 18:08:23 -04:00
```nix
let
pkgs = import < nixpkgs > {};
inherit (pkgs) emacsPackagesNg docbook5 writeText;
schemas = writeText "schemas.xml" ''
< locatingRules xmlns = "http://thaiopensource.com/ns/locating-rules/1.0" >
< documentElement localName = "section" typeId = "DocBook" / >
< documentElement localName = "chapter" typeId = "DocBook" / >
< documentElement localName = "article" typeId = "DocBook" / >
< documentElement localName = "book" typeId = "DocBook" / >
< typeId id = "DocBook" uri = "${docbook5}/xml/rng/docbook/docbookxi.rnc" / >
< / locatingRules >
'';
in emacsPackagesNg.emacsWithPackages (epkgs: [
(emacsPackagesNg.trivialBuild {
pname = "nix-docbook-mode";
version = "1970-01-01";
src = writeText "default.el" ''
(eval-after-load 'rng-loc
'(add-to-list 'rng-schema-locating-files "${schemas}"))
(global-set-key (kbd "< C-return > ") 'nxml-complete)
'';
})
])
```
Then you can use the keys:
- `C-c C-b` to finish & close a tag
- `C-c C-f` to close a tag
- `C-return` to auto-complete a tag or attribute.