aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/meta/metadoc_harvest.d
blob: 83c6d356e2c7d2a9c4c6932b09cf9ec76cfb195a (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
module doc_reform.meta.metadoc_harvest;
template DocReformMetaDocHarvest() {
  auto DocReformMetaDocHarvest(T,H)(
    T  doc_matters,
    H  hvst,
  ) {
    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.output.paths_output;
    auto pth_html_abs               = DocReformPathsHTML!()(doc_matters.output_path, doc_matters.src.language);
    auto pth_html_rel               = DocReformDocRootTreeHTML!()(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_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");
    return hvst.harvest;
  }
}