aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/meta/metadoc_harvest.d
blob: 362ba34cd5f5bf00add8b6010cb9305a74ec9a40 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
module doc_reform.meta.metadoc_harvest;
template spineMetaDocHarvest() {
  auto spineMetaDocHarvest(T,H)(
    T  doc_matters,
    H  hvst,
  ) @safe {
    import
      doc_reform.meta.defaults,
      doc_reform.meta.rgx;
    import
      std.array,
      std.exception,
      std.regex,
      std.stdio,
      std.string,
      std.traits,
      std.typecons,
      std.uni,
      std.utf,
      std.conv : to;
    mixin InternalMarkup;
    auto markup = InlineMarkup();
    import doc_reform.io_out.paths_output;
    auto pth_html_abs                  = spinePathsHTML!()(doc_matters.output_path, doc_matters.src.language);
    auto pth_html_rel                  = spineDocRootTreeHTML!()(doc_matters.src.language);
    hvst.harvest.title                 = doc_matters.conf_make_meta.meta.title_full;
    hvst.harvest.author                = doc_matters.conf_make_meta.meta.creator_author;
    hvst.harvest.author_surname        = doc_matters.conf_make_meta.meta.creator_author_surname;
    hvst.harvest.author_surname_fn     = doc_matters.conf_make_meta.meta.creator_author_surname_fn;
    hvst.harvest.author_arr            = doc_matters.conf_make_meta.meta.creator_author_arr;
    hvst.harvest.language_original     = doc_matters.conf_make_meta.meta.original_language;
    hvst.harvest.language              = doc_matters.src.language;
    hvst.harvest.uid                   = doc_matters.src.doc_uid;
    hvst.harvest.date_published        = doc_matters.conf_make_meta.meta.date_published;
    hvst.harvest.topic_register_arr    = doc_matters.conf_make_meta.meta.classify_topic_register_arr;
    hvst.harvest.path_html_metadata    = pth_html_rel.fn_metadata(doc_matters.src.filename);
    hvst.harvest.path_html_scroll      = pth_html_rel.fn_scroll(doc_matters.src.filename);
    hvst.harvest.path_html_segtoc      = pth_html_rel.fn_seg(doc_matters.src.filename, "toc");
    hvst.harvest.path_abs_html_scroll  = pth_html_abs.fn_scroll(doc_matters.src.filename);
    hvst.harvest.path_abs_html_segtoc  = pth_html_abs.fn_seg(doc_matters.src.filename, "toc");
    return hvst.harvest;
  }
}