diff options
24 files changed, 482 insertions, 482 deletions
| diff --git a/.envrc-local_ b/.envrc-local_ index 0ceb0ea..8b9d535 100644 --- a/.envrc-local_ +++ b/.envrc-local_ @@ -91,23 +91,23 @@ $SpineBIN/spine --very-verbose --sqlite-discrete --output="$SpineOUTversioned" $  $SpineBIN/spine --verbose --pod --html --epub --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*  #+END_SRC -*** harvest (authors topics) +*** curate (authors topics)  #+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --harvest --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --very-verbose --curate --output="$SpineOUTversioned" $SpinePOD/*  #+END_SRC -*** html, harvest +*** html, curate  #+BEGIN_SRC sh -$SpineBIN/spine --verbose --dark --html --html-link-harvest --harvest --output="$SpineOUTversioned" $SpinePOD/* -$SpineBIN/spine --very-verbose --html --html-link-harvest --harvest --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --verbose --dark --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --very-verbose --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/*  #+END_SRC -*** composite command: source pod, html, epub, harvest, sqlite +*** composite command: source pod, html, epub, curate, sqlite  #+BEGIN_SRC sh -$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*  #+END_SRC  ** sequential tasks @@ -135,10 +135,10 @@ $SpineBIN/spine --very-verbose --sqlite-db-drop --output="$SpineOUTversioned"  $SpineBIN/spine --very-verbose --sqlite-db-create --sqlite-update --output="$SpineOUTversioned" $SpinePOD/*  #+END_SRC -*** composite command: source pod, html, epub, harvest, sqlite +*** composite command: source pod, html, epub, curate, sqlite  #+BEGIN_SRC sh -$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*  #+END_SRC  ** config [./pod/].dr/config_local_site @@ -167,7 +167,7 @@ $SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local  *** generate html linked to search form  #+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest  --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate  --output=$SpineOUTstatic $SpinePOD/*  #+END_SRC  *** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate) @@ -183,10 +183,10 @@ $SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="spine.search.db" -  $SpineBIN/spine -v --sqlite-update --sqlite-db-filename="spine.search.db" --output=$SpineOUTstatic $SpinePOD/*  #+END_SRC -*** generate html (linked to search form), sql output, harvest COMPOSITE +*** generate html (linked to search form), sql output, curate COMPOSITE  #+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --sqlite-update --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --output="$SpineOUTstatic" $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --output="$SpineOUTstatic" $SpinePOD/*  #+END_SRC  *** make search form @@ -135,12 +135,12 @@ at the time of writing this provides the following output:                          --debug debug                         --digest hash digest for each object                           --epub process epub output -                      --harvest extract info on authors & topics from document header metadata -              --harvest-authors extract info on authors from document header metadata -               --harvest-topics extract info on topics from document header metadata +                      --curate extract info on authors & topics from document header metadata +              --curate-authors extract info on authors from document header metadata +               --curate-topics extract info on topics from document header metadata                       --hide-ocn object cite numbers                           --html process html output -            --html-link-harvest place links back to harvest in segmented html +            --html-link-curate place links back to curate in segmented html               --html-link-search html embedded search submission                       --html-seg process html output                    --html-scroll process html output @@ -207,24 +207,24 @@ if configuartion has not been set or to overide the set configration specify  note: ~webDocRoot should be the path to web doc root, provide a suitable output path. -  spine -v --html --html-link-search --html-link-harvest  --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate  --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --html-link-harvest --epub --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate --epub --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --epub --latex --odt --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --epub --latex --odt --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -## harvest +## curate  if you have a document collection with documents that have metadata headers a -summary of the collection can be made using the harvest command +summary of the collection can be made using the curate command -  spine -v --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --harvest ~spineMarkupSamples/pod/* +  spine -v --curate ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --html-link-harvest --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --html-link-harvest --harvest ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate --curate ~spineMarkupSamples/pod/*  ## sqlite @@ -308,7 +308,7 @@ cgi-bin directory    spine -v --html --html-link-search --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --cgi-sqlite-search-filename="spine-search" --html-link-harvest --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --cgi-sqlite-search-filename="spine-search" --html-link-curate --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/*  ### create db & search form diff --git a/doc/man/man1/spine.1 b/doc/man/man1/spine.1 index 64a916a..5701e03 100644 --- a/doc/man/man1/spine.1 +++ b/doc/man/man1/spine.1 @@ -152,17 +152,17 @@ not implemented  .B --epub [path + filename]  produces an epub document  .TP -.B --harvest [path to files] +.B --curate [path to files]  extract and present info on authors & topics from document header metadata.  makes two lists of sisu output based on the sisu markup documents in a  directory: list of author and authors works (year and titles), and; list by  topic with titles and author. Makes use of header metadata fields (author,  title, date, topic_register).  .TP -.B --harvest-authors [path to files] +.B --curate-authors [path to files]  extract and present info on authors from metadata in document headers  .TP -.B --harvest-topics [path to files] +.B --curate-topics [path to files]  extract and present info on topics from metadata in document headers  .TP  .B --hide-ocn @@ -172,9 +172,9 @@ turn visibility of object numbers off  produces html output in two forms (i) segmented text with table of contents  (toc.html and index.html) and (ii) the document in a single file (scroll.html).  .TP -.B --html-link-harvest -within html output creates link to the document set metadata harvest output -part of --html output instruction and assumes that --harvest has been or will +.B --html-link-curate +within html output creates link to the document set metadata curate output +part of --html output instruction and assumes that --curate has been or will   be run  .TP  .B --html-link-search @@ -550,9 +550,9 @@ pod (directory may contain multiple documents)  .TP  note: ~webDocRoot should be the path to web doc root, provide a suitable output path.  .TP -spine -v --html --html-link-search --html-link-harvest --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +spine -v --html --html-link-search --html-link-curate --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/*  .TP -spine -v --html --html-link-search --html-link-harvest --epub --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +spine -v --html --html-link-search --html-link-curate --epub --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/*  .TP  spine -v --sqlite-db-create --sqlite-db-filename="spine.search.db" --output=`echo ~webDocRoot` ~spineMarkupSamples/pod  .TP @@ -4031,7 +4031,7 @@ matches are found.  .SH SEE ALSO         sisu(1),         sisu-epub(1), -       sisu-harvest(1), +       sisu-curate(1),         sisu-html(1),         sisu-odf(1),         sisu-pdf(1), diff --git a/meson.build b/meson.build index 8f1c5d4..67ccfe5 100644 --- a/meson.build +++ b/meson.build @@ -35,9 +35,9 @@ spine_src = [    'src/doc_reform/meta/doc_debugs.d',    'src/doc_reform/meta/metadoc.d',    'src/doc_reform/meta/metadoc_from_src.d', -  'src/doc_reform/meta/metadoc_harvest.d', -  'src/doc_reform/meta/metadoc_harvests_authors.d', -  'src/doc_reform/meta/metadoc_harvests_topics.d', +  'src/doc_reform/meta/metadoc_curate.d', +  'src/doc_reform/meta/metadoc_curate_authors.d', +  'src/doc_reform/meta/metadoc_curate_topics.d',    'src/doc_reform/meta/metadoc_object_setter.d',    'src/doc_reform/meta/metadoc_show_config.d',    'src/doc_reform/meta/metadoc_show_make.d', diff --git a/org/config_meson.org b/org/config_meson.org index 1366f8b..27aac22 100644 --- a/org/config_meson.org +++ b/org/config_meson.org @@ -150,9 +150,9 @@ spine_src = [    'src/doc_reform/meta/doc_debugs.d',    'src/doc_reform/meta/metadoc.d',    'src/doc_reform/meta/metadoc_from_src.d', -  'src/doc_reform/meta/metadoc_harvest.d', -  'src/doc_reform/meta/metadoc_harvests_authors.d', -  'src/doc_reform/meta/metadoc_harvests_topics.d', +  'src/doc_reform/meta/metadoc_curate.d', +  'src/doc_reform/meta/metadoc_curate_authors.d', +  'src/doc_reform/meta/metadoc_curate_topics.d',    'src/doc_reform/meta/metadoc_object_setter.d',    'src/doc_reform/meta/metadoc_show_config.d',    'src/doc_reform/meta/metadoc_show_make.d', diff --git a/org/config_misc.org b/org/config_misc.org index 587a47c..2b024f8 100644 --- a/org/config_misc.org +++ b/org/config_misc.org @@ -152,7 +152,7 @@ find data/sisudir/media/text -name *.ss[tm] | sort | xargs  ~dr/bin/spine-ldc -v  --sqlite-update --sqlite-db-filename="spine.search.db"   --output=/var/www/html \    ~grotto/repo/git.repo/code/project-spine/doc-reform-markup/markup_samples/markup/pod/* -~dr/bin/spine-ldc -v --html --harvest-link  --output=/var/www/html \ +~dr/bin/spine-ldc -v --html --curate-link  --output=/var/www/html \     ~grotto/repo/git.repo/code/project-spine/doc-reform-markup/markup_samples/markup/pod/*  ~dr/bin/spine-ldc -q --show-config --html --output=/var/www/html ~grotto/repo/git.repo/code/project-spine/doc-reform-markup/markup_samples/markup/pod diff --git a/org/config_nix.org b/org/config_nix.org index 2268ac6..49bb6f8 100644 --- a/org/config_nix.org +++ b/org/config_nix.org @@ -227,23 +227,23 @@ $SpineBIN/spine --very-verbose --sqlite-discrete --output="$SpineOUTversioned" $  $SpineBIN/spine --verbose --pod --html --epub --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*  ,#+END_SRC -,*** harvest (authors topics) +,*** curate (authors topics)  ,#+BEGIN_SRC sh -$SpineBIN/spine --very-verbose --harvest --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --very-verbose --curate --output="$SpineOUTversioned" $SpinePOD/*  ,#+END_SRC -,*** html, harvest +,*** html, curate  ,#+BEGIN_SRC sh -$SpineBIN/spine --verbose --dark --html --html-link-harvest --harvest --output="$SpineOUTversioned" $SpinePOD/* -$SpineBIN/spine --very-verbose --html --html-link-harvest --harvest --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --verbose --dark --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --very-verbose --html --html-link-curate --curate --output="$SpineOUTversioned" $SpinePOD/*  ,#+END_SRC -,*** composite command: source pod, html, epub, harvest, sqlite +,*** composite command: source pod, html, epub, curate, sqlite  ,#+BEGIN_SRC sh -$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --verbose --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*  ,#+END_SRC  ,** sequential tasks @@ -271,10 +271,10 @@ $SpineBIN/spine --very-verbose --sqlite-db-drop --output="$SpineOUTversioned"  $SpineBIN/spine --very-verbose --sqlite-db-create --sqlite-update --output="$SpineOUTversioned" $SpinePOD/*  ,#+END_SRC -,*** composite command: source pod, html, epub, harvest, sqlite +,*** composite command: source pod, html, epub, curate, sqlite  ,#+BEGIN_SRC sh -$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-harvest --harvest --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/* +$SpineBIN/spine --verbose --no-parallel --dark --pod --epub --html --html-link-curate --curate --sqlite-discrete --output="$SpineOUTversioned" $SpinePOD/*  ,#+END_SRC  ,** config [./pod/].dr/config_local_site @@ -303,7 +303,7 @@ $SpineBIN/spine -v --cgi-search-form-codegen --config=$SpinePOD/.dr/config_local  ,*** generate html linked to search form  ,#+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest  --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate  --output=$SpineOUTstatic $SpinePOD/*  ,#+END_SRC  ,*** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate) @@ -319,10 +319,10 @@ $SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="<<spine_search_db>  $SpineBIN/spine -v --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --output=$SpineOUTstatic $SpinePOD/*  ,#+END_SRC -,*** generate html (linked to search form), sql output, harvest COMPOSITE +,*** generate html (linked to search form), sql output, curate COMPOSITE  ,#+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>" --output="$SpineOUTstatic" $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>" --output="$SpineOUTstatic" $SpinePOD/*  ,#+END_SRC  ,*** make search form @@ -934,10 +934,10 @@ nix-build && sudo cp -vi result/share/cgi-bin/spine_search $SpineCgiBIN/.  $SpineBIN/spine -v --show-config --config=$SpinePOD/.dr  ,#+END_SRC -,*** generate html (linked to search form & harvest) +,*** generate html (linked to search form & curate)  ,#+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>"--output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>"--output=$SpineOUTstatic $SpinePOD/*  ,#+END_SRC  ,*** generate sql output @@ -946,11 +946,11 @@ $SpineBIN/spine -v --html --html-link-search --html-link-harvest --sqlite-db-fil  SpineBIN/spine -v --sqlite-update --sqlite-db-filename="<<spine_search_db>>" --output=$SpineOUTstatic $SpinePOD/*  ,#+END_SRC -,*** generate harvest +,*** generate curate  ,#+BEGIN_SRC sh -$SpineBIN/spine -v --harvest --output=$SpineOUTstatic $SpinePOD/* -$SpineBIN/spine -v --html --html-link-harvest --harvest  --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --curate --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-curate --curate  --output=$SpineOUTstatic $SpinePOD/*  ,#+END_SRC  ,*** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate) @@ -959,10 +959,10 @@ $SpineBIN/spine -v --html --html-link-harvest --harvest  --output=$SpineOUTstati  $SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="<<spine_search_db>>" --output="$SpineOUTstatic"  ,#+END_SRC -,*** generate html (linked to search form), sql output, harvest +,*** generate html (linked to search form), sql output, curate  ,#+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>" --sqlite-update --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-db-filename="<<spine_search_db>>" --cgi-sqlite-search-filename="<<spine_search_cgi>>" --sqlite-update --output=$SpineOUTstatic $SpinePOD/*  ,#+END_SRC  ,*** make search form diff --git a/org/default_misc.org b/org/default_misc.org index 50a932c..0a1dad4 100644 --- a/org/default_misc.org +++ b/org/default_misc.org @@ -29,7 +29,7 @@  +/  module doc_reform.meta.defaults;  <<meta_defaults_template_node>> -<<meta_defaults_template_harvest>> +<<meta_defaults_template_curate_metadata>>  <<meta_defaults_template_biblio>>  <<defaults_template_markup>>  <<defaults_template_language_codes>> @@ -85,14 +85,14 @@ template spineNode() {  }  #+END_SRC -** template: harvest +** template: curate -#+NAME: meta_defaults_template_harvest +#+NAME: meta_defaults_template_curate_metadata  #+BEGIN_SRC d -template spineHarvest() { -  @safe auto spineHarvest() { -    struct _Harvest { -      struct Harvest { +template spineCurateMetadata() { +  @safe auto spineCurateMetadata() { +    struct _Curate { +      struct Curate {          string   title                = "";          string[] author_arr           = [];          string   author               = ""; @@ -114,11 +114,11 @@ template spineHarvest() {          string   url_html_scroll      = "";          string   url_epub             = "";        } -      Harvest harvest; -      Harvest[] harvests; -      Harvest[][string][string][string][string] subject_trees; +      Curate curate; +      Curate[] curates; +      Curate[][string][string][string][string] subject_trees;      } -    return _Harvest(); +    return _Curate();    }  }  #+END_SRC diff --git a/org/default_paths.org b/org/default_paths.org index 376201f..1eae1c7 100644 --- a/org/default_paths.org +++ b/org/default_paths.org @@ -1188,8 +1188,8 @@ template spinePathsHTML() {        string doc_root() {          return ((output_path_root.chainPath(doc_tree.doc_root)).asNormalizedPath).array;        } -      string harvest(string fn_harvest) { -        return doc_root ~ "/" ~ fn_harvest; +      string curate(string fn_curate) { +        return doc_root ~ "/" ~ fn_curate;        }        string internal_base() {          return ((doc_tree.base).asNormalizedPath).array; @@ -1255,10 +1255,10 @@ template spineUrlsHTML() {        string doc_root() {          return url_doc_root ~ ((doc_tree.doc_root).asNormalizedPath).array;        } -      string harvest(string fn_harvest) { +      string curate(string fn_curate) {          return format(q"┃%s/%s┃",            doc_root, -          fn_harvest, +          fn_curate,          );        }        string base() { diff --git a/org/out_harvest_metadata.org b/org/out_curate_metadata.org index c3d4fff..e085fe7 100644 --- a/org/out_harvest_metadata.org +++ b/org/out_curate_metadata.org @@ -1,5 +1,5 @@  -*- mode: org -*- -#+TITLE:       spine (doc_manifest) metadata (multidocument) harvests +#+TITLE:       spine (doc_manifest) metadata (multidocument) curates  #+DESCRIPTION: documents - structuring, various output representations & search  #+FILETAGS:    :spine:hub:  #+AUTHOR:      Ralph Amissah @@ -16,28 +16,28 @@  #+PROPERTY:    header-args+ :padline no  #+PROPERTY:    header-args+ :mkdirp yes -* document harvest _summary_ :module:spine:metadoc_show_summary: +* document curate _summary_ :module:spine:metadoc_show_summary:  - html -  ~dr/bin/spine-ldc -v --html --html-link-harvest --harvest \ +  ~dr/bin/spine-ldc -v --html --html-link-curate --curate \      --output=/var/www/html \      ~grotto/repo/git.repo/code/project-spine/doc-reform-markup/markup_samples/markup/pod/* -** _module template_ metadoc harvest +** _module template_ metadoc curate -#+HEADER: :tangle "../src/doc_reform/meta/metadoc_harvest.d" +#+HEADER: :tangle "../src/doc_reform/meta/metadoc_curate.d"  #+BEGIN_SRC d  <<doc_header_including_copyright_and_license>> -module doc_reform.meta.metadoc_harvest; -template spineMetaDocHarvest() { -  @safe auto spineMetaDocHarvest(T,H)( +module doc_reform.meta.metadoc_curate; +template spineMetaDocCurate() { +  @safe auto spineMetaDocCurate(T,H)(      T  doc_matters,      H  hvst,    ) { -    <<metadoc_harvest_imports>> +    <<metadoc_curate_imports>>      mixin InternalMarkup; -    <<metadoc_harvest_initialize>> -    <<meta_metadoc_harvest>> +    <<metadoc_curate_initialize>> +    <<meta_metadoc_curate>>    }  }  #+END_SRC @@ -45,7 +45,7 @@ template spineMetaDocHarvest() {  ** init  *** imports -#+NAME: metadoc_harvest_imports +#+NAME: metadoc_curate_imports  #+BEGIN_SRC d  import    doc_reform.meta.defaults, @@ -64,14 +64,14 @@ import  *** initialize :report: -#+NAME: metadoc_harvest_initialize +#+NAME: metadoc_curate_initialize  #+BEGIN_SRC d  static auto mkup = InlineMarkup();  #+END_SRC -** harvest summary +** curate summary -#+NAME: meta_metadoc_harvest_summary +#+NAME: meta_metadoc_curate_summary  #+BEGIN_SRC d  auto min_repeat_number = 66;  auto char_repeat_number = (doc_matters.conf_make_meta.meta.title_full.length @@ -90,38 +90,38 @@ writefln(  );  #+END_SRC -** return harvest +** return curate -#+NAME: meta_metadoc_harvest +#+NAME: meta_metadoc_curate  #+BEGIN_SRC d  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; +hvst.curate.title                 = doc_matters.conf_make_meta.meta.title_full; +hvst.curate.author                = doc_matters.conf_make_meta.meta.creator_author; +hvst.curate.author_surname        = doc_matters.conf_make_meta.meta.creator_author_surname; +hvst.curate.author_surname_fn     = doc_matters.conf_make_meta.meta.creator_author_surname_fn; +hvst.curate.author_arr            = doc_matters.conf_make_meta.meta.creator_author_arr; +hvst.curate.language_original     = doc_matters.conf_make_meta.meta.original_language; +hvst.curate.language              = doc_matters.src.language; +hvst.curate.uid                   = doc_matters.src.doc_uid; +hvst.curate.date_published        = doc_matters.conf_make_meta.meta.date_published; +hvst.curate.topic_register_arr    = doc_matters.conf_make_meta.meta.classify_topic_register_arr; +hvst.curate.path_html_metadata    = pth_html_rel.fn_metadata(doc_matters.src.filename); +hvst.curate.path_html_scroll      = pth_html_rel.fn_scroll(doc_matters.src.filename); +hvst.curate.path_html_segtoc      = pth_html_rel.fn_seg(doc_matters.src.filename, "toc"); +hvst.curate.path_abs_html_scroll  = pth_html_abs.fn_scroll(doc_matters.src.filename); +hvst.curate.path_abs_html_segtoc  = pth_html_abs.fn_seg(doc_matters.src.filename, "toc"); +return hvst.curate;  #+END_SRC -** _module template_ metadoc harvest topics -*** _module template_ metadoc harvest topics template +** _module template_ metadoc curate topics +*** _module template_ metadoc curate topics template -#+HEADER: :tangle "../src/doc_reform/meta/metadoc_harvests_topics.d" +#+HEADER: :tangle "../src/doc_reform/meta/metadoc_curate_topics.d"  #+BEGIN_SRC d  <<doc_header_including_copyright_and_license>> -module doc_reform.meta.metadoc_harvests_topics; +module doc_reform.meta.metadoc_curate_topics;    import      std.algorithm,      std.array, @@ -133,34 +133,34 @@ module doc_reform.meta.metadoc_harvests_topics;    import      doc_reform.meta.defaults,      doc_reform.meta.rgx; -  mixin spineHarvest; +  mixin spineCurateMetadata;    mixin InternalMarkup; -template spineMetaDocHarvestsTopics() { +template spineMetaDocCuratesTopics() {    static auto mkup = InlineMarkup(); -  void spineMetaDocHarvestsTopics(H,M,O)( +  void spineMetaDocCuratesTopics(H,M,O)(      H  hvst,      M  _make_and_meta_struct,      O  _opt_action,    ) { -      <<harvested_html_search>> -      <<harvested_topics>> -<<harvested_html_themes_0>> -<<harvested_html_themes_1>> -<<harvested_topics_html_head_1>> -<<harvested_html_head>> -<<harvested_topics_html_head_2>> -<<harvested_topics_html_head_theme>> -      <<harvested_topics_html>> +      <<curated_html_search>> +      <<curated_topics>> +<<curated_html_themes_0>> +<<curated_html_themes_1>> +<<curated_topics_html_head_1>> +<<curated_html_head>> +<<curated_topics_html_head_2>> +<<curated_topics_html_head_theme>> +      <<curated_topics_html>>        topics -<<harvested_html_bottom>> -    <<harvested_topics_html_write>> +<<curated_html_bottom>> +    <<curated_topics_html_write>>    }  }  #+END_SRC  *** order topic register -#+NAME: harvested_topics +#+NAME: curated_topics  #+BEGIN_SRC d  auto min_repeat_number = 42;  string[] _document_topic_register; @@ -168,70 +168,70 @@ string[] _topic_register;  string[] _sub_topic_register;  string[] topics = [];  string _auth = ""; -foreach(k, doc_harvest; hvst.harvests) { +foreach(k, doc_curate; hvst.curates) {    _topic_register = []; -  foreach(topic; doc_harvest.topic_register_arr.sort) { +  foreach(topic; doc_curate.topic_register_arr.sort) {      _sub_topic_register = [];      string _spaces;      string[] subject_tree = topic.split(mkup.sep);      switch (subject_tree.length) {      case 1: -      hvst.subject_trees[subject_tree[0]]["_a"]["_a"]["_a"] ~= doc_harvest; +      hvst.subject_trees[subject_tree[0]]["_a"]["_a"]["_a"] ~= doc_curate;        break;      case 2: -      hvst.subject_trees[subject_tree[0]][subject_tree[1]]["_a"]["_a"] ~= doc_harvest; +      hvst.subject_trees[subject_tree[0]][subject_tree[1]]["_a"]["_a"] ~= doc_curate;        break;      case 3: -      hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]]["_a"] ~= doc_harvest; +      hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]]["_a"] ~= doc_curate;        break;      case 4: -      hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]][subject_tree[3]] ~= doc_harvest; +      hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]][subject_tree[3]] ~= doc_curate;        break;      default:        break;      }      _topic_register ~= _sub_topic_register.join("\n");    } -  auto char_repeat_number = (doc_harvest.title.length -    + doc_harvest.author.length + 16); +  auto char_repeat_number = (doc_curate.title.length +    + doc_curate.author.length + 16);    char_repeat_number = (char_repeat_number > min_repeat_number)    ? char_repeat_number    : min_repeat_number;    _document_topic_register ~= format(      "\"%s\", %s%s\n%s", -    doc_harvest.title, -    doc_harvest.author, -    (doc_harvest.date_published.length > 0) ? " (" ~ doc_harvest.date_published ~ ")" : "", +    doc_curate.title, +    doc_curate.author, +    (doc_curate.date_published.length > 0) ? " (" ~ doc_curate.date_published ~ ")" : "",      _topic_register.sort!("toUpper(a) < toUpper(b)", SwapStrategy.unstable).release.join("\n"),    );  }  #+END_SRC -*** harvested topics html head +*** curated topics html head -#+NAME: harvested_topics_html_head_1 +#+NAME: curated_topics_html_head_1  #+BEGIN_SRC d        topics ~= format(q"┃<!DOCTYPE html>  <html>  <head>  <meta charset="utf-8"> -<title>Metadata Harvest - Topics</title> +<title>Curated metadata - Topics</title>  #+END_SRC -*** harvested topics html head +*** curated topics html head -#+NAME: harvested_topics_html_head_2 +#+NAME: curated_topics_html_head_2  #+BEGIN_SRC d  </head>  <body lang="en" xml:lang="en">  <a name="top" id="top"></a>  <a name="up" id="up"></a>  <a name="start" id="start"></a> -<h1>Metadata Harvest - Topics (output organised by language & filetype)</h1> +<h1>Curated metadata - Topics (output organised by language & filetype)</h1>  <div class="flex-menu-bar">  <div class="flex-menu-option">  <p>[<a href="../../index.html"> HOME </a>] - [<a href="authors.html"> Metadata Harvest - Authors </a>] + [<a href="authors.html"> Curated metadata - Authors </a>]  </p>  </div>   %s @@ -241,9 +241,9 @@ foreach(k, doc_harvest; hvst.harvests) {  <hr />  #+END_SRC -*** harvested topics html head theme insert +*** curated topics html head theme insert -#+NAME: harvested_topics_html_head_theme +#+NAME: curated_topics_html_head_theme  #+BEGIN_SRC d  ┃",    _opt_action.css_theme_default ? theme_light_0 : theme_dark_0, @@ -252,9 +252,9 @@ foreach(k, doc_harvest; hvst.harvests) {  ) ~ "\n";  #+END_SRC -*** harvested topics html +*** curated topics html -#+NAME: harvested_topics_html +#+NAME: curated_topics_html  #+BEGIN_SRC d  char _prev_k = "_".to!char;  int _kn; @@ -442,14 +442,14 @@ foreach(k0;  }  #+END_SRC -*** harvested topics write +*** curated topics write -#+NAME: harvested_topics_html_write +#+NAME: curated_topics_html_write  #+BEGIN_SRC d  import doc_reform.io_out.paths_output;  auto out_pth = spinePathsHTML!()(_make_and_meta_struct.conf.output_path, "");  try { -  auto f       = File(out_pth.harvest("topics.html"), "w"); +  auto f       = File(out_pth.curate("topics.html"), "w");    foreach (o; topics) {      f.writeln(o);    } @@ -458,13 +458,13 @@ try {  }  #+END_SRC -** _module template_ metadoc harvests authors -*** _module template_ metadoc harvest authors +** _module template_ metadoc curates authors +*** _module template_ metadoc curate authors -#+HEADER: :tangle "../src/doc_reform/meta/metadoc_harvests_authors.d" +#+HEADER: :tangle "../src/doc_reform/meta/metadoc_curate_authors.d"  #+BEGIN_SRC d  <<doc_header_including_copyright_and_license>> -module doc_reform.meta.metadoc_harvests_authors; +module doc_reform.meta.metadoc_curate_authors;    import      std.algorithm,      std.array, @@ -476,32 +476,32 @@ module doc_reform.meta.metadoc_harvests_authors;    import      doc_reform.meta.defaults,      doc_reform.meta.rgx; -  mixin spineHarvest; +  mixin spineCurateMetadata;    mixin InternalMarkup; -template spineMetaDocHarvestsAuthors() { +template spineMetaDocCuratesAuthors() {    static auto mkup = InlineMarkup(); -  void spineMetaDocHarvestsAuthors(H,M,O)( -    H  harvests, +  void spineMetaDocCuratesAuthors(H,M,O)( +    H  curates,      M  _make_and_meta_struct,      O  _opt_action,    ) { -      <<harvested_html_search>> -<<harvested_html_themes_0>> -<<harvested_html_themes_1>> -<<harvested_authors_html_head_1>> -<<harvested_html_head>> -<<harvested_authors_html_head_2>> -<<harvested_authors_html_head_theme>> +      <<curated_html_search>> +<<curated_html_themes_0>> +<<curated_html_themes_1>> +<<curated_authors_html_head_1>> +<<curated_html_head>> +<<curated_authors_html_head_2>> +<<curated_authors_html_head_theme>>        authors -<<harvested_html_bottom>> -    <<harvested_authors_html_write>> +<<curated_html_bottom>> +    <<curated_authors_html_write>>    }  }  #+END_SRC -*** harvested authors html head +*** curated authors html head -#+NAME: harvested_authors_html_head_1 +#+NAME: curated_authors_html_head_1  #+BEGIN_SRC d        string[] authors = [];        authors ~= format(q"┃ @@ -509,23 +509,23 @@ template spineMetaDocHarvestsAuthors() {  <html>  <head>  <meta charset="utf-8"> -<title>Metadata Harvest - Authors</title> +<title>Curated metadata - Authors</title>  #+END_SRC -*** harvested authors html head +*** curated authors html head -#+NAME: harvested_authors_html_head_2 +#+NAME: curated_authors_html_head_2  #+BEGIN_SRC d  </head>  <body lang="en" xml:lang="en">  <a name="top" id="top"></a>  <a name="up" id="up"></a>  <a name="start" id="start"></a> -<h1>Metadata Harvest - Authors (output organised by language & filetype)</h1> +<h1>Curated metadata - Authors (output organised by language & filetype)</h1>  <div class="flex-menu-bar">  <div class="flex-menu-option">  <p>[<a href="../../index.html"> HOME </a>] - [<a href="topics.html"> Metadata Harvest - Topics </a>] + [<a href="topics.html"> Curated metadata - Topics </a>]  </p>  </div>  %s @@ -535,9 +535,9 @@ template spineMetaDocHarvestsAuthors() {  <p><a href="#A">A</a>, <a href="#B">B</a>, <a href="#C">C</a>, <a href="#D">D</a>, <a href="#E">E</a>, <a href="#F">F</a>, <a href="#G">G</a>, <a href="#H">H</a>, <a href="#I">I</a>, <a href="#J">J</a>, <a href="#K">K</a>, <a href="#L">L</a>, <a href="#M">M</a>, <a href="#N">N</a>, <a href="#O">O</a>, <a href="#P">P</a>, <a href="#Q">Q</a>, <a href="#R">R</a>, <a href="#S">S</a>, <a href="#T">T</a>, <a href="#U">U</a>, <a href="#V">V</a>, <a href="#W">W</a>, <a href="#X">X</a>, <a href="#Y">Y</a>, <a href="#Z">Z</a>,   #+END_SRC -*** harvested authors html theme inserts +*** curated authors html theme inserts -#+NAME: harvested_authors_html_head_theme +#+NAME: curated_authors_html_head_theme  #+BEGIN_SRC d  ┃",    _opt_action.css_theme_default ? theme_light_0 : theme_dark_0, @@ -549,8 +549,8 @@ template spineMetaDocHarvestsAuthors() {        string[] _author_date_title;        string _prev_auth = "";        char _prev_k = "_".to!char; -      foreach(doc_harvest; -        harvests +      foreach(doc_curate; +        curates          .multiSort!(            "toUpper(a.author_surname_fn) < toUpper(b.author_surname_fn)",            "a.date_published < b.date_published", @@ -558,38 +558,38 @@ template spineMetaDocHarvestsAuthors() {            SwapStrategy.unstable          )        ) { -        if (doc_harvest.author_surname_fn != _prev_auth) { -          _au[doc_harvest.author_surname_fn] +        if (doc_curate.author_surname_fn != _prev_auth) { +          _au[doc_curate.author_surname_fn]            = format(q"┃<p class="author"><a name="%s" class="lev0">%s</a></p> <p class="publication">%s "<a href="%s">%s</a>" [<a href="%s"> %s </a>]</p>┃", -            doc_harvest.author_surname.translate([' ' : "_"]), -            doc_harvest.author_surname_fn, -            (doc_harvest.date_published.length > 0) -              ? doc_harvest.date_published : "", -            doc_harvest.path_html_segtoc, -            doc_harvest.title, -            doc_harvest.path_html_metadata, -            doc_harvest.language, +            doc_curate.author_surname.translate([' ' : "_"]), +            doc_curate.author_surname_fn, +            (doc_curate.date_published.length > 0) +              ? doc_curate.date_published : "", +            doc_curate.path_html_segtoc, +            doc_curate.title, +            doc_curate.path_html_metadata, +            doc_curate.language,            ); -          _prev_auth = doc_harvest.author_surname_fn; +          _prev_auth = doc_curate.author_surname_fn;          } else { -          _au[doc_harvest.author_surname_fn] +          _au[doc_curate.author_surname_fn]            ~= format(q"┃<p class="publication">%s "<a href="%s">%s</a>" [<a href="%s"> %s </a>]</p>┃", -            (doc_harvest.date_published.length > 0) -              ? doc_harvest.date_published : "", -            doc_harvest.path_html_segtoc, -            doc_harvest.title, -            doc_harvest.path_html_metadata, -            doc_harvest.language, +            (doc_curate.date_published.length > 0) +              ? doc_curate.date_published : "", +            doc_curate.path_html_segtoc, +            doc_curate.title, +            doc_curate.path_html_metadata, +            doc_curate.language,            );          }          _author_date_title ~= format(q"┃%s %s "%s" [<a href="%s"> %s </a>]%s┃", -          doc_harvest.author_surname_fn, -          (doc_harvest.date_published.length > 0) -            ? "(" ~ doc_harvest.date_published ~ ")" : "", -          doc_harvest.title, -          doc_harvest.path_html_metadata, -          doc_harvest.language, -          (_opt_action.very_verbose) ? "\n  " ~ doc_harvest.path_abs_html_scroll : "", +          doc_curate.author_surname_fn, +          (doc_curate.date_published.length > 0) +            ? "(" ~ doc_curate.date_published ~ ")" : "", +          doc_curate.title, +          doc_curate.path_html_metadata, +          doc_curate.language, +          (_opt_action.very_verbose) ? "\n  " ~ doc_curate.path_abs_html_scroll : "",          );        }        foreach (k; _au.keys.sort) { @@ -604,14 +604,14 @@ template spineMetaDocHarvestsAuthors() {        }  #+END_SRC -*** harvested authors write +*** curated authors write -#+NAME: harvested_authors_html_write +#+NAME: curated_authors_html_write  #+BEGIN_SRC d  import doc_reform.io_out.paths_output;  auto out_pth = spinePathsHTML!()(_make_and_meta_struct.conf.output_path, "");  try { -  auto f       = File(out_pth.harvest("authors.html"), "w"); +  auto f       = File(out_pth.curate("authors.html"), "w");    foreach (o; authors) {      f.writeln(o);    } @@ -627,11 +627,11 @@ if (_opt_action.verbose  }  #+END_SRC -** harvested authors & topics shared html +** curated authors & topics shared html  *** themes  **** head -#+NAME: harvested_html_themes_0 +#+NAME: curated_html_themes_0  #+BEGIN_SRC d  string theme_dark_0 = format(q"┃    body { @@ -727,8 +727,8 @@ string theme_light_0 = format(q"┃  **** levels -#+NAME: harvested_html_themes_1 -#+BEGIN_SRC d +#+NAME: curated_html_themes_1 +#+BEGIN_SRC css  string theme_dark_1 = format(q"┃    h1 {      color                    : #FFFFFF; @@ -761,11 +761,11 @@ string theme_dark_1 = format(q"┃  string theme_light_1 = format(q"┃    h1 {      color                    : #FFFFFF; -    background               : #000088; +    background               : #1A3A7A;    }    p.letter {      color                    : #FFFFFF; -    background               : #880000; +    background               : #1A3A7A;    }    p.lev0 {      color                    : #FFFFFF; @@ -791,7 +791,7 @@ string theme_light_1 = format(q"┃  *** search form -#+NAME: harvested_html_search +#+NAME: curated_html_search  #+BEGIN_SRC d  @safe string inline_search_form(M)(    M  _make_and_meta_truct, @@ -826,18 +826,18 @@ string theme_light_1 = format(q"┃  }  #+END_SRC -*** harvested html head +*** curated html head -#+NAME: harvested_html_head +#+NAME: curated_html_head  #+BEGIN_SRC d  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> -<meta name="dc.title" content= "metadata harvest, Authors & Topics - information Structuring Universe, Structured information Serialised Units" /> +<meta name="dc.title" content= "metadata curate, Authors & Topics - information Structuring Universe, Structured information Serialised Units" />  <meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />  <meta name="generator" content="spine" />  <link rel="generator" href="https://sisudoc.org" /> -<link href="./css/harvest.css" rel="stylesheet"> +<link href="./css/curate.css" rel="stylesheet">  <style TYPE="text/css"> -/* spine harvest css default stylesheet */%s +/* spine curate css default stylesheet */%s    .norm, .bold {      line-height              : 150%%;      margin-left              : 1em; @@ -958,9 +958,9 @@ string theme_light_1 = format(q"┃  <link rel="shortcut icon" href="../_sisu/image/rb7.ico" />  #+END_SRC -*** harvested html bottom +*** curated html bottom -#+NAME: harvested_html_bottom +#+NAME: curated_html_bottom  #+BEGIN_SRC d        ~= format(q"┃  <hr /> diff --git a/org/out_metadata.org b/org/out_metadata.org index 6688bca..b8c2652 100644 --- a/org/out_metadata.org +++ b/org/out_metadata.org @@ -1,5 +1,5 @@  -*- mode: org -*- -#+TITLE:       spine (doc_manifest) metadata (document harvest) +#+TITLE:       spine (doc_manifest) metadata (document curate)  #+DESCRIPTION: documents - structuring, publishing in multiple formats & search  #+FILETAGS:    :spine:output:metadata:  #+AUTHOR:      Ralph Amissah @@ -16,7 +16,7 @@  #+PROPERTY:    header-args+ :padline no  #+PROPERTY:    header-args+ :mkdirp yes -* document harvest _summary_ :module:spine:metadoc_show_summary: +* document curate _summary_ :module:spine:metadoc_show_summary:  ** _module template_ metadoc document metadata @@ -26,14 +26,14 @@  module doc_reform.io_out.metadata;  template outputMetadata() {    @safe void outputMetadata(T)( T  doc_matters) { -    <<harvested_html_search>> +    <<curated_html_search>>      <<output_imports>> -<<harvested_html_themes_0>> -<<harvested_html_themes_1>> -<<harvested_topics_html_head_1>> -<<harvested_html_head>> -<<harvested_topics_html_head_2>> -<<harvested_topics_html_head_theme>> +<<curated_html_themes_0>> +<<curated_html_themes_1>> +<<curated_topics_html_head_1>> +<<curated_html_head>> +<<curated_topics_html_head_2>> +<<curated_topics_html_head_theme>>      <<output_metadata_write>>      <<output_metadata>>    } @@ -84,8 +84,8 @@ metadata_ ~= format(q"┃<body lang="en" xml:lang="en">  <a name="start" id="start"></a>  ┃");  metadata_ ~= "<div class=\"flex-menu-bar\"><div class=\"flex-menu-option\">"; -if (doc_matters.opt.action.html_harvest_link) { -  metadata_ ~= format(q"┃<p>[<a href="../../index.html"> HOME </a>] Metadata Harvest +if (doc_matters.opt.action.html_curate_link) { +  metadata_ ~= format(q"┃<p>[<a href="../../index.html"> HOME </a>] Curated metadata     [<a href="../../authors.html"> Authors </a>]     [<a href="../../topics.html"> Topics </a>]</p>  ┃"); @@ -100,7 +100,7 @@ if (!(doc_matters.conf_make_meta.meta.title_full.empty)) {    writeln("ERROR no Title information provided in document header ", doc_matters.src.filename_base);  }  if (!(doc_matters.conf_make_meta.meta.creator_author.empty)) { -  if (doc_matters.opt.action.html_harvest_link) { +  if (doc_matters.opt.action.html_curate_link) {      metadata_ ~= "<p class=\"lev1\">Author: <b><a href=\"../../authors.html#" ~ doc_matters.conf_make_meta.meta.creator_author_surname.translate([' ' : "_"]) ~ "\">"                                                 ~ doc_matters.conf_make_meta.meta.creator_author   ~ "</a></b></p>";    } else { @@ -145,7 +145,7 @@ if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) {      if (subject_tree.length > 0) {        if (subject_tree[0] != _top[0]) {          _top[0] = subject_tree[0]; -        if (doc_matters.opt.action.html_harvest_link) { +        if (doc_matters.opt.action.html_curate_link) {            metadata_ ~=              "<p class=\"lev1\"><a href=\"../../topics.html#"                ~ subject_tree[0].translate([' ' : "_"]) ~ "\">" @@ -160,7 +160,7 @@ if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) {          if (subject_tree[1] != _top[1]) {            _top[1] = subject_tree[1];            _top[2] = ""; _top[3] = ""; _top[4] = ""; -          if (doc_matters.opt.action.html_harvest_link) { +          if (doc_matters.opt.action.html_curate_link) {              metadata_ ~=                "<p class=\"lev2\"><a href=\"../../topics.html#"                  ~ subject_tree[0].translate([' ' : "_"]) ~ "." @@ -176,7 +176,7 @@ if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) {            if (subject_tree[2] != _top[2]) {              _top[2] = subject_tree[2];              _top[3] = ""; _top[4] = ""; -            if (doc_matters.opt.action.html_harvest_link) { +            if (doc_matters.opt.action.html_curate_link) {                metadata_ ~=                  "<p class=\"lev3\"><a href=\"../../topics.html#"                    ~ subject_tree[0].translate([' ' : "_"]) ~ "." @@ -193,7 +193,7 @@ if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) {              if (subject_tree[3] != _top[3]) {                _top[3] = subject_tree[3];                _top[4] = ""; -              if (doc_matters.opt.action.html_harvest_link) { +              if (doc_matters.opt.action.html_curate_link) {                  metadata_ ~=                    "<p class=\"lev4\"><a href=\"../../topics.html#"                      ~ subject_tree[0].translate([' ' : "_"]) ~ "." @@ -210,7 +210,7 @@ if (doc_matters.conf_make_meta.meta.classify_topic_register_arr.length > 0) {              if (subject_tree.length > 4) {                if (subject_tree[4] != _top[4]) {                  _top[4] = subject_tree[4]; -                if (doc_matters.opt.action.html_harvest_link) { +                if (doc_matters.opt.action.html_curate_link) {                    metadata_ ~=                      "<p class=\"lev5\"><a href=\"../../topics.html#"                        ~ subject_tree[0].translate([' ' : "_"]) ~ "." @@ -263,7 +263,7 @@ metadata_write_output(doc_matters, metadata_);  *** themes  **** head -#+NAME: harvested_html_themes_0 +#+NAME: curated_html_themes_0  #+BEGIN_SRC css  string theme_dark_0 = format(q"┃    body { @@ -329,7 +329,7 @@ string theme_light_0 = format(q"┃  **** levels -#+NAME: harvested_html_themes_1 +#+NAME: curated_html_themes_1  #+BEGIN_SRC css  string theme_dark_1 = format(q"┃    h1 { @@ -344,43 +344,43 @@ string theme_dark_1 = format(q"┃  string theme_light_1 = format(q"┃    h1 {      color                    : #FFFFFF; -    background               : #000088; +    background               : #1A3A7A;    }    p.letter {      color                    : #FFFFFF; -    background               : #880000; +    background               : #1A3A7A;    }  ┃");  #+END_SRC -*** harvested topics html head +*** curated topics html head -#+NAME: harvested_topics_html_head_1 +#+NAME: curated_topics_html_head_1  #+BEGIN_SRC d        metadata_ ~= format(q"┃<!DOCTYPE html>  <html>  <head>  <meta charset="utf-8"> -<title>Metadata Harvest - Topics</title> +<title>Curated metadata - Topics</title>  #+END_SRC -#+NAME: harvested_topics_html_head_2 +#+NAME: curated_topics_html_head_2  #+BEGIN_SRC d  </head>  #+END_SRC -*** harvested html head +*** curated html head -#+NAME: harvested_html_head +#+NAME: curated_html_head  #+BEGIN_SRC d  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="dc.title" content= "metadata harvest, Authors & Topics - information Structuring Universe, Structured information Serialised Units" /> +<meta name="dc.title" content= "metadata curate, Authors & Topics - information Structuring Universe, Structured information Serialised Units" />  <meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />  <meta name="generator" content="spine" />  <link rel="generator" href="https://sisudoc.org" /> -<link href="./css/harvest.css" rel="stylesheet"> +<link href="./css/curate.css" rel="stylesheet">  <style TYPE="text/css"> -/* spine harvest css default stylesheet */%s +/* spine curate css default stylesheet */%s    .norm, .bold {      line-height              : 150%%;      margin-left              : 1em; @@ -501,9 +501,9 @@ string theme_light_1 = format(q"┃  <link rel="shortcut icon" href="../_sisu/image/rb7.ico" />  #+END_SRC -*** harvested html bottom +*** curated html bottom -#+NAME: harvested_html_bottom +#+NAME: curated_html_bottom  #+BEGIN_SRC d        ~= format(q"┃  <hr /> @@ -518,9 +518,9 @@ string theme_light_1 = format(q"┃  ┃") ~ "\n";  #+END_SRC -*** harvested topics html head theme insert +*** curated topics html head theme insert -#+NAME: harvested_topics_html_head_theme +#+NAME: curated_topics_html_head_theme  #+BEGIN_SRC d  ┃",    doc_matters.opt.action.css_theme_default ? theme_light_0 : theme_dark_0, @@ -530,7 +530,7 @@ string theme_light_1 = format(q"┃  *** search form -#+NAME: harvested_html_search +#+NAME: curated_html_search  #+BEGIN_SRC d  @safe string inline_search_form(M)(    M  doc_matters, diff --git a/org/out_xmls.org b/org/out_xmls.org index 1379276..41175be 100644 --- a/org/out_xmls.org +++ b/org/out_xmls.org @@ -337,7 +337,7 @@ import    string type,  ) {    string o; -  string metadata_links = ((doc_matters.opt.action.html_harvest_link) +  string metadata_links = ((doc_matters.opt.action.html_curate_link)      ? format(q"┃<p class="tiny">[<a href="%smetadata.%s.html"> m </a>|<a href="%s../../authors.html"> A </a>|<a href="%s../../topics.html"> T </a>]</p>┃",          (type == "seg") ? "../" : "",          doc_matters.src.filename_base, diff --git a/org/output_show.org b/org/output_show.org index 1b3443b..e8bb130 100644 --- a/org/output_show.org +++ b/org/output_show.org @@ -1,5 +1,5 @@  -*- mode: org -*- -#+TITLE:       spine (doc_reform) metadata (multidocument) harvests +#+TITLE:       spine (doc_reform) metadata (multidocument) curates  #+DESCRIPTION: documents - structuring, various output representations & search  #+FILETAGS:    :spine:hub:  #+AUTHOR:      Ralph Amissah diff --git a/org/spine.org b/org/spine.org index 14d5297..2696511 100644 --- a/org/spine.org +++ b/org/spine.org @@ -108,21 +108,21 @@ string program_name = "spine";        }      }    } -  if (hvst.harvests.length > 0) { -    if (_opt_action.harvest_topics) { -      spineMetaDocHarvestsTopics!()(hvst, _make_and_meta_struct, _opt_action); +  if (hvst.curates.length > 0) { +    if (_opt_action.curate_topics) { +      spineMetaDocCuratesTopics!()(hvst, _make_and_meta_struct, _opt_action);      } -    if (_opt_action.harvest_authors) { -      spineMetaDocHarvestsAuthors!()(hvst.harvests, _make_and_meta_struct, _opt_action); +    if (_opt_action.curate_authors) { +      spineMetaDocCuratesAuthors!()(hvst.curates, _make_and_meta_struct, _opt_action);      }      if (!(_opt_action.quiet)) {        import doc_reform.io_out.paths_output;        auto out_pth = spinePathsHTML!()(_make_and_meta_struct.conf.output_path, ""); -      if (_opt_action.harvest_authors) { -        writeln("- ", out_pth.harvest("authors.html")); +      if (_opt_action.curate_authors) { +        writeln("- ", out_pth.curate("authors.html"));        } -      if (_opt_action.harvest_topics) { -        writeln("- ", out_pth.harvest("topics.html")); +      if (_opt_action.curate_topics) { +        writeln("- ", out_pth.curate("topics.html"));        }      }    } else { writeln("NO HARVESTS"); } @@ -203,9 +203,9 @@ import    doc_reform.conf.compile_time_info,    doc_reform.meta,    doc_reform.meta.metadoc, -  doc_reform.meta.metadoc_harvest, -  doc_reform.meta.metadoc_harvests_authors, -  doc_reform.meta.metadoc_harvests_topics, +  doc_reform.meta.metadoc_curate, +  doc_reform.meta.metadoc_curate_authors, +  doc_reform.meta.metadoc_curate_topics,    doc_reform.meta.metadoc_from_src,    doc_reform.meta.conf_make_meta_structs,    doc_reform.meta.conf_make_meta_json, @@ -294,7 +294,7 @@ mixin outputHub;  #+NAME: spine_init_0  #+BEGIN_SRC d -auto hvst = spineHarvest!(); +auto hvst = spineCurateMetadata!();  #+END_SRC  **** args :args: @@ -347,11 +347,11 @@ bool[string] opts = [    "debug"                       : false,    "digest"                      : false,    "epub"                        : false, -  "harvest"                     : false, -  "harvest-authors"             : false, -  "harvest-topics"              : false, +  "curate"                     : false, +  "curate-authors"             : false, +  "curate-topics"              : false,    "html"                        : false, -  "html-link-harvest"           : false, +  "html-link-curate"           : false,    "html-link-search"            : false,    "html-seg"                    : false,    "html-scroll"                 : false, @@ -444,16 +444,16 @@ auto helpInfo = getopt(args,    "cgi-url-action",             "url to post to cgi-bin search form",                             &settings["cgi-url-action"],    "cgi-search-title",           "title for cgi-bin search form",                                  &settings["cgi-search-title"],    "concordance",                "file for document",                                              &opts["concordance"], +  "curate",                    "extract info on authors & topics from document header metadata",  &opts["curate"], +  "curate-authors",            "extract info on authors from document header metadata",           &opts["curate-authors"], +  "curate-topics",             "extract info on topics from document header metadata",            &opts["curate-topics"],    "dark",                       "alternative dark theme",                                         &opts["dark"],    "debug",                      "debug",                                                          &opts["debug"],    "digest",                     "hash digest for each object",                                    &opts["digest"],    "epub",                       "process epub output",                                            &opts["epub"], -  "harvest",                    "extract info on authors & topics from document header metadata", &opts["harvest"], -  "harvest-authors",            "extract info on authors from document header metadata",          &opts["harvest-authors"], -  "harvest-topics",             "extract info on topics from document header metadata",           &opts["harvest-topics"],    "hide-ocn",                   "object cite numbers",                                            &opts["hide-ocn"],    "html",                       "process html output",                                            &opts["html"], -  "html-link-harvest",          "place links back to harvest in segmented html",                  &opts["html-link-harvest"], +  "html-link-curate",           "place links back to curate in segmented html",                   &opts["html-link-curate"],    "html-link-search",           "html embedded search submission",                                &opts["html-link-search"],    "html-seg",                   "process html output",                                            &opts["html-seg"],    "html-scroll",                "process html output",                                            &opts["html-scroll"], @@ -563,20 +563,20 @@ struct OptActions {    @trusted bool epub() {      return opts["epub"];    } -  @trusted bool html_harvest_link() { -    return (opts["html-link-harvest"]) ? true : false; +  @trusted bool html_curate_link() { +    return (opts["html-link-curate"]) ? true : false;    }    @trusted bool html_search_link() {      return (opts["html-link-search"]) ? true : false;    } -  @trusted bool harvest() { -    return (opts["harvest"] || opts["harvest-authors"] || opts["harvest-topics"]) ? true : false; +  @trusted bool curate() { +    return (opts["curate"] || opts["curate-authors"] || opts["curate-topics"]) ? true : false;    } -  @trusted bool harvest_authors() { -    return (opts["harvest"] || opts["harvest-authors"]) ? true : false; +  @trusted bool curate_authors() { +    return (opts["curate"] || opts["curate-authors"]) ? true : false;    } -  @trusted bool harvest_topics() { -    return (opts["harvest"] || opts["harvest-topics"]) ? true : false; +  @trusted bool curate_topics() { +    return (opts["curate"] || opts["curate-topics"]) ? true : false;    }    @trusted bool html() {      return (opts["html"] || opts["html-seg"] || opts["html-scroll"]) ? true : false; @@ -769,7 +769,7 @@ struct OptActions {      } else if (        opts["abstraction"]        || concordance -      || harvest +      || curate        || html        || epub        || odt @@ -818,7 +818,7 @@ struct OptActions {        opts["abstraction"]        || concordance        || source_or_pod -      || harvest +      || curate        || html        || epub        || odt @@ -833,7 +833,7 @@ struct OptActions {      return (        opts["abstraction"]        || epub -      || harvest +      || curate        || html        || html_seg        || html_scroll @@ -853,7 +853,7 @@ struct OptActions {    @trusted bool meta_processing_general() {      return (        opts["abstraction"] -      || harvest +      || curate        || html        || epub        || odt @@ -1249,23 +1249,23 @@ if (doc_matters.opt.action.show_config) {  }  #+END_SRC -***** abstraction harvest :abstraction:harvest: -- abstraction harvest +***** abstraction curate :abstraction:curate: +- abstraction curate  #+NAME: spine_each_file_do_debugs_checkdoc_4  #+BEGIN_SRC d -if (doc_matters.opt.action.harvest) { -  auto _hvst = spineMetaDocHarvest!()(doc_matters, hvst); +if (doc_matters.opt.action.curate) { +  auto _hvst = spineMetaDocCurate!()(doc_matters, hvst);    if (      _hvst.title.length > 0      && _hvst.author_surname_fn.length > 0    ) { -    hvst.harvests ~= _hvst; +    hvst.curates ~= _hvst;    } else {      if ((doc_matters.opt.action.debug_do)      || (doc_matters.opt.action.very_verbose)      ) { -      writeln("WARNING harvest: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc); +      writeln("WARNING curate: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc);      }    }  } @@ -1368,7 +1368,7 @@ template spineAbstraction() {  }  #+END_SRC -** Output & Harvest pre-processing +** Output & Curate pre-processing  *** 1. raw file content split, doc: _header_, _content_ +(lists: subdocs? images?)  - [[./source_read_files.org][source_read_files]] return tuple: header; body; insert file list; image list diff --git a/org/spine_info.org b/org/spine_info.org index 5c0b098..4babdca 100644 --- a/org/spine_info.org +++ b/org/spine_info.org @@ -196,12 +196,12 @@ at the time of writing this provides the following output:                          --debug debug                         --digest hash digest for each object                           --epub process epub output -                      --harvest extract info on authors & topics from document header metadata -              --harvest-authors extract info on authors from document header metadata -               --harvest-topics extract info on topics from document header metadata +                      --curate extract info on authors & topics from document header metadata +              --curate-authors extract info on authors from document header metadata +               --curate-topics extract info on topics from document header metadata                       --hide-ocn object cite numbers                           --html process html output -            --html-link-harvest place links back to harvest in segmented html +            --html-link-curate place links back to curate in segmented html               --html-link-search html embedded search submission                       --html-seg process html output                    --html-scroll process html output @@ -274,24 +274,24 @@ if configuartion has not been set or to overide the set configration specify  note: ~webDocRoot should be the path to web doc root, provide a suitable output path. -  spine -v --html --html-link-search --html-link-harvest  --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate  --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --html-link-harvest --epub --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate --epub --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --epub --latex --odt --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --epub --latex --odt --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -## harvest +## curate  if you have a document collection with documents that have metadata headers a -summary of the collection can be made using the harvest command +summary of the collection can be made using the curate command -  spine -v --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --harvest ~spineMarkupSamples/pod/* +  spine -v --curate ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --html-link-harvest --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --html-link-harvest --harvest ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --html-link-curate --curate ~spineMarkupSamples/pod/*  ## sqlite @@ -375,7 +375,7 @@ cgi-bin directory    spine -v --html --html-link-search --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* -  spine -v --html --html-link-search --cgi-sqlite-search-filename="spine-search" --html-link-harvest --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +  spine -v --html --html-link-search --cgi-sqlite-search-filename="spine-search" --html-link-curate --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/*  ### create db & search form @@ -609,17 +609,17 @@ not implemented  .B --epub [path + filename]  produces an epub document  .TP -.B --harvest [path to files] +.B --curate [path to files]  extract and present info on authors & topics from document header metadata.  makes two lists of sisu output based on the sisu markup documents in a  directory: list of author and authors works (year and titles), and; list by  topic with titles and author. Makes use of header metadata fields (author,  title, date, topic_register).  .TP -.B --harvest-authors [path to files] +.B --curate-authors [path to files]  extract and present info on authors from metadata in document headers  .TP -.B --harvest-topics [path to files] +.B --curate-topics [path to files]  extract and present info on topics from metadata in document headers  .TP  .B --hide-ocn @@ -629,9 +629,9 @@ turn visibility of object numbers off  produces html output in two forms (i) segmented text with table of contents  (toc.html and index.html) and (ii) the document in a single file (scroll.html).  .TP -.B --html-link-harvest -within html output creates link to the document set metadata harvest output -part of --html output instruction and assumes that --harvest has been or will +.B --html-link-curate +within html output creates link to the document set metadata curate output +part of --html output instruction and assumes that --curate has been or will   be run  .TP  .B --html-link-search @@ -1031,9 +1031,9 @@ pod (directory may contain multiple documents)  .TP  note: ~webDocRoot should be the path to web doc root, provide a suitable output path.  .TP -spine -v --html --html-link-search --html-link-harvest --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +spine -v --html --html-link-search --html-link-curate --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/*  .TP -spine -v --html --html-link-search --html-link-harvest --epub --harvest --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/* +spine -v --html --html-link-search --html-link-curate --epub --curate --output=`echo ~webDocRoot` ~spineMarkupSamples/pod/*  .TP  spine -v --sqlite-db-create --sqlite-db-filename="spine.search.db" --output=`echo ~webDocRoot` ~spineMarkupSamples/pod  .TP @@ -4525,7 +4525,7 @@ matches are found.  .SH SEE ALSO         sisu(1),         sisu-epub(1), -       sisu-harvest(1), +       sisu-curate(1),         sisu-html(1),         sisu-odf(1),         sisu-pdf(1), diff --git a/src/doc_reform/io_out/metadata.d b/src/doc_reform/io_out/metadata.d index 58d8b33..89e82bd 100644 --- a/src/doc_reform/io_out/metadata.d +++ b/src/doc_reform/io_out/metadata.d @@ -163,26 +163,26 @@ string theme_dark_1 = format(q"┃  string theme_light_1 = format(q"┃    h1 {      color                    : #FFFFFF; -    background               : #000088; +    background               : #1A3A7A;    }    p.letter {      color                    : #FFFFFF; -    background               : #880000; +    background               : #1A3A7A;    }  ┃");        metadata_ ~= format(q"┃<!DOCTYPE html>  <html>  <head>  <meta charset="utf-8"> -<title>Metadata Harvest - Topics</title> +<title>Curated metadata - Topics</title>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="dc.title" content= "metadata harvest, Authors & Topics - information Structuring Universe, Structured information Serialised Units" /> +<meta name="dc.title" content= "metadata curate, Authors & Topics - information Structuring Universe, Structured information Serialised Units" />  <meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />  <meta name="generator" content="spine" />  <link rel="generator" href="https://sisudoc.org" /> -<link href="./css/harvest.css" rel="stylesheet"> +<link href="./css/curate.css" rel="stylesheet">  <style TYPE="text/css"> -/* spine harvest css default stylesheet */%s +/* spine curate css default stylesheet */%s    .norm, .bold {      line-height              : 150%%;      margin-left              : 1em; @@ -351,8 +351,8 @@ string theme_light_1 = format(q"┃      <a name="start" id="start"></a>      ┃");      metadata_ ~= "<div class=\"flex-menu-bar\"><div class=\"flex-menu-option\">"; -    if (doc_matters.opt.action.html_harvest_link) { -      metadata_ ~= format(q"┃<p>[<a href="../../index.html"> HOME </a>] Metadata Harvest +    if (doc_matters.opt.action.html_curate_link) { +      metadata_ ~= format(q"┃<p>[<a href="../../index.html"> HOME </a>] Curated metadata         [<a href="../../authors.html"> Authors </a>]         [<a href="../../topics.html"> Topics </a>]</p>      ┃"); @@ -367,7 +367,7 @@ string theme_light_1 = format(q"┃        writeln("ERROR no Title information provided in document header ", doc_matters.src.filename_base);      }      if (!(doc_matters.conf_make_meta.meta.creator_author.empty)) { -      if (doc_matters.opt.action.html_harvest_link) { +      if (doc_matters.opt.action.html_curate_link) {          metadata_ ~= "<p class=\"lev1\">Author: <b><a href=\"../../authors.html#" ~ doc_matters.conf_make_meta.meta.creator_author_surname.translate([' ' : "_"]) ~ "\">"                                                     ~ doc_matters.conf_make_meta.meta.creator_author   ~ "</a></b></p>";        } else { @@ -412,7 +412,7 @@ string theme_light_1 = format(q"┃          if (subject_tree.length > 0) {            if (subject_tree[0] != _top[0]) {              _top[0] = subject_tree[0]; -            if (doc_matters.opt.action.html_harvest_link) { +            if (doc_matters.opt.action.html_curate_link) {                metadata_ ~=                  "<p class=\"lev1\"><a href=\"../../topics.html#"                    ~ subject_tree[0].translate([' ' : "_"]) ~ "\">" @@ -427,7 +427,7 @@ string theme_light_1 = format(q"┃              if (subject_tree[1] != _top[1]) {                _top[1] = subject_tree[1];                _top[2] = ""; _top[3] = ""; _top[4] = ""; -              if (doc_matters.opt.action.html_harvest_link) { +              if (doc_matters.opt.action.html_curate_link) {                  metadata_ ~=                    "<p class=\"lev2\"><a href=\"../../topics.html#"                      ~ subject_tree[0].translate([' ' : "_"]) ~ "." @@ -443,7 +443,7 @@ string theme_light_1 = format(q"┃                if (subject_tree[2] != _top[2]) {                  _top[2] = subject_tree[2];                  _top[3] = ""; _top[4] = ""; -                if (doc_matters.opt.action.html_harvest_link) { +                if (doc_matters.opt.action.html_curate_link) {                    metadata_ ~=                      "<p class=\"lev3\"><a href=\"../../topics.html#"                        ~ subject_tree[0].translate([' ' : "_"]) ~ "." @@ -460,7 +460,7 @@ string theme_light_1 = format(q"┃                  if (subject_tree[3] != _top[3]) {                    _top[3] = subject_tree[3];                    _top[4] = ""; -                  if (doc_matters.opt.action.html_harvest_link) { +                  if (doc_matters.opt.action.html_curate_link) {                      metadata_ ~=                        "<p class=\"lev4\"><a href=\"../../topics.html#"                          ~ subject_tree[0].translate([' ' : "_"]) ~ "." @@ -477,7 +477,7 @@ string theme_light_1 = format(q"┃                  if (subject_tree.length > 4) {                    if (subject_tree[4] != _top[4]) {                      _top[4] = subject_tree[4]; -                    if (doc_matters.opt.action.html_harvest_link) { +                    if (doc_matters.opt.action.html_curate_link) {                        metadata_ ~=                          "<p class=\"lev5\"><a href=\"../../topics.html#"                            ~ subject_tree[0].translate([' ' : "_"]) ~ "." diff --git a/src/doc_reform/io_out/paths_output.d b/src/doc_reform/io_out/paths_output.d index 86f418a..2fe7c50 100644 --- a/src/doc_reform/io_out/paths_output.d +++ b/src/doc_reform/io_out/paths_output.d @@ -222,8 +222,8 @@ template spinePathsHTML() {        string doc_root() {          return ((output_path_root.chainPath(doc_tree.doc_root)).asNormalizedPath).array;        } -      string harvest(string fn_harvest) { -        return doc_root ~ "/" ~ fn_harvest; +      string curate(string fn_curate) { +        return doc_root ~ "/" ~ fn_curate;        }        string internal_base() {          return ((doc_tree.base).asNormalizedPath).array; @@ -283,10 +283,10 @@ template spineUrlsHTML() {        string doc_root() {          return url_doc_root ~ ((doc_tree.doc_root).asNormalizedPath).array;        } -      string harvest(string fn_harvest) { +      string curate(string fn_curate) {          return format(q"┃%s/%s┃",            doc_root, -          fn_harvest, +          fn_curate,          );        }        string base() { diff --git a/src/doc_reform/io_out/xmls.d b/src/doc_reform/io_out/xmls.d index ab80a09..3857969 100644 --- a/src/doc_reform/io_out/xmls.d +++ b/src/doc_reform/io_out/xmls.d @@ -236,7 +236,7 @@ template outputXHTMLs() {        string type,      ) {        string o; -      string metadata_links = ((doc_matters.opt.action.html_harvest_link) +      string metadata_links = ((doc_matters.opt.action.html_curate_link)          ? format(q"┃<p class="tiny">[<a href="%smetadata.%s.html"> m </a>|<a href="%s../../authors.html"> A </a>|<a href="%s../../topics.html"> T </a>]</p>┃",              (type == "seg") ? "../" : "",              doc_matters.src.filename_base, diff --git a/src/doc_reform/meta/defaults.d b/src/doc_reform/meta/defaults.d index 4429f80..ec6ba49 100644 --- a/src/doc_reform/meta/defaults.d +++ b/src/doc_reform/meta/defaults.d @@ -95,10 +95,10 @@ template spineNode() {      return _node;    }  } -template spineHarvest() { -  @safe auto spineHarvest() { -    struct _Harvest { -      struct Harvest { +template spineCurateMetadata() { +  @safe auto spineCurateMetadata() { +    struct _Curate { +      struct Curate {          string   title                = "";          string[] author_arr           = [];          string   author               = ""; @@ -120,11 +120,11 @@ template spineHarvest() {          string   url_html_scroll      = "";          string   url_epub             = "";        } -      Harvest harvest; -      Harvest[] harvests; -      Harvest[][string][string][string][string] subject_trees; +      Curate curate; +      Curate[] curates; +      Curate[][string][string][string][string] subject_trees;      } -    return _Harvest(); +    return _Curate();    }  }  template spineBiblio() { diff --git a/src/doc_reform/meta/metadoc_harvest.d b/src/doc_reform/meta/metadoc_curate.d index 3135323..8190a9d 100644 --- a/src/doc_reform/meta/metadoc_harvest.d +++ b/src/doc_reform/meta/metadoc_curate.d @@ -48,9 +48,9 @@      [https://git.sisudoc.org/projects/?p=software/spine.git;a=summary]  +/ -module doc_reform.meta.metadoc_harvest; -template spineMetaDocHarvest() { -  @safe auto spineMetaDocHarvest(T,H)( +module doc_reform.meta.metadoc_curate; +template spineMetaDocCurate() { +  @safe auto spineMetaDocCurate(T,H)(      T  doc_matters,      H  hvst,    ) { @@ -72,21 +72,21 @@ template spineMetaDocHarvest() {      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; +    hvst.curate.title                 = doc_matters.conf_make_meta.meta.title_full; +    hvst.curate.author                = doc_matters.conf_make_meta.meta.creator_author; +    hvst.curate.author_surname        = doc_matters.conf_make_meta.meta.creator_author_surname; +    hvst.curate.author_surname_fn     = doc_matters.conf_make_meta.meta.creator_author_surname_fn; +    hvst.curate.author_arr            = doc_matters.conf_make_meta.meta.creator_author_arr; +    hvst.curate.language_original     = doc_matters.conf_make_meta.meta.original_language; +    hvst.curate.language              = doc_matters.src.language; +    hvst.curate.uid                   = doc_matters.src.doc_uid; +    hvst.curate.date_published        = doc_matters.conf_make_meta.meta.date_published; +    hvst.curate.topic_register_arr    = doc_matters.conf_make_meta.meta.classify_topic_register_arr; +    hvst.curate.path_html_metadata    = pth_html_rel.fn_metadata(doc_matters.src.filename); +    hvst.curate.path_html_scroll      = pth_html_rel.fn_scroll(doc_matters.src.filename); +    hvst.curate.path_html_segtoc      = pth_html_rel.fn_seg(doc_matters.src.filename, "toc"); +    hvst.curate.path_abs_html_scroll  = pth_html_abs.fn_scroll(doc_matters.src.filename); +    hvst.curate.path_abs_html_segtoc  = pth_html_abs.fn_seg(doc_matters.src.filename, "toc"); +    return hvst.curate;    }  } diff --git a/src/doc_reform/meta/metadoc_harvests_authors.d b/src/doc_reform/meta/metadoc_curate_authors.d index 182b1cd..8c64f0c 100644 --- a/src/doc_reform/meta/metadoc_harvests_authors.d +++ b/src/doc_reform/meta/metadoc_curate_authors.d @@ -48,7 +48,7 @@      [https://git.sisudoc.org/projects/?p=software/spine.git;a=summary]  +/ -module doc_reform.meta.metadoc_harvests_authors; +module doc_reform.meta.metadoc_curate_authors;    import      std.algorithm,      std.array, @@ -60,12 +60,12 @@ module doc_reform.meta.metadoc_harvests_authors;    import      doc_reform.meta.defaults,      doc_reform.meta.rgx; -  mixin spineHarvest; +  mixin spineCurateMetadata;    mixin InternalMarkup; -template spineMetaDocHarvestsAuthors() { +template spineMetaDocCuratesAuthors() {    static auto mkup = InlineMarkup(); -  void spineMetaDocHarvestsAuthors(H,M,O)( -    H  harvests, +  void spineMetaDocCuratesAuthors(H,M,O)( +    H  curates,      M  _make_and_meta_struct,      O  _opt_action,    ) { @@ -222,11 +222,11 @@ string theme_dark_1 = format(q"┃  string theme_light_1 = format(q"┃    h1 {      color                    : #FFFFFF; -    background               : #000088; +    background               : #1A3A7A;    }    p.letter {      color                    : #FFFFFF; -    background               : #880000; +    background               : #1A3A7A;    }    p.lev0 {      color                    : #FFFFFF; @@ -254,15 +254,15 @@ string theme_light_1 = format(q"┃  <html>  <head>  <meta charset="utf-8"> -<title>Metadata Harvest - Authors</title> +<title>Curated metadata - Authors</title>  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> -<meta name="dc.title" content= "metadata harvest, Authors & Topics - information Structuring Universe, Structured information Serialised Units" /> +<meta name="dc.title" content= "metadata curate, Authors & Topics - information Structuring Universe, Structured information Serialised Units" />  <meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />  <meta name="generator" content="spine" />  <link rel="generator" href="https://sisudoc.org" /> -<link href="./css/harvest.css" rel="stylesheet"> +<link href="./css/curate.css" rel="stylesheet">  <style TYPE="text/css"> -/* spine harvest css default stylesheet */%s +/* spine curate css default stylesheet */%s    .norm, .bold {      line-height              : 150%%;      margin-left              : 1em; @@ -386,11 +386,11 @@ string theme_light_1 = format(q"┃  <a name="top" id="top"></a>  <a name="up" id="up"></a>  <a name="start" id="start"></a> -<h1>Metadata Harvest - Authors (output organised by language & filetype)</h1> +<h1>Curated metadata - Authors (output organised by language & filetype)</h1>  <div class="flex-menu-bar">  <div class="flex-menu-option">  <p>[<a href="../../index.html"> HOME </a>] - [<a href="topics.html"> Metadata Harvest - Topics </a>] + [<a href="topics.html"> Curated metadata - Topics </a>]  </p>  </div>  %s @@ -408,8 +408,8 @@ string theme_light_1 = format(q"┃        string[] _author_date_title;        string _prev_auth = "";        char _prev_k = "_".to!char; -      foreach(doc_harvest; -        harvests +      foreach(doc_curate; +        curates          .multiSort!(            "toUpper(a.author_surname_fn) < toUpper(b.author_surname_fn)",            "a.date_published < b.date_published", @@ -417,38 +417,38 @@ string theme_light_1 = format(q"┃            SwapStrategy.unstable          )        ) { -        if (doc_harvest.author_surname_fn != _prev_auth) { -          _au[doc_harvest.author_surname_fn] +        if (doc_curate.author_surname_fn != _prev_auth) { +          _au[doc_curate.author_surname_fn]            = format(q"┃<p class="author"><a name="%s" class="lev0">%s</a></p> <p class="publication">%s "<a href="%s">%s</a>" [<a href="%s"> %s </a>]</p>┃", -            doc_harvest.author_surname.translate([' ' : "_"]), -            doc_harvest.author_surname_fn, -            (doc_harvest.date_published.length > 0) -              ? doc_harvest.date_published : "", -            doc_harvest.path_html_segtoc, -            doc_harvest.title, -            doc_harvest.path_html_metadata, -            doc_harvest.language, +            doc_curate.author_surname.translate([' ' : "_"]), +            doc_curate.author_surname_fn, +            (doc_curate.date_published.length > 0) +              ? doc_curate.date_published : "", +            doc_curate.path_html_segtoc, +            doc_curate.title, +            doc_curate.path_html_metadata, +            doc_curate.language,            ); -          _prev_auth = doc_harvest.author_surname_fn; +          _prev_auth = doc_curate.author_surname_fn;          } else { -          _au[doc_harvest.author_surname_fn] +          _au[doc_curate.author_surname_fn]            ~= format(q"┃<p class="publication">%s "<a href="%s">%s</a>" [<a href="%s"> %s </a>]</p>┃", -            (doc_harvest.date_published.length > 0) -              ? doc_harvest.date_published : "", -            doc_harvest.path_html_segtoc, -            doc_harvest.title, -            doc_harvest.path_html_metadata, -            doc_harvest.language, +            (doc_curate.date_published.length > 0) +              ? doc_curate.date_published : "", +            doc_curate.path_html_segtoc, +            doc_curate.title, +            doc_curate.path_html_metadata, +            doc_curate.language,            );          }          _author_date_title ~= format(q"┃%s %s "%s" [<a href="%s"> %s </a>]%s┃", -          doc_harvest.author_surname_fn, -          (doc_harvest.date_published.length > 0) -            ? "(" ~ doc_harvest.date_published ~ ")" : "", -          doc_harvest.title, -          doc_harvest.path_html_metadata, -          doc_harvest.language, -          (_opt_action.very_verbose) ? "\n  " ~ doc_harvest.path_abs_html_scroll : "", +          doc_curate.author_surname_fn, +          (doc_curate.date_published.length > 0) +            ? "(" ~ doc_curate.date_published ~ ")" : "", +          doc_curate.title, +          doc_curate.path_html_metadata, +          doc_curate.language, +          (_opt_action.very_verbose) ? "\n  " ~ doc_curate.path_abs_html_scroll : "",          );        }        foreach (k; _au.keys.sort) { @@ -476,7 +476,7 @@ string theme_light_1 = format(q"┃      import doc_reform.io_out.paths_output;      auto out_pth = spinePathsHTML!()(_make_and_meta_struct.conf.output_path, "");      try { -      auto f       = File(out_pth.harvest("authors.html"), "w"); +      auto f       = File(out_pth.curate("authors.html"), "w");        foreach (o; authors) {          f.writeln(o);        } diff --git a/src/doc_reform/meta/metadoc_harvests_topics.d b/src/doc_reform/meta/metadoc_curate_topics.d index 5848723..1fdc760 100644 --- a/src/doc_reform/meta/metadoc_harvests_topics.d +++ b/src/doc_reform/meta/metadoc_curate_topics.d @@ -48,7 +48,7 @@      [https://git.sisudoc.org/projects/?p=software/spine.git;a=summary]  +/ -module doc_reform.meta.metadoc_harvests_topics; +module doc_reform.meta.metadoc_curate_topics;    import      std.algorithm,      std.array, @@ -60,11 +60,11 @@ module doc_reform.meta.metadoc_harvests_topics;    import      doc_reform.meta.defaults,      doc_reform.meta.rgx; -  mixin spineHarvest; +  mixin spineCurateMetadata;    mixin InternalMarkup; -template spineMetaDocHarvestsTopics() { +template spineMetaDocCuratesTopics() {    static auto mkup = InlineMarkup(); -  void spineMetaDocHarvestsTopics(H,M,O)( +  void spineMetaDocCuratesTopics(H,M,O)(      H  hvst,      M  _make_and_meta_struct,      O  _opt_action, @@ -106,40 +106,40 @@ template spineMetaDocHarvestsTopics() {        string[] _sub_topic_register;        string[] topics = [];        string _auth = ""; -      foreach(k, doc_harvest; hvst.harvests) { +      foreach(k, doc_curate; hvst.curates) {          _topic_register = []; -        foreach(topic; doc_harvest.topic_register_arr.sort) { +        foreach(topic; doc_curate.topic_register_arr.sort) {            _sub_topic_register = [];            string _spaces;            string[] subject_tree = topic.split(mkup.sep);            switch (subject_tree.length) {            case 1: -            hvst.subject_trees[subject_tree[0]]["_a"]["_a"]["_a"] ~= doc_harvest; +            hvst.subject_trees[subject_tree[0]]["_a"]["_a"]["_a"] ~= doc_curate;              break;            case 2: -            hvst.subject_trees[subject_tree[0]][subject_tree[1]]["_a"]["_a"] ~= doc_harvest; +            hvst.subject_trees[subject_tree[0]][subject_tree[1]]["_a"]["_a"] ~= doc_curate;              break;            case 3: -            hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]]["_a"] ~= doc_harvest; +            hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]]["_a"] ~= doc_curate;              break;            case 4: -            hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]][subject_tree[3]] ~= doc_harvest; +            hvst.subject_trees[subject_tree[0]][subject_tree[1]][subject_tree[2]][subject_tree[3]] ~= doc_curate;              break;            default:              break;            }            _topic_register ~= _sub_topic_register.join("\n");          } -        auto char_repeat_number = (doc_harvest.title.length -          + doc_harvest.author.length + 16); +        auto char_repeat_number = (doc_curate.title.length +          + doc_curate.author.length + 16);          char_repeat_number = (char_repeat_number > min_repeat_number)          ? char_repeat_number          : min_repeat_number;          _document_topic_register ~= format(            "\"%s\", %s%s\n%s", -          doc_harvest.title, -          doc_harvest.author, -          (doc_harvest.date_published.length > 0) ? " (" ~ doc_harvest.date_published ~ ")" : "", +          doc_curate.title, +          doc_curate.author, +          (doc_curate.date_published.length > 0) ? " (" ~ doc_curate.date_published ~ ")" : "",            _topic_register.sort!("toUpper(a) < toUpper(b)", SwapStrategy.unstable).release.join("\n"),          );        } @@ -265,11 +265,11 @@ string theme_dark_1 = format(q"┃  string theme_light_1 = format(q"┃    h1 {      color                    : #FFFFFF; -    background               : #000088; +    background               : #1A3A7A;    }    p.letter {      color                    : #FFFFFF; -    background               : #880000; +    background               : #1A3A7A;    }    p.lev0 {      color                    : #FFFFFF; @@ -295,15 +295,15 @@ string theme_light_1 = format(q"┃  <html>  <head>  <meta charset="utf-8"> -<title>Metadata Harvest - Topics</title> +<title>Curated metadata - Topics</title>  <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> -<meta name="dc.title" content= "metadata harvest, Authors & Topics - information Structuring Universe, Structured information Serialised Units" /> +<meta name="dc.title" content= "metadata curate, Authors & Topics - information Structuring Universe, Structured information Serialised Units" />  <meta name="dc.subject" content= "document structuring, ebook, publishing, PDF, LaTeX, XML, ODF, SQL, postgresql, sqlite, electronic book, electronic publishing, electronic document, electronic citation, data structure, citation systems, granular search, digital library" />  <meta name="generator" content="spine" />  <link rel="generator" href="https://sisudoc.org" /> -<link href="./css/harvest.css" rel="stylesheet"> +<link href="./css/curate.css" rel="stylesheet">  <style TYPE="text/css"> -/* spine harvest css default stylesheet */%s +/* spine curate css default stylesheet */%s    .norm, .bold {      line-height              : 150%%;      margin-left              : 1em; @@ -427,11 +427,11 @@ string theme_light_1 = format(q"┃  <a name="top" id="top"></a>  <a name="up" id="up"></a>  <a name="start" id="start"></a> -<h1>Metadata Harvest - Topics (output organised by language & filetype)</h1> +<h1>Curated metadata - Topics (output organised by language & filetype)</h1>  <div class="flex-menu-bar">  <div class="flex-menu-option">  <p>[<a href="../../index.html"> HOME </a>] - [<a href="authors.html"> Metadata Harvest - Authors </a>] + [<a href="authors.html"> Curated metadata - Authors </a>]  </p>  </div>   %s @@ -643,7 +643,7 @@ string theme_light_1 = format(q"┃      import doc_reform.io_out.paths_output;      auto out_pth = spinePathsHTML!()(_make_and_meta_struct.conf.output_path, "");      try { -      auto f       = File(out_pth.harvest("topics.html"), "w"); +      auto f       = File(out_pth.curate("topics.html"), "w");        foreach (o; topics) {          f.writeln(o);        } diff --git a/src/doc_reform/spine.d b/src/doc_reform/spine.d index 752d3ee..0893572 100755 --- a/src/doc_reform/spine.d +++ b/src/doc_reform/spine.d @@ -66,9 +66,9 @@ import    doc_reform.conf.compile_time_info,    doc_reform.meta,    doc_reform.meta.metadoc, -  doc_reform.meta.metadoc_harvest, -  doc_reform.meta.metadoc_harvests_authors, -  doc_reform.meta.metadoc_harvests_topics, +  doc_reform.meta.metadoc_curate, +  doc_reform.meta.metadoc_curate_authors, +  doc_reform.meta.metadoc_curate_topics,    doc_reform.meta.metadoc_from_src,    doc_reform.meta.conf_make_meta_structs,    doc_reform.meta.conf_make_meta_json, @@ -88,7 +88,7 @@ string program_name = "spine";    mixin spineRgxIn;    mixin spineBiblio;    mixin outputHub; -  auto hvst = spineHarvest!(); +  auto hvst = spineCurateMetadata!();    string flag_action;    string arg_unrecognized;    enum dAM { abstraction, matters } @@ -119,11 +119,11 @@ string program_name = "spine";      "debug"                       : false,      "digest"                      : false,      "epub"                        : false, -    "harvest"                     : false, -    "harvest-authors"             : false, -    "harvest-topics"              : false, +    "curate"                     : false, +    "curate-authors"             : false, +    "curate-topics"              : false,      "html"                        : false, -    "html-link-harvest"           : false, +    "html-link-curate"           : false,      "html-link-search"            : false,      "html-seg"                    : false,      "html-scroll"                 : false, @@ -202,16 +202,16 @@ string program_name = "spine";      "cgi-url-action",             "url to post to cgi-bin search form",                             &settings["cgi-url-action"],      "cgi-search-title",           "title for cgi-bin search form",                                  &settings["cgi-search-title"],      "concordance",                "file for document",                                              &opts["concordance"], +    "curate",                    "extract info on authors & topics from document header metadata",  &opts["curate"], +    "curate-authors",            "extract info on authors from document header metadata",           &opts["curate-authors"], +    "curate-topics",             "extract info on topics from document header metadata",            &opts["curate-topics"],      "dark",                       "alternative dark theme",                                         &opts["dark"],      "debug",                      "debug",                                                          &opts["debug"],      "digest",                     "hash digest for each object",                                    &opts["digest"],      "epub",                       "process epub output",                                            &opts["epub"], -    "harvest",                    "extract info on authors & topics from document header metadata", &opts["harvest"], -    "harvest-authors",            "extract info on authors from document header metadata",          &opts["harvest-authors"], -    "harvest-topics",             "extract info on topics from document header metadata",           &opts["harvest-topics"],      "hide-ocn",                   "object cite numbers",                                            &opts["hide-ocn"],      "html",                       "process html output",                                            &opts["html"], -    "html-link-harvest",          "place links back to harvest in segmented html",                  &opts["html-link-harvest"], +    "html-link-curate",           "place links back to curate in segmented html",                   &opts["html-link-curate"],      "html-link-search",           "html embedded search submission",                                &opts["html-link-search"],      "html-seg",                   "process html output",                                            &opts["html-seg"],      "html-scroll",                "process html output",                                            &opts["html-scroll"], @@ -314,20 +314,20 @@ string program_name = "spine";      @trusted bool epub() {        return opts["epub"];      } -    @trusted bool html_harvest_link() { -      return (opts["html-link-harvest"]) ? true : false; +    @trusted bool html_curate_link() { +      return (opts["html-link-curate"]) ? true : false;      }      @trusted bool html_search_link() {        return (opts["html-link-search"]) ? true : false;      } -    @trusted bool harvest() { -      return (opts["harvest"] || opts["harvest-authors"] || opts["harvest-topics"]) ? true : false; +    @trusted bool curate() { +      return (opts["curate"] || opts["curate-authors"] || opts["curate-topics"]) ? true : false;      } -    @trusted bool harvest_authors() { -      return (opts["harvest"] || opts["harvest-authors"]) ? true : false; +    @trusted bool curate_authors() { +      return (opts["curate"] || opts["curate-authors"]) ? true : false;      } -    @trusted bool harvest_topics() { -      return (opts["harvest"] || opts["harvest-topics"]) ? true : false; +    @trusted bool curate_topics() { +      return (opts["curate"] || opts["curate-topics"]) ? true : false;      }      @trusted bool html() {        return (opts["html"] || opts["html-seg"] || opts["html-scroll"]) ? true : false; @@ -520,7 +520,7 @@ string program_name = "spine";        } else if (          opts["abstraction"]          || concordance -        || harvest +        || curate          || html          || epub          || odt @@ -569,7 +569,7 @@ string program_name = "spine";          opts["abstraction"]          || concordance          || source_or_pod -        || harvest +        || curate          || html          || epub          || odt @@ -584,7 +584,7 @@ string program_name = "spine";        return (          opts["abstraction"]          || epub -        || harvest +        || curate          || html          || html_seg          || html_scroll @@ -604,7 +604,7 @@ string program_name = "spine";      @trusted bool meta_processing_general() {        return (          opts["abstraction"] -        || harvest +        || curate          || html          || epub          || odt @@ -921,18 +921,18 @@ string program_name = "spine";              import doc_reform.meta.metadoc_show_config;              spineShowConfig!()(doc_matters);            } -          if (doc_matters.opt.action.harvest) { -            auto _hvst = spineMetaDocHarvest!()(doc_matters, hvst); +          if (doc_matters.opt.action.curate) { +            auto _hvst = spineMetaDocCurate!()(doc_matters, hvst);              if (                _hvst.title.length > 0                && _hvst.author_surname_fn.length > 0              ) { -              hvst.harvests ~= _hvst; +              hvst.curates ~= _hvst;              } else {                if ((doc_matters.opt.action.debug_do)                || (doc_matters.opt.action.very_verbose)                ) { -                writeln("WARNING harvest: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc); +                writeln("WARNING curate: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc);                }              }            } @@ -1035,18 +1035,18 @@ string program_name = "spine";              import doc_reform.meta.metadoc_show_config;              spineShowConfig!()(doc_matters);            } -          if (doc_matters.opt.action.harvest) { -            auto _hvst = spineMetaDocHarvest!()(doc_matters, hvst); +          if (doc_matters.opt.action.curate) { +            auto _hvst = spineMetaDocCurate!()(doc_matters, hvst);              if (                _hvst.title.length > 0                && _hvst.author_surname_fn.length > 0              ) { -              hvst.harvests ~= _hvst; +              hvst.curates ~= _hvst;              } else {                if ((doc_matters.opt.action.debug_do)                || (doc_matters.opt.action.very_verbose)                ) { -                writeln("WARNING harvest: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc); +                writeln("WARNING curate: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc);                }              }            } @@ -1086,21 +1086,21 @@ string program_name = "spine";        }      }    } -  if (hvst.harvests.length > 0) { -    if (_opt_action.harvest_topics) { -      spineMetaDocHarvestsTopics!()(hvst, _make_and_meta_struct, _opt_action); +  if (hvst.curates.length > 0) { +    if (_opt_action.curate_topics) { +      spineMetaDocCuratesTopics!()(hvst, _make_and_meta_struct, _opt_action);      } -    if (_opt_action.harvest_authors) { -      spineMetaDocHarvestsAuthors!()(hvst.harvests, _make_and_meta_struct, _opt_action); +    if (_opt_action.curate_authors) { +      spineMetaDocCuratesAuthors!()(hvst.curates, _make_and_meta_struct, _opt_action);      }      if (!(_opt_action.quiet)) {        import doc_reform.io_out.paths_output;        auto out_pth = spinePathsHTML!()(_make_and_meta_struct.conf.output_path, ""); -      if (_opt_action.harvest_authors) { -        writeln("- ", out_pth.harvest("authors.html")); +      if (_opt_action.curate_authors) { +        writeln("- ", out_pth.curate("authors.html"));        } -      if (_opt_action.harvest_topics) { -        writeln("- ", out_pth.harvest("topics.html")); +      if (_opt_action.curate_topics) { +        writeln("- ", out_pth.curate("topics.html"));        }      }    } else { writeln("NO HARVESTS"); } diff --git a/sundry/spine_search_cgi/.envrc-local_ b/sundry/spine_search_cgi/.envrc-local_ index 17e48ee..d14a371 100644 --- a/sundry/spine_search_cgi/.envrc-local_ +++ b/sundry/spine_search_cgi/.envrc-local_ @@ -82,10 +82,10 @@ nix-build && sudo cp -vi result/share/cgi-bin/spine_search $SpineCgiBIN/.  $SpineBIN/spine -v --show-config --config=$SpinePOD/.dr  #+END_SRC -*** generate html (linked to search form & harvest) +*** generate html (linked to search form & curate)  #+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search"--output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search"--output=$SpineOUTstatic $SpinePOD/*  #+END_SRC  *** generate sql output @@ -94,11 +94,11 @@ $SpineBIN/spine -v --html --html-link-search --html-link-harvest --sqlite-db-fil  SpineBIN/spine -v --sqlite-update --sqlite-db-filename="spine.search.db" --output=$SpineOUTstatic $SpinePOD/*  #+END_SRC -*** generate harvest +*** generate curate  #+BEGIN_SRC sh -$SpineBIN/spine -v --harvest --output=$SpineOUTstatic $SpinePOD/* -$SpineBIN/spine -v --html --html-link-harvest --harvest  --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --curate --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-curate --curate  --output=$SpineOUTstatic $SpinePOD/*  #+END_SRC  *** create or re-create sql db (--sqlite-db-create or --sqlite-db-recreate) @@ -107,10 +107,10 @@ $SpineBIN/spine -v --html --html-link-harvest --harvest  --output=$SpineOUTstati  $SpineBIN/spine -v --sqlite-db-recreate --sqlite-db-filename="spine.search.db" --output="$SpineOUTstatic"  #+END_SRC -*** generate html (linked to search form), sql output, harvest +*** generate html (linked to search form), sql output, curate  #+BEGIN_SRC sh -$SpineBIN/spine -v --html --html-link-search --html-link-harvest --harvest --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --sqlite-update --output=$SpineOUTstatic $SpinePOD/* +$SpineBIN/spine -v --html --html-link-search --html-link-curate --curate --sqlite-db-filename="spine.search.db" --cgi-sqlite-search-filename="spine_search" --sqlite-update --output=$SpineOUTstatic $SpinePOD/*  #+END_SRC  *** make search form | 
