aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/default_shared_snippets.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/default_shared_snippets.org')
-rw-r--r--org/default_shared_snippets.org175
1 files changed, 175 insertions, 0 deletions
diff --git a/org/default_shared_snippets.org b/org/default_shared_snippets.org
new file mode 100644
index 0000000..9c3d2cd
--- /dev/null
+++ b/org/default_shared_snippets.org
@@ -0,0 +1,175 @@
+-*- mode: org -*-
+#+TITLE: spine (doc_reform) shared
+#+DESCRIPTION: documents - structuring, publishing in multiple formats & search
+#+FILETAGS: :spine:default:shared:
+#+AUTHOR: Ralph Amissah
+#+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]]
+#+COPYRIGHT: Copyright (C) 2015 - 2023 Ralph Amissah
+#+LANGUAGE: en
+#+STARTUP: content hideblocks hidestars noindent entitiespretty
+#+PROPERTY: header-args :exports code
+#+PROPERTY: header-args+ :noweb yes
+#+PROPERTY: header-args+ :results no
+#+PROPERTY: header-args+ :cache no
+#+PROPERTY: header-args+ :padline no
+#+PROPERTY: header-args+ :mkdirp yes
+#+OPTIONS: H:3 num:nil toc:t \n:t ::t |:t ^:nil -:t f:t *:t
+
+- [[./doc-reform.org][doc-reform.org]] [[./][org/]]
+
+* html snippet
+** _module template_ :module:
+
+#+HEADER: :tangle "../src/doc_reform/io_out/html_snippet.d"
+#+HEADER: :noweb yes
+#+BEGIN_SRC d
+<<doc_header_including_copyright_and_license>>
+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"┃<!DOCTYPE html>
+<html>
+ <head>
+ <meta http-equiv="Content-Type" content="text/plain; charset=UTF-8" />
+ <link href="%s" rel="stylesheet" />
+ </head>
+ <body>
+ <p class="icons">
+ <a href="%s" class="lnkicon">⟰&nbsp;</a>&nbsp;
+ <a href="%s" class="lnkicon">&nbsp;≅&nbsp;</a>
+ </p>
+ </body>
+</html>┃",
+ 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, "&amp;") // "&#38;"
+ .replaceAll(rgx_xhtml.quotation, "&quot;") // "&#34;"
+ .replaceAll(rgx_xhtml.less_than, "&lt;") // "&#60;"
+ .replaceAll(rgx_xhtml.greater_than, "&gt;") // "&#62;"
+ .replaceAll(rgx.br_line, "<br />")
+ .replaceAll(rgx.br_line_inline, "<br />")
+ .replaceAll(rgx.br_line_spaced, "<br />\n<br />")
+ .replaceAll(rgx.nbsp_char, " ");
+ return _txt;
+ }
+}
+#+END_SRC
+
+* shared
+** _module template_ :module:shared:
+
+#+HEADER: :tangle "../src/doc_reform/share/defaults.d"
+#+HEADER: :noweb yes
+#+BEGIN_SRC d
+<<doc_header_including_copyright_and_license>>
+/++
+ shared default settings
++/
+module doc_reform.share.defaults;
+<<shared_messages>>
+#+END_SRC
+
+** template: messages :messages:
+
+#+NAME: shared_messages
+#+BEGIN_SRC d
+template Msg() {
+ import std.stdio;
+ @safe auto Msg(I)(I doc_matters) {
+ struct Msg_ {
+ void v()(string message) {
+ if (doc_matters.opt.action.vox_gt1) {
+ writeln(message);
+ }
+ }
+ void vv()(string message) {
+ if (doc_matters.opt.action.vox_gt2) {
+ writeln(message);
+ }
+ }
+ }
+ return Msg_();
+ }
+}
+#+END_SRC
+
+* document header including copyright & license
+
+#+NAME: doc_header_including_copyright_and_license
+#+BEGIN_SRC txt
+/+
+- 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 - 2023 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]
+
++/
+#+END_SRC
+
+* __END__