aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/io_out/rgx_latex.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2022-11-25 22:06:40 -0500
committerRalph Amissah <ralph.amissah@gmail.com>2022-12-23 18:17:41 -0500
commitf6d28b62f0e02b8a88a1832589e203c7a613f45b (patch)
treeb5d6462e45bae998190194784e02b143a83f79a3 /src/doc_reform/io_out/rgx_latex.d
parentgitignore & things nix (diff)
regex review, match speed & compile time, ctregex
- improve match time - add interim fontface identifier marker - improve compile time - remove unused regexs - separate out some specialized output matches
Diffstat (limited to 'src/doc_reform/io_out/rgx_latex.d')
-rw-r--r--src/doc_reform/io_out/rgx_latex.d68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/doc_reform/io_out/rgx_latex.d b/src/doc_reform/io_out/rgx_latex.d
new file mode 100644
index 0000000..25b9c60
--- /dev/null
+++ b/src/doc_reform/io_out/rgx_latex.d
@@ -0,0 +1,68 @@
+/+
+- Name: Spine, Doc Reform [a part of]
+ - Description: documents, structuring, processing, publishing, search
+ - static content generator
+
+ - Author: Ralph Amissah
+ [ralph.amissah@gmail.com]
+
+ - Copyright: (C) 2015 - 2022 Ralph Amissah, All Rights
+ Reserved.
+
+ - License: AGPL 3 or later:
+
+ Spine (SiSU), a framework for document structuring, publishing and
+ search
+
+ Copyright (C) Ralph Amissah
+
+ This program is free software: you can redistribute it and/or modify it
+ under the terms of the GNU AFERO General Public License as published by the
+ Free Software Foundation, either version 3 of the License, or (at your
+ option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ more details.
+
+ You should have received a copy of the GNU General Public License along with
+ this program. If not, see [https://www.gnu.org/licenses/].
+
+ If you have Internet connection, the latest version of the AGPL should be
+ available at these locations:
+ [https://www.fsf.org/licensing/licenses/agpl.html]
+ [https://www.gnu.org/licenses/agpl.html]
+
+ - Spine (by Doc Reform, related to SiSU) uses standard:
+ - docReform markup syntax
+ - standard SiSU markup syntax with modified headers and minor modifications
+ - docReform object numbering
+ - standard SiSU object citation numbering & system
+
+ - Homepages:
+ [https://www.doc_reform.org]
+ [https://www.sisudoc.org]
+
+ - Git
+ [https://git.sisudoc.org/projects/?p=software/spine.git;a=summary]
+
++/
+/++
+ regex: regular expressions used in sisu document parser
++/
+module doc_reform.io_out.rgx_latex;
+static template spineRgxLSC() {
+ static struct RgxLSC {
+ static latex_special_char = ctRegex!(`([%${}_#&\\])`);
+ static latex_special_char_for_escape = ctRegex!(`([%${}_#\\])`);
+ static latex_special_char_for_escape_and_braces = ctRegex!(`([&])`);
+ static latex_special_char_for_escape_url = ctRegex!(`([%])`);
+ static latex_special_char_escaped = ctRegex!(`\\([%${}_#\\])`);
+ static latex_special_char_escaped_braced = ctRegex!(`[{]\\([&])[}]`);
+ static latex_identify_inline_link = ctRegex!(`┥.+?┝┤\S+?├`, "mg");
+ static latex_identify_inline_fontface = ctRegex!(`\\([_#$]┨.+?┣)\\([_#$])`, "mg");
+ static latex_clean_internal_link = ctRegex!(`^(?:#|¤\S+?#)`, "m");
+ static latex_clean_bookindex_linebreak = ctRegex!(`\s*\\\\\\\\\s*`, "m");
+ }
+}