Skip to content

Commit 2fb664e

Browse files
authored
README
1 parent 02a258c commit 2fb664e

1 file changed

Lines changed: 62 additions & 1 deletion

File tree

‎README.md‎

Lines changed: 62 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ packages to write documents, try:
3636
$ pip install flm-core[maincmdl] flm-citations flm-templates flm-htmlplus
3737
```
3838

39+
Extensive **documentation** is available at: https://flm-core.readthedocs.io/
40+
3941
Example `mydocument.flm`:
4042
```latex
4143
---
@@ -208,6 +210,7 @@ with ``pkg:some_flm_extension_package/some/preset/name``.
208210

209211
Here's a basic parser configuration that you can adapt:
210212
```yaml
213+
# yaml-language-server: $schema=https://flm-core.readthedocs.io/en/latest/flm-config-json-schema.json
211214
flm:
212215
parsing:
213216
# Enable/Disable comments as in LaTeX, led by ‘%%’
@@ -230,6 +233,7 @@ flm:
230233
Here's a basic renderer configuration that you can adapt **for HTML output**
231234
(`--format=html`):
232235
```yaml
236+
# yaml-language-server: $schema=https://flm-core.readthedocs.io/en/latest/flm-config-json-schema.json
233237
flm:
234238
renderer:
235239
html:
@@ -249,6 +253,7 @@ flm:
249253
Here's a basic renderer configuration that you can adapt **for text output**
250254
(`--format=text`):
251255
```yaml
256+
# yaml-language-server: $schema=https://flm-core.readthedocs.io/en/latest/flm-config-json-schema.json
252257
flm:
253258
renderer:
254259
text:
@@ -258,6 +263,7 @@ flm:
258263
Here's a basic renderer configuration that you can adapt **for LaTeX output**
259264
(`--format=latex`):
260265
```yaml
266+
# yaml-language-server: $schema=https://flm-core.readthedocs.io/en/latest/flm-config-json-schema.json
261267
flm:
262268
renderer:
263269
latex:
@@ -273,6 +279,7 @@ flm:
273279
Here's a basic renderer configuration that you can adapt **for Markdown output**
274280
(`--format=markdown`):
275281
```yaml
282+
# yaml-language-server: $schema=https://flm-core.readthedocs.io/en/latest/flm-config-json-schema.json
276283
flm:
277284
renderer:
278285
markdown:
@@ -298,6 +305,7 @@ Features can be selected and configured directly in the FLM config metadata. Fo
298305
the following configuration is extracted from the default feature configuration when you run
299306
FLM:
300307
```yaml
308+
# yaml-language-server: $schema=https://flm-core.readthedocs.io/en/latest/flm-config-json-schema.json
301309
flm:
302310
features:
303311
# list features that should be available here.
@@ -366,6 +374,58 @@ flm:
366374
mathmode: '\mathbb{1}'
367375
```
368376

377+
### Separate configuration file: `flmconfig.yaml`
378+
379+
You don't have to type your entire FLM configuration as front matter in your FLM file.
380+
You probably want your FLM file to focus on content and some basic metadata (title, date,
381+
author). Instead, you can put your extensive FLM customization in a separate file
382+
called `flmconfig.yaml` which will automatically be picked up and parsed by `flm`:
383+
384+
**mydoc.flm**:
385+
```yaml
386+
---
387+
title: My Document
388+
date: May 15, 2026
389+
author: Me
390+
---
391+
392+
Dollar-inline \emph{math mode} works here ($a+b=c$) because the setting is
393+
picked up in the sibling \verbcode{flmconfig.yaml} file.
394+
…
395+
```
396+
397+
**flmconfig.yaml**:
398+
```yaml
399+
# yaml-language-server: $schema=https://flm-core.readthedocs.io/en/latest/flm-config-json-schema.json
400+
flm:
401+
parsing:
402+
# Enable/Disable math mode with $ signs as in LaTeX
403+
# in addition to \( ...\)
404+
dollar_inline_math_mode: true
405+
#...
406+
407+
renderer:
408+
html:
409+
use_link_target_blank: false
410+
411+
# ...
412+
413+
features:
414+
# ...
415+
```
416+
417+
The line `# yaml-language-server: $schema=………` is a YAML comment that has no effect for FLM. You
418+
can however likely set up your editor (VS Code, Emacs, ...) to give you additional hints as to
419+
which fields are allowed and what types are expected in the configuration. In VS Code, install
420+
the *Red Hat YAML* extension. In Emacs, try `lsp-mode` or `eglot` after doing
421+
`npm i -g yaml-language-server` and making sure that node is in your system environment
422+
`$PATH` seen by emacs.
423+
424+
You can even create per-output-format flm config files. Say we have the files
425+
**flmconfig.html.yaml**, **flmconfig.latex.yaml**, and **flmconfig.yaml**. When
426+
compiling a FLM document into HTML, the files **flmconfig.html.yaml** and **flmconfig.yaml**
427+
are both merged into the config. See the documentation for more details.
428+
369429
## Additional Features such as *Citations*
370430

371431
Additional features can be imported in the flm config. They can reside in other
@@ -398,7 +458,8 @@ hopefully come soon.
398458

399459
# Using the `flm` package
400460

401-
Needs doc.
461+
Please read the docs (or have your favorite AI companion read the docs) at
462+
https://flm-core.readthedocs.io/ .
402463

403464
## Example. Converting FLM to HTML
404465

0 commit comments

Comments
 (0)