aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sisu_d_parser.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sisu_d_parser.d')
-rwxr-xr-xsrc/sisu_d_parser.d205
1 files changed, 0 insertions, 205 deletions
diff --git a/src/sisu_d_parser.d b/src/sisu_d_parser.d
deleted file mode 100755
index 96e1359..0000000
--- a/src/sisu_d_parser.d
+++ /dev/null
@@ -1,205 +0,0 @@
-#!/usr/bin/env rdmd
-/+
- sdp
-+/
-import
- sdp.compile_time_info,
- sdp.abstraction;
-/+ sdp: sisu document parser, see http://sisudoc.org +/
-import sdp.imports_for_ao;
-
-
-
-mixin(import("version.txt"));
-mixin CompileTimeInfo;
-/++ A SiSU document parser writen in D. +/
-void main(string[] args) {
- mixin SiSUrgxInit;
- mixin SiSUregisters;
- mixin SiSUheaderExtractSDLang;
- mixin SiSUnode;
- mixin SiSUbiblio;
- mixin SiSUrgxInitFlags;
- mixin outputHub;
- string[] fns_src;
- string flag_action;
- string arg_unrecognized;
- enum dAM { abstraction, matters }
- auto rgx = Rgx();
- scope(success) {
- debug(checkdoc) {
- writefln(
- "~ run complete, ok ~ (sdp-%s.%s.%s, %s v%s, %s %s)",
- ver.major, ver.minor, ver.patch,
- __VENDOR__, __VERSION__,
- bits, os,
- );
- }
- }
- scope(failure) {
- debug(checkdoc) {
- stderr.writefln(
- "run failure",
- );
- }
- }
- bool[string] _opt_action_bool = [
- "assertions" : false,
- "concordance" : false,
- "debug" : false,
- "digest" : false,
- "docbook" : false,
- "epub" : false,
- "html" : false,
- "html_seg" : false,
- "html_scroll" : false,
- "manifest" : false,
- "ocn" : true,
- "odt" : false,
- "pdf" : false,
- "postgresql" : false,
- "qrcode" : false,
- "sisupod" : false,
- "source" : false,
- "sqlite" : false,
- "text" : false,
- "verbose" : false,
- "xhtml" : false,
- "xml_dom" : false,
- "xml_sax" : false,
- "section_toc" : true,
- "section_body" : true,
- "section_endnotes" : true,
- "section_glossary" : true,
- "section_biblio" : true,
- "section_bookindex" : true,
- "section_blurb" : true,
- "backmatter" : true,
- "skip_output" : false,
- ];
- auto helpInfo = getopt(args,
- std.getopt.config.passThrough,
- "assert", "--assert set optional assertions on", &_opt_action_bool["assertions"],
- "concordance", "--concordance file for document", &_opt_action_bool["concordance"],
- "debug", "--debug only relevant when debug options compiled in", &_opt_action_bool["debug"],
- "digest", "--digest hash digest for each object", &_opt_action_bool["digest"],
- "docbook", "--docbook process docbook output", &_opt_action_bool["docbook"],
- "epub", "--epub process epub output", &_opt_action_bool["epub"],
- "html", "--html process html output", &_opt_action_bool["html"],
- "html_seg", "--html-seg process html output", &_opt_action_bool["html_seg"],
- "html_scroll", "--html-seg process html output", &_opt_action_bool["html_scroll"],
- "manifest", "--manifest process manifest output", &_opt_action_bool["manifest"],
- "ocn", "--ocn object cite numbers (default)", &_opt_action_bool["ocn"],
- "odf", "--odf process odf:odt output", &_opt_action_bool["odt"],
- "odt", "--odt process odf:odt output", &_opt_action_bool["odt"],
- "pdf", "--pdf process pdf output", &_opt_action_bool["pdf"],
- "pg", "--pg process postgresql output", &_opt_action_bool["postgresql"],
- "postgresql", "--postgresql process postgresql output", &_opt_action_bool["postgresql"],
- "qrcode", "--qrcode with document metadata", &_opt_action_bool["qrcode"],
- "sisupod", "--sisupod sisupod source content bundled", &_opt_action_bool["sisupod"],
- "source", "--source markup source text content", &_opt_action_bool["source"],
- "sqlite", "--sqlite process sqlite output", &_opt_action_bool["sqlite"],
- "text", "--text process text output", &_opt_action_bool["text"],
- "txt", "--txt process text output", &_opt_action_bool["text"],
- "verbose|v", "--verbose output to terminal", &_opt_action_bool["verbose"],
- "xhtml", "--xhtml process xhtml output", &_opt_action_bool["xhtml"],
- "xml-dom", "--xml-dom process xml dom output", &_opt_action_bool["xml_dom"],
- "xml-sax", "--xml-sax process xml sax output", &_opt_action_bool["xml_sax"],
- "section-toc", "--section-toc process table of contents (default)", &_opt_action_bool["section_toc"],
- "section-body", "--section-body process document body (default)", &_opt_action_bool["section_body"],
- "section-endnotes", "--section-endnotes process document endnotes (default)", &_opt_action_bool["section_endnotes"],
- "section-glossary", "--section-glossary process document glossary (default)", &_opt_action_bool["section_glossary"],
- "section-biblio", "--section-biblio process document biblio (default)", &_opt_action_bool["section_biblio"],
- "section-bookindex", "--section-bookindex process document bookindex (default)", &_opt_action_bool["section_bookindex"],
- "section-blurb", "--section-blurb process document blurb (default)", &_opt_action_bool["section_blurb"],
- "backmatter", "--section-backmatter process document backmatter (default)", &_opt_action_bool["backmatter"],
- "skip_output", "--skip-output", &_opt_action_bool["skip_output"],
- );
- if (helpInfo.helpWanted) {
- defaultGetoptPrinter("Some information about the program.", helpInfo.options);
- }
- foreach(arg; args) {
- if (arg.match(rgx.flag_action)) {
- flag_action ~= " " ~ arg; // flags not taken by getopt
- } else if (arg.match(rgx.src_pth)) {
- fns_src ~= arg; // gather input markup source file names for processing
- } else { // anything remaining, unused
- arg_unrecognized ~= " " ~ arg;
- }
- }
- auto env = [
- "pwd" : environment["PWD"],
- "home" : environment["HOME"],
- ];
- auto sdl_root_configuration = ConfigHub!()("conf.sdl", env);
- auto sdl_root_doc_make = ConfigHub!()("sisu_document_make", env);
- auto confsdl = HeaderExtractSDL();
- auto conf_settings_aa = confsdl.configSettingsSDLangToAAmake(sdl_root_configuration);
- auto conf_doc_make_aa = confsdl.documentMakeSDLangToAAmake(sdl_root_doc_make);
- foreach(fn_src; fns_src) {
- if (!empty(fn_src)) {
- scope(success) {
- debug(checkdoc) {
- writefln(
- "%s\n%s",
- "~ document complete, ok ~",
- "------------------------------------------------------------------",
- );
- }
- }
- scope(failure) {
- debug(checkdoc) {
- stderr.writefln(
- "~ document run failure ~ (%s v%s)\n\t%s",
- __VENDOR__, __VERSION__,
- fn_src
- );
- }
- }
- enforce(
- fn_src.match(rgx.src_pth),
- "not a sisu markup filename"
- );
- auto t =
- SiSUabstraction!()(fn_src, _opt_action_bool, env);
- static assert(!isTypeTuple!(t));
- static assert(t.length==2);
- auto doc_abstraction = t[dAM.abstraction];
- auto doc_matters = t[dAM.matters];
- /+ ↓ debugs +/
- if (doc_matters.opt_action_bool["verbose"]) {
- SiSUabstractionSummary!()(doc_abstraction, doc_matters);
- }
- /+ ↓ debugs +/
- if ((doc_matters.opt_action_bool["debug"])
- || (doc_matters.opt_action_bool["verbose"])
- ) {
- SiSUdebugs!()(doc_abstraction, doc_matters);
- }
- /+ ↓ output hub +/
- if (!(_opt_action_bool["skip_output"])) {
- outputHub!()(doc_abstraction, doc_matters);
- }
- scope(exit) {
- debug(checkdoc) {
- writefln(
- "processed file: %s",
- fn_src
- );
- }
- destroy(fn_src);
- }
- } else {
- /+ no recognized filename provided +/
- writeln("no recognized filename");
- break; // terminate, stop
- }
- }
-}
-unittest {
- /++
- name "sdp"
- description "A SiSU document parser writen in D."
- homepage "http://sisudoc.org"
- +/
-}