diff options
Diffstat (limited to 'org')
| -rw-r--r-- | org/default_regex.org | 3 | ||||
| -rw-r--r-- | org/output_xmls.org | 18 | 
2 files changed, 18 insertions, 3 deletions
| diff --git a/org/default_regex.org b/org/default_regex.org index 1fd728a..65d7cf6 100644 --- a/org/default_regex.org +++ b/org/default_regex.org @@ -493,7 +493,8 @@ static inline_text_and_note_al_                       = ctRegex!(`(.+?(?:【[*+]  /+ inline markup footnotes endnotes +/  static inline_image                                   = ctRegex!(`(?P<pre>┥)☼(?P<imginf>(?P<img>\S+?\.(?:jpg|gif|png)),w(?P<width>\d+)h(?P<height>\d+))\s*(?P<post>.*?┝┤.+?├)`, "mg");  static inline_image_without_dimensions                = ctRegex!(`(?P<pre>┥)☼(?P<imginf>(?P<img>\S+?\.(?:jpg|gif|png)),w(?P<width>0)h(?P<height>0))\s*(?P<post>.*?┝┤.+?├)`, "mg"); -static inline_link                                    = ctRegex!(`┥(?P<text>.+?)┝┤(?P<link>.+?)├`, "mg"); +static inline_link                                    = ctRegex!(`┥(?P<text>.+?)┝┤(?P<link>\S+?)├`, "mg"); +static inline_link_hash                               = ctRegex!(`┥(?P<text>.+?)┝┤(?P<link>#(?P<segname>\S+?))├`, "mg");  static inline_link_clean                              = ctRegex!(`┤(?:.+?)├|[┥┝]`, "mg");  static inline_a_url                                   = ctRegex!(`(┤)(\S+?)(├)`, "mg");  static url                                            = ctRegex!(`https?://`, "mg"); diff --git a/org/output_xmls.org b/org/output_xmls.org index 7a4338e..441ed95 100644 --- a/org/output_xmls.org +++ b/org/output_xmls.org @@ -464,6 +464,18 @@ auto inline_links(M,O)(          rgx.inline_seg_link,          "$1");      } +    if (_xml_type == "seg" || _xml_type == "epub") { +      if (auto m = _txt.match(rgx.inline_link_hash)) { +        foreach (segname; doc_matters.xml.segnames) { +          if (auto n = segname.match(m.captures[3])) { +            _txt = _txt.replaceFirst( +              rgx.inline_link_hash, +              "┥$1┝┤$3" ~ _suffix ~ "├"); +            break; +          } +        } +      } +    }      _txt = (_txt)        .replaceAll(          rgx.inline_link_fn_suffix, @@ -752,7 +764,7 @@ auto heading(M,O)(    if (obj.metainfo.object_number.empty) {      o = format(q"¶%s    <div class="substance"> -    <h%s class="%s">%s +    <h%s class="%s">%s<a name="%s"></a>        %s      </h%s>    </div>¶", @@ -760,6 +772,7 @@ auto heading(M,O)(        obj.metainfo.heading_lev_markup,        obj.metainfo.is_a,        tags, +      obj.tags.segment_anchor_tag,        _txt,        obj.metainfo.heading_lev_markup,      ); @@ -767,7 +780,7 @@ auto heading(M,O)(      o = format(q"¶%s    <div class="substance">      <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> -    <h%s class="%s" id="%s"><a name="%s"></a>%s +    <h%s class="%s" id="%s"><a name="%s"></a>%s<a name="%s"></a>        %s      </h%s>    </div>¶", @@ -779,6 +792,7 @@ auto heading(M,O)(      obj.metainfo.object_number,      obj.metainfo.object_number,      tags, +    obj.tags.segment_anchor_tag,      _txt,      obj.metainfo.heading_lev_markup,      ); | 
