#+TITLE: sdp shared #+AUTHOR: Ralph Amissah #+EMAIL: [[mailto:ralph.amissah@gmail.com][ralph.amissah@gmail.com]] #+DESCRIPTION: documents - structuring, publishing in multiple formats & search #+KEYWORDS #+LANGUAGE: en #+STARTUP: indent content #+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t #+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc #+OPTIONS: author:nil email:nil creator:nil timestamp:nil #+PROPERTY: header-args :padline no :exports code :noweb yes #+EXPORT_SELECT_TAGS: export #+EXPORT_EXCLUDE_TAGS: noexport #+FILETAGS: :sdp:rel:meta: #+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n) [[./sdp.org][sdp]] [[./][org/]] * 0. shared :module:sdp:shared: ** 0. module template #+BEGIN_SRC d :tangle ../src/sdp/share/defaults.d /++ shared default settings +/ module sdp.share.defaults; <> #+END_SRC ** template: messages :messages: #+name: shared_messages #+BEGIN_SRC d template Msg() { import std.stdio; auto Msg(I)(I doc_matters) { struct Msg_ { void v()(string message) { if (!(doc_matters.opt.action.quiet) && doc_matters.opt.action.verbose) { writeln(message); } } void vv()(string message) { if (!(doc_matters.opt.action.quiet) && doc_matters.opt.action.very_verbose) { writeln(message); } } } return Msg_(); } } #+END_SRC