xref: /aosp_15_r20/external/webp/doc/specs_generation.md (revision b2055c353e87c8814eb2b6b1b11112a1562253bd)
1*b2055c35SXin Li# Generate libwebp Container Spec Docs from Text Source
2*b2055c35SXin Li
3*b2055c35SXin LiHTML generation requires [kramdown](https://kramdown.gettalong.org/), easily
4*b2055c35SXin Liinstalled as a [rubygem](https://rubygems.org/). Rubygems installation should
5*b2055c35SXin Lisatisfy dependencies automatically.
6*b2055c35SXin Li
7*b2055c35SXin LiHTML generation can then be done from the project root:
8*b2055c35SXin Li
9*b2055c35SXin Li```shell
10*b2055c35SXin Li$ kramdown doc/webp-container-spec.txt --template doc/template.html > \
11*b2055c35SXin Li  doc/output/webp-container-spec.html
12*b2055c35SXin Li```
13*b2055c35SXin Li
14*b2055c35SXin Likramdown can optionally syntax highlight code blocks, using
15*b2055c35SXin Li[CodeRay](https://github.com/rubychan/coderay), a dependency of kramdown that
16*b2055c35SXin Lirubygems will install automatically. The following will apply inline CSS
17*b2055c35SXin Listyling; an external stylesheet is not needed.
18*b2055c35SXin Li
19*b2055c35SXin Li```shell
20*b2055c35SXin Li$ kramdown doc/webp-lossless-bitstream-spec.txt --template \
21*b2055c35SXin Li  doc/template.html --coderay-css style --coderay-line-numbers ' ' \
22*b2055c35SXin Li  --coderay-default-lang c > \
23*b2055c35SXin Li  doc/output/webp-lossless-bitstream-spec.html
24*b2055c35SXin Li```
25*b2055c35SXin Li
26*b2055c35SXin LiOptimally, use kramdown 0.13.7 or newer if syntax highlighting desired.
27