aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisudoc/outputs/io_out/hub.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisudoc/outputs/io_out/hub.d')
-rw-r--r--src/sisudoc/outputs/io_out/hub.d15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/sisudoc/outputs/io_out/hub.d b/src/sisudoc/outputs/io_out/hub.d
index 0973097..254eaa5 100644
--- a/src/sisudoc/outputs/io_out/hub.d
+++ b/src/sisudoc/outputs/io_out/hub.d
@@ -62,6 +62,21 @@ template outputHub() {
@system void outputHub(D)(D doc) {
mixin Msg;
auto msg = Msg!()(doc.matters);
+ /+ ↓ the po4a configuration, printed rather than written.
+ Spine does not write into a source tree, and this belongs beside the
+ catalogues in the pod it describes, so it goes to stdout for the
+ caller to put where they want it:
+ spine --po4a-cfg <pod> > <pod>/tools/po4a/po4a.cfg
+ Once per document, not once per language: it is generated from the
+ source language's files and names every other language itself.
+ +/
+ if (doc.matters.opt.action.po4a_cfg
+ && doc.matters.src.language == doc.matters.pod.manifest_list_of_languages[0]
+ ) {
+ import sisudoc.outputs.io_out.po4a_cfg;
+ mixin spinePo4aConfig;
+ write(po4aConfig(doc.matters));
+ }
enum outTask { source_or_pod, sqlite, sqlite_multi, latex, odt, epub, html_scroll, html_seg, html_stuff, text, skel }
void Scheduled(D)(int sched, D doc) {
auto msg = Msg!()(doc.matters);