diff options
Diffstat (limited to 'src/sdp')
| -rw-r--r-- | src/sdp/meta/metadoc_from_src.d | 9 | ||||
| -rw-r--r-- | src/sdp/meta/rgx.d | 4 | ||||
| -rwxr-xr-x | src/sdp/sdp.d | 7 | 
3 files changed, 15 insertions, 5 deletions
| diff --git a/src/sdp/meta/metadoc_from_src.d b/src/sdp/meta/metadoc_from_src.d index 7c68e16..0de709e 100644 --- a/src/sdp/meta/metadoc_from_src.d +++ b/src/sdp/meta/metadoc_from_src.d @@ -843,7 +843,10 @@ template SiSUdocAbstraction() {                  cnt3 = 1;                  _new_doc = false;                } -              if (an_object["lev_markup_number"].to!int == 4 ) { +              if ( +                an_object["lev_markup_number"].to!int == 4 +                && anchor_tags.length > 0 +              ) {                  segment_anchor_tag_that_object_belongs_to = anchor_tags[0];                  segment_anchor_tag_that_object_belongs_to_uri = anchor_tags[0] ~ ".fnSuffix";                  anchor_tag_ = anchor_tags[0]; @@ -4948,6 +4951,10 @@ template SiSUdocAbstraction() {              munge_=(munge_).replaceFirst(                rgx.heading_marker_missing_tag,                "$1~" ~ m.captures[1].toLower ~ "_"  ~ m.captures[2] ~ " "); +            if (auto n = munge_.match(rgx.heading_anchor_tag_plus_colon)) { +              auto tag_remunge_ = n.captures[2].replaceAll(rgx.heading_marker_tag_has_colon, ".."); +              munge_=(munge_).replaceFirst(rgx.heading_anchor_tag_plus_colon, n.captures[1] ~ tag_remunge_ ~ " "); +            }            } else if (auto m = munge_.match(rgx.heading_extract_unnamed_anchor_tag)) {              munge_=(munge_).replaceFirst(                rgx.heading_marker_missing_tag, diff --git a/src/sdp/meta/rgx.d b/src/sdp/meta/rgx.d index 071d693..b64f7ba 100644 --- a/src/sdp/meta/rgx.d +++ b/src/sdp/meta/rgx.d @@ -72,9 +72,11 @@ static template SiSUrgxInit() {      static heading_marker                                 = ctRegex!(`^:?([A-D1-4])[~]`);      static heading_anchor_tag                             = ctRegex!(`^:?[A-D1-4][~]([a-z0-9_.-]+) `,"i");      static heading_identify_anchor_tag                    = ctRegex!(`^:?[A-D1-4][~]\s+(?:(?:(?:chapter|article|section|clause)\s+[0-9.]+)|(?:[0-9]+))`,"i"); -    static heading_extract_named_anchor_tag               = ctRegex!(`^:?[A-D1-4][~]\s+(chapter|article|section|clause)\s+((?:[0-9]+.)*[0-9]+)(?:[.:;, ]|$)`,"i"); +    static heading_extract_named_anchor_tag               = ctRegex!(`^:?[A-D1-4][~]\s+(chapter|article|section|clause)\s+((?:[0-9]+[.:])*[0-9]+)(?:[.:;, ]|$)`,"i");      static heading_extract_unnamed_anchor_tag             = ctRegex!(`^:?[A-D1-4][~]\s+((?:[0-9]+.)*[0-9]+)(?:[.:;, ]|$)`);      static heading_marker_missing_tag                     = ctRegex!(`^:?([A-D1-4])[~] `); +    static heading_anchor_tag_plus_colon                  = ctRegex!(`^:?([A-D1-4][~])([a-z0-9_.:-]+) `,"i"); +    static heading_marker_tag_has_colon                   = ctRegex!(`([:])`);      static heading_title                                  = ctRegex!(`^:?[A-D1-4][~][a-z0-9_.-]*[?]?\s+(.+?)$`);      static heading_all                                    = ctRegex!(`^:?([A-D1-4])[~]([a-z0-9_.-]*[?]?)\s+(.+?)$`);      static heading_backmatter                             = ctRegex!(`^:?1[~][!](glossary|bibliography|biblio|blurb)\s+`,"i"); diff --git a/src/sdp/sdp.d b/src/sdp/sdp.d index 9d91d10..5a4c2f8 100755 --- a/src/sdp/sdp.d +++ b/src/sdp/sdp.d @@ -403,7 +403,7 @@ void main(string[] args) {        writeln("- step0 complete");      }    } -  if (_manifests.length > 1) { // _manifests[0] initialized dummy element +  if (_manifests.length > 1) {                            // _manifests[0] initialized dummy element      foreach(manifest; parallel(_manifests[1..$])) {        if (!empty(manifest.src.filename)) {          scope(success) { @@ -418,9 +418,10 @@ void main(string[] args) {          scope(failure) {            debug(checkdoc) {              stderr.writefln( -              "~ document run failure ~ (%s  v%s)\n\t%s", +              "~ document run failure ~ (%s  v%s)\n\t%s\n%s",                __VENDOR__, __VERSION__, -              manifest.src.filename +              manifest.src.filename, +              "------------------------------------------------------------------",              );            }          } | 
