/+ - 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 - 2024 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] +/ module doc_reform.io_out.html_snippet; template htmlSnippet() { import std.file, std.outbuffer, std.format, std.uri, std.conv : to; import doc_reform.io_out.rgx, doc_reform.meta.rgx_files, doc_reform.io_out.rgx_xhtml; auto format_html_blank_page_guide_home()( string css_style, string home_url, string collection_home_path ) { auto html_blank_default = format(q"┃

⟰    ≅ 

┃", css_style, home_url, collection_home_path ); return html_blank_default; } @safe string special_characters_text(string _txt) { mixin spineRgxOut; mixin spineRgxXHTML; static auto rgx = RgxO(); static auto rgx_xhtml = RgxXHTML(); _txt = _txt .replaceAll(rgx_xhtml.ampersand, "&") // "&" .replaceAll(rgx_xhtml.quotation, """) // """ .replaceAll(rgx_xhtml.less_than, "<") // "<" .replaceAll(rgx_xhtml.greater_than, ">") // ">" .replaceAll(rgx.br_line, "
") .replaceAll(rgx.br_line_inline, "
") .replaceAll(rgx.br_line_spaced, "
\n
") .replaceAll(rgx.nbsp_char, " "); return _txt; } }