Constant tpnote_lib::config::LIB_CONFIG_DEFAULT_TOML

source ·
pub const LIB_CONFIG_DEFAULT_TOML: &str = "### The fallback scheme for the `sync_filename` template choice, in case the\n### `scheme` header variable is empty or is not defined.\n### Not to be confused with `app_arg.scheme`!\nscheme_sync_default = \"default\"\n\n\n\n\n[[scheme]]\n\n### The name of this scheme. The data is in `scheme_filename` and\n### `scheme.tmpl`.\nname = \"default\"\n\n### Filename related settings for the scheme `default`.\n[scheme.filename]\n\n### List of characters that can be part of a _sort tag_.\n### Besides the characters listed here, the digits `0..9` and\n### the lowercase letters `a..z` are always valid sort-tag characters. \nsort_tag.extra_chars = \".-_=\"\n\n### If empty, the first character which is not in `filename.sort_tag.extra_chars`\n### marks the end of a sort tag.\n### If not empty, a _sort_tag_ is only valid, when is its followed by\n### `filename.sort_tag.separator`. A _sort_tag_ never ends with a\n### `filename.sort_tag.separator`, if it does it stripped. In other positions\n### the separator may appear.\nsort_tag.separator = \"-\"\n\n### In case the file stem starts with a character in `sort_tag.extra_chars` the\n### `sort_tag.extra_separator` character is inserted in order to separate both\n### parts when the filename is read next time.\nsort_tag.extra_separator = \"\'\"\n\n### A sort-tag can have several counters. A counter can a set of digits or\n### a set of lower case letters. A valid sort-tag (sequential or chronological)\n### can have at most this number of letters in succession. \nsort_tag.letters_in_succession_max = 2\n\n### A criterium to decide if a sort tag is sequential or not: a sequential\n### sort-tag must have a maximum of this number of digits in succession.\n### We set this to `3` assuming, that the chronological sort-tag contains some \n### year, e.g. # `20231028` or `2023-10-28`. We require sequential sort-tags \n### to have shorter numbers to satisfy this criterium, e.g. `3.1.123` or `3a123`.\nsort_tag.sequential.digits_in_succession_max = 3\n \n### If the stem of a filename ends with a pattern, that is similar to a copy\n### counter, add this extra separator. It must be one of `TRIM_LINE_CHARS` (see\n### definition in crate: `sanitize_filename_reader_friendly`) because they are\n### known not to appear at the end of `sanitze()`\'d strings. This is why they are\n### suitable here.\ncopy_counter.extra_separator = \"-\"\n\n### Tp-Note may add a counter at the end of the filename when it can not save a\n### file because the name is taken already. This is the opening bracket search\n### pattern. Some examples: `\"-\"`, \"\'_\'\"\", `\"_-\"`,`\"-_\"`, `\"(\"` Can be empty.\ncopy_counter.opening_brackets = \"(\"\n\n### Tp-Note may add a counter at the end of the filename when it can not save a\n### file because the name is taken already. This is the closing bracket search\n### pattern. Some examples: `\"-\"`, \"\'_\'\"\", `\"_-\"`,`\"-_\"`, `\"(\"` Can be empty.\ncopy_counter.closing_brackets = \")\"\n\n### File extension of new _Tp-Note_ files.\n### NB: Do not forget to adapt the templates `tmpl.*` in case you set\n### this to another markup language.\nextension_default = \"md\"\n\n### The variable `filename.extensions` lists all file extensions that Tp-Note\n### considers as its own note files. The list entry is a tuple defined as \n### follows:\n###     Vec[(extension, \n###          html_to_markup(extension),\n###          markup_to_html(extension)\n###     )]\n###\n### The templates `from_clipboard` and `from_clipboard_yaml` contain some\n### `html_to_markup(extension)` filters which convert HTML clipboard content\n### into markup formatted content. The second tuple value of the vector\n### parametrizes the `html_to_markup` filter. It determines which converter is\n### used. Currently, the following converters are implemented:\n### * `ToMarkdown` and \n### * `PassThrough`.\n### \n### When Tp-Note\'s viewer displays a note file, the HTML output is generated\n### with `tmpl_html` templates. The templates contain some \n### `markup_to_html(extension)` filters which are parametrized by the third\n### value of the tuple. It determines which renderer is used.\n### Currently, the following renderers are implemented: \n### * `Markdown`, \n### * `ReStructuredText`, \n### * `PassThrough`, \n### * `PlainText` and \n### * `RendererDisabled`. \n###\n### Normally, the rendered HTML is displayed to the user via his web browser.\n### Only when the selected renderer for a certain file extension is \n### `RendererDisabled`, then no viewer is started.\n###\n### NB: The list is ordered to look for the most common extensions first.\nextensions = [\n  [\"txt\", \"PassThrough\", \"Markdown\"],\n  [\"md\", \"ToMarkdown\", \"Markdown\"],\n  [\"rst\", \"ToMarkdown\", \"ReStructuredText\"],\n  [\"htmlnote\", \"PassThrough\", \"Html\"],\n  [\"txtnote\", \"ToMarkdown\", \"PlainText\"],\n  [\"adoc\", \"PassThrough\", \"PlainText\"],\n  [\"text\", \"PassThrough\", \"Markdown\"],\n  [\"markdn\", \"ToMarkdown\", \"Markdown\"],\n  [\"markdown\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdown\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdtext\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdtxt\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdwn\", \"ToMarkdown\", \"Markdown\"],\n  [\"mkd\", \"ToMarkdown\", \"Markdown\"],\n  [\"rest\", \"PassThrough\", \"ReStructuredText\"],\n  [\"asciidoc\", \"PassThrough\", \"PlainText\"],\n  [\"mediawiki\", \"PassThrough\", \"RendererDisabled\"],\n  [\"mw\", \"PassThrough\", \"RendererDisabled\"],\n  [\"t2t\", \"PassThrough\", \"RendererDisabled\"],\n]\n\n### Template related settings for the scheme `default`.\n[scheme.tmpl]\n\n### After generating a new note with a content template, Tp-Note parses the\n### resulting front matter variables, which may be localized. The variables, are\n### then converted into front matter variables starting with `fm_`.\n### \n### The first item per line is the checked `fm_`-variable as it appears\n### in the templates.\n### The second item per line is the translated variable name as it appears in the\n### note file. For example, the expression `fm_lang` resolves to `lang`.\n### This allows to translate the templates into other human languages than English\n### without actually touching the templates itself.\n### For variables not listed below, only the prefix `fm_` is stripped and\n### no translation occurs, e.g. `fm_unknown` becomes `unknown`.\n#\n\nfm_var.localization = [\n    [\"fm_title\", \"title\"],\n    [\"fm_subtitle\", \"subtitle\"],\n    [\"fm_author\", \"author\"],\n    [\"fm_date\", \"date\"],\n    [\"fm_lang\", \"lang\"],\n    [\"fm_sort_tag\", \"sort_tag\"],\n    [\"fm_file_ext\", \"file_ext\"],\n    [\"fm_no_filename_sync\", \"no_filename_sync\"],\n    [\"fm_filename_sync\", \"filename_sync\"],\n    [\"fm_scheme\", \"scheme\"],\n]\n\n### Before the front matter `fm_` variables are applied to a filename template,\n### their validity is checked.  The following table lists test, every value has to\n### pass. If one test fails the user is informed.\n### \n### * `IsDefined`: Assert that the variable is defined in the template.\n### * `IsString`: Assert, that if the variable is defined, its type -or all\n###    subtypes- are `Value::String`.\n### * `IsNotEmptyString`: In addition to `IsString`, the condition asserts, that \n###    the string -or all substrings-) are not empty.\n### * `IsNumber`: Assert, that if the variable is defined, its type -or all\n###    subtypes- are `Value::Number`.\n### * `IsBool`: Assert, that if the variable is defined, its type -or all\n###    subtypes- are `Value::Bool`.\n### * `IsNotCompound`: Assert, that if the variable is defined, its type is not\n###   `Value::Array` or `Value::Object`.\n### * `IsValidSortTag`: Assert, that if the variable is defined, the value\'s\n###    string representation contains solely characters of the\n###    `filename.sort_tag.extra_chars` set, digits or lowercase letters.\n###    The number of lowercase letters in a row is limited by\n###    `scheme.filename.sort_tag.letters_in_succession_max`.\n### *  `IsConfguredScheme`: Assert, that -if the variable is defined- the\n###    string equals to one of the `scheme.name` in the configuration file.\n### * `IsTpnoteExtension`: Assert, that if the variable is defined, the values\n###    string representation is registered in one of the `filename.extension_*`\n###    configuraion file variables.\n### * `NoOperation` (default): A test that is always satisfied. For internal use\n###    only.\n###\nfm_var.assertions = [\n    [\"fm_title\", [\"IsDefined\", \"IsString\", \"IsNotEmptyString\", \"IsNotCompound\"]],\n    [\"fm_subtitle\", [\"IsString\", \"IsNotCompound\"]],\n    [\"fm_author\",  [\"IsString\"]],\n    [\"fm_lang\", [\"IsString\"]],\n    [\"fm_sort_tag\", [\"IsNotCompound\", \"IsValidSortTag\"]],\n    [\"fm_file_ext\", [\"IsString\", \"IsNotCompound\", \"IsTpnoteExtension\"]],\n    [\"fm_no_filename_sync\", [\"IsBool\", \"IsNotCompound\"]],\n    [\"fm_filename_sync\", [\"IsBool\", \"IsNotCompound\"]],\n    [\"fm_scheme\", [\"IsString\", \"IsConfiguredScheme\"]],\n]\n\n### A list of language tags, defining languages the `get_lang` filter tries\n### to identify in its input. The user\'s default language subtag, as reported \n### from the operating system, is automatically added to the present list.\n### The language recognition feature is disabled, when the list is empty.\n### It is also disabled, when the user\'s default language, as reported from\n### the operating system, is not supported by the external language guessing\n### library _Lingua_. In both cases the filter returns the empty string.\nfilter.get_lang = [ \"en\", \"fr\", \"de\", ]\n\n### Default values for the `map_lang` hash map filter, that are used to post\n### process the language recognition subtag as defined in `filter.get_lang`. The\n### key is the language subtag, the corresponding value adds a region subtag\n### completing the language tag. The default region subtags are chosen to be\n### compatible with the _LanguageTool_ grammar checker. In case a language\n### subtag has no key in the present hash map, the filter forwards the input\n### unchanged, e.g. the filter input `fr` results in `fr`.\n### One entry, derived from the user\'s default language - as reported from the\n### operating system - is automatically added to the present list. This\n### happens only when this language is not listed yet. For example,\n### consider the list `tmpl.filter.map_lang = &[&[\"en\", \"en-US\"]]`: In this\n### case, the user\'s default language `fr_CA.UTF-8` is added as\n### `&[\"fr\", \"fr-CA\"]`. But, if the user\'s default language were\n### `en_GB.UTF-8`, then it is _not_ added because an entry `&[\"en\", \"en-US\"]`\n### exists already.\n### Note, that the empty input string results in the user\'s default language\n### tag - here `fr-CA` - as well.\nfilter.map_lang = [\n    [ \"de\", \"de-DE\", ],\n    [ \"et\", \"et-ET\", ],\n]\n\n### Default value used by `to_yaml_filter`.\n### The parameter `tmpl.filter.to_yaml_tab = n` indents the YAML values\n### `n` characters to the right of the first character of the key by inserting\n### additional spaces between the key and the value. `n==0` disables the\n### extra indentation.\nfilter.to_yaml_tab = 14\n\n### Default content template used when the command line argument `<sanit>`\n### is a directory. Can be changed through editing the configuration\n### file. The following variables are defined:\n### * `{{ path }}`: points to the directory where the new note will be created.\n### * `{{ dir_path }}` is in this context identical to `{{\u{a0}path }}`.\n###   In addition, all environment variables can be used, e.g.\n###   `{{ get_env(name=\\\"LOGNAME\\\") }}` When placed in YAML front matter, the\n###   filter `to_yaml` must be appended to each variable.\nfrom_dir_content = \"\"\"\n{%- set title_text = dir_path | trim_file_sort_tag -%}\n---\n{{ title_text | cut | to_yaml(key=\'fm_title\') }}\n{{ \'Note\' | to_yaml(key=\'fm_subtitle\') }}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ now() | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ title_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n---\n\n\n\"\"\"\n\n### Default filename template for a new note file on disk. It implements the\n### sync criteria for note metadata in front matter and filename.\n### Useful variables in this context are:\n### `{{ title | sanit }}`, `{{ subtitle | sanit }}`, `{{ extension_default }}.\n### In general, in filename template, all variables (except `now` and\n### `extension_default` must be filtered by a `sanit` filter.\nfrom_dir_filename = \"\"\"\n{%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n{%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ fm_subtitle | default(value=\'\') | sanit | prepend(with=\'--\') }}\\\n{{ extension_default | prepend(with=\'.\') }}\"\"\"\n\n### Default template used, when the clipboard or the input stream `stdin`\n### contains a string and one the of these strings contains a valid YAML front\n### matter section. The clipboards body is in `{{ clipboard }}`, the header\n### is in `{{ clipboard_header }}`.  The stdin\'s body is in `{{ stdin }}`,\n### the header is in `{{ stdin_header }}`. First all variables defined in the\n### clipboard\'s front matter are registered, the ones defined in the input\n### stream `stdin`. The latter can overwrite the former.  One of the front\n### matters must define the `title` variable, which is then available in this\n### template as `{{ fm_title }}`.\n### When placed in YAML front matter, the filter `to_yaml` must be\n### appended to each variable.\nfrom_clipboard_yaml_content = \"\"\"\n{%- set stdin = stdin | html_to_markup(extension=extension_default) | append(newline=true) -%}\n{%- set clipboard = clipboard | html_to_markup(extension=extension_default) -%}\n{%- set input = stdin ~ clipboard | trim_end -%}\n{%- set lang = fm_lang \n    | default(value = fm_title \n    | default(value=stdin~clipboard|heading) \n    | get_lang \n    | map_lang(default=lang) )  -%}\n---\n{{ fm_title | default(value = path|trim_file_sort_tag) | cut | to_yaml(key=\'fm_title\') }}\n{{ fm_subtitle | default(value = \'Note\') | cut | to_yaml(key=\'fm_subtitle\') }}\n{{ fm_author | default(value=username | capitalize) | to_yaml(key=\'fm_author\') }}\n{{ fm_date | default(value = now()|date(format=\'%Y-%m-%d\')) | to_yaml(key=\'fm_date\') }}\n{{ lang | to_yaml(key=\'fm_lang\') }}\n{{ fm_all \\\n    | remove(key=\'fm_title\')\\\n    | remove(key=\'fm_subtitle\')\\\n    | remove(key=\'fm_author\')\\\n    | remove(key=\'fm_date\')\\\n    | remove(key=\'fm_lang\')\\\n    | to_yaml \\\n    | prepend(newline=true) \\\n    | append(newline=true) }}\\\n---\n\n{{ input }}\n\n\"\"\"\n\n### Default filename template used when the stdin or the clipboard contains a\n### string and one of them has a valid YAML header.\nfrom_clipboard_yaml_filename = \"\"\"\n{%- if fm_sort_tag -%}\n  {%- set tag = fm_sort_tag -%}\n{%- else -%}\n  {%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n  {%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{%- endif -%}\n\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ fm_subtitle | default(value=\'\') | sanit | prepend(with=\'--\') }}\\\n{{ fm_file_ext | default(value = extension_default ) | prepend(with=\'.\') }}\"\"\"\n\n### Default template used, when the clipboard or the input stream `stdin`\n### contains a string and this string has no valid YAML front matter section.\n### The clipboards content is in `{{ clipboard }}`, its truncated version in\n### `{{ clipboard | heading }}` When the clipboard contains a hyperlink in\n### Markdown or reStruncturedText format. See crate `parse-hyperlinks` for\n### details. For example: `[<link-name>](<link-url> \"link-title\")`, can be\n### accessed with the variables: `{{ clipboard | link_text }}`, `\n### {{ clipboard | link_dest }}` and `{{ clipboard | linkttitle }}`.\nfrom_clipboard_content = \"\"\"\n{%- set stdin = stdin | html_to_markup(extension=extension_default) | append(newline=true) -%}\n{%- set clipboard = clipboard | html_to_markup(extension=extension_default) -%}\n{%- set input = stdin ~ clipboard | trim_end -%}\n{%- set first_link = input | link_text_picky -%}\n{%- set first_lines = input | heading -%}\n\n{%- if first_link != \'\' -%} \n  {%- set title_text = first_link -%}\n{%- else -%}\n  {%- set title_text = first_lines -%}\n{%- endif -%}\n\n{%- if first_link !=\'\' and input | cut | linebreaksbr == input | cut -%}\n  {%- set subtitle_text = \'url\' -%}\n{%- else -%}\n  {%- set subtitle_text = \'Note\' -%}\n{%- endif -%}\n---\n{{ title_text | cut | to_yaml(key=\'fm_title\') }}\n{{ subtitle_text | to_yaml(key=\'fm_subtitle\') }}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ now() | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ title_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n---\n\n{{ input }}\n\n\"\"\"\n\n### Default filename template used when the stdin ~ clipboard contains a string.\nfrom_clipboard_filename = \"\"\"\n{%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n{%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ fm_subtitle | default(value=\'\') | sanit | prepend(with=\'--\') }}\\\n{{ extension_default | prepend(with=\'.\') }}\"\"\"\n\n### Default template used, when the opened text file (with a known file\n### extension) is missing a YAML front matter section. This template prepends\n### such a header. The template inserts information extracted from the input\n### filename and its creation date. `{{ path }}` points to the text file,\n### `{{ dir_path }}` to the directory where it is located.\nfrom_text_file_content = \"\"\"\n---\n{{ path | file_stem | split(pat=\'--\') | first | cut | to_yaml(key=\'fm_title\') }}\n{{ path | file_stem | split(pat=\'--\') | nth(n=1) | cut | to_yaml(key=\'fm_subtitle\') }}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ doc_file_date | default(value=now()) | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ doc_body_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n### {{ path | file_name | to_yaml(key=\'fm_orig_name\', tab=12) }}\n---\n\n{{ doc_body_text }}\n\"\"\"\n\n### Default filename template used when the input file (with a known\n### file extension) is missing a YAML front matter section.\n### The text file\'s sort-tag and file extension are preserved.\nfrom_text_file_filename = \"\"\"\n{%- if path | file_sort_tag != \'\' -%}\n  {%- set tag = path | file_sort_tag -%}\n{%- else -%}\n  {%- set tag = doc_file_date | default(value=now()) | date(format=\'%Y%m%d\') -%}\n{%- endif -%}\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ fm_subtitle | default(value=\'\') | sanit | prepend(with=\'--\') }}\\\n{{ path | file_ext | prepend(with=\'.\') }}\"\"\"\n\n### Default template used when the command line `<path>` parameter points to an\n### existing - to be annotated - non-`.md`-file. `{{ path}}` points to that\n### file, `{{ dir_path }}` to the directory where it is located.\nannotate_file_content = \"\"\"\n{%- set stdin = stdin | html_to_markup(extension=extension_default) | append(newline=true) -%}\n{%- set clipboard = clipboard | html_to_markup(extension=extension_default) -%}\n{%- set body_text = stdin ~ clipboard | trim_end -%}\n{%- if body_text != \'\' -%}\n   {%- set lang_test_text = body_text | cut -%}\n{%- else -%}\n   {%- set lang_test_text = path | file_stem  -%}\n{%- endif -%}\n---\n{{ path | trim_file_sort_tag | to_yaml(key=\'fm_title\') }}\n{% if body_text | link_text !=\'\' and\n      body_text | heading == body_text -%}\n{{ \'url\' | to_yaml(key=\'fm_subtitle\') -}}\n{%- else -%}\n{{ \'Note\' | to_yaml(key=\'fm_subtitle\') -}}\n{%- endif %}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ now() | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ lang_test_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n---\n\n[{{ path | file_name }}](<{{ path | file_name }}>)\n{% if body_text != \'\' -%}\n{%- if body_text != body_text | heading %}\n---\n{% endif %}\n{{ body_text }}\n{% endif %}\n\"\"\"\n\n### Filename of a new note, that annotates an existing file on disk given in\n### `<path>`.\nannotate_file_filename = \"\"\"\n{%- set tag = path | file_sort_tag -%}\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ fm_subtitle | default(value=\'\') | sanit | prepend(with=\'--\') }}\\\n{{ extension_default | prepend(with=\'.\') }}\"\"\"\n\n### Default filename template to test, if the filename of an existing note file\n### on disk, corresponds to the note\'s meta data stored in its front matter. If\n### it is not the case, the note\'s filename will be renamed.\nsync_filename = \"\"\"\n{%- set tag = fm_sort_tag | default(value = path | file_sort_tag) | as_str -%}\n{{ fm_title | default(value=\'No title\') | sanit | prepend(with_sort_tag=tag) }}\\\n{{ fm_subtitle | default(value=\'\') | sanit | prepend(with=\'--\') }}\\\n{{ fm_file_ext | default(value = path | file_ext) | prepend(with=\'.\') }}\n\"\"\"\n\n\n\n[[scheme]]\nname = \"zettel\"\n\n[scheme.filename]\n\nsort_tag.extra_chars = \".-_=\"\nsort_tag.separator = \"--\"\nsort_tag.extra_separator = \"\'\"\nsort_tag.letters_in_succession_max = 2\nsort_tag.sequential.digits_in_succession_max = 3\ncopy_counter.extra_separator = \"-\"\ncopy_counter.opening_brackets = \"(\"\ncopy_counter.closing_brackets = \")\"\nextension_default = \"md\"\nextensions = [\n  [\"txt\", \"PassThrough\", \"Markdown\"],\n  [\"md\", \"ToMarkdown\", \"Markdown\"],\n  [\"rst\", \"ToMarkdown\", \"ReStructuredText\"],\n  [\"htmlnote\", \"PassThrough\", \"Html\"],\n  [\"txtnote\", \"ToMarkdown\", \"PlainText\"],\n  [\"adoc\", \"PassThrough\", \"PlainText\"],\n  [\"text\", \"PassThrough\", \"Markdown\"],\n  [\"markdn\", \"ToMarkdown\", \"Markdown\"],\n  [\"markdown\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdown\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdtext\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdtxt\", \"ToMarkdown\", \"Markdown\"],\n  [\"mdwn\", \"ToMarkdown\", \"Markdown\"],\n  [\"mkd\", \"ToMarkdown\", \"Markdown\"],\n  [\"rest\", \"PassThrough\", \"ReStructuredText\"],\n  [\"asciidoc\", \"PassThrough\", \"PlainText\"],\n  [\"mediawiki\", \"PassThrough\", \"RendererDisabled\"],\n  [\"mw\", \"PassThrough\", \"RendererDisabled\"],\n  [\"t2t\", \"PassThrough\", \"RendererDisabled\"],\n]\n\n[scheme.tmpl]\nfm_var.localization = [\n    [\"fm_title\", \"title\"],\n    [\"fm_subtitle\", \"subtitle\"],\n    [\"fm_author\", \"author\"],\n    [\"fm_date\", \"date\"],\n    [\"fm_lang\", \"lang\"],\n    [\"fm_sort_tag\", \"sort_tag\"],\n    [\"fm_file_ext\", \"file_ext\"],\n    [\"fm_no_filename_sync\", \"no_filename_sync\"],\n    [\"fm_filename_sync\", \"filename_sync\"],\n    [\"fm_scheme\", \"scheme\"],\n]\nfm_var.assertions = [\n    [\"fm_title\", [ \"IsDefined\", \"IsString\", \"IsNotEmptyString\", \"IsNotCompound\"],],\n    [\"fm_subtitle\", [\"IsString\", \"IsNotCompound\"],],\n    [\"fm_author\", [\"IsString\"],],\n    [\"fm_lang\", [\"IsString\"],],\n    [\"fm_sort_tag\", [\"IsNotCompound\", \"IsValidSortTag\",],],\n    [\"fm_file_ext\", [\"IsString\", \"IsNotCompound\", \"IsTpnoteExtension\"],],\n    [\"fm_no_filename_sync\", [\"IsBool\", \"IsNotCompound\"],],\n    [\"fm_filename_sync\", [\"IsBool\", \"IsNotCompound\"],],\n    [\"fm_scheme\", [\"IsString\", \"IsConfiguredScheme\"],],\n]\nfilter.get_lang = [ \"en\", \"fr\", \"de\", ]\nfilter.map_lang = [\n    [ \"de\", \"de-DE\", ],\n    [ \"et\", \"et-ET\", ],\n]\nfilter.to_yaml_tab = 14\n\nfrom_dir_content = \"\"\"\n{%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n{%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{%- set keywords = [\'note\'] -%}\n{%- set title_text = dir_path | trim_file_sort_tag -%}\n---\n{{ title_text | cut | to_yaml(key=\'fm_title\') }}\n{{ keywords | to_yaml(key=\'keywords\') }}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ now() | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ title_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n{{ \'zettel\' | to_yaml(key=\'fm_scheme\') }}\n{{ tag | to_yaml(key=\'sort_tag\') }}\n---\n\n\n\"\"\"\n\nfrom_dir_filename = \"\"\"\n{%- set keywords = \'\' -%}\n{%- for sub in fm_keywords | default(value=[]) -%}\n{%- set_global keywords = keywords~sub~\'_\' -%}\n{%- endfor -%}\n\n{%- if fm_sort_tag -%}\n  {%- set tag = fm_sort_tag -%}\n{%- else -%}\n  {%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n  {%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{%- endif -%}\n\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ keywords | default(value=\'\') | sanit | prepend(with=\'__\') }}\\\n{{ extension_default | prepend(with=\'.\') }}\"\"\"\n\nfrom_clipboard_yaml_content = \"\"\"\n{%- set stdin = stdin | html_to_markup(extension=extension_default) | append(newline=true) -%}\n{%- set clipboard = clipboard | html_to_markup(extension=extension_default) -%}\n{%- set input = stdin ~ clipboard | trim_end -%}\n{%- if fm_sort_tag -%}\n  {%- set tag = fm_sort_tag -%}\n{%- else -%}\n  {%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n  {%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{%- endif -%}\n\n{%- set lang = fm_lang \n    | default(value = fm_title \n    | default(value=stdin~clipboard|heading) \n    | get_lang \n    | map_lang(default=lang) )  -%}\n---\n{{ fm_title | default(value = path|trim_file_sort_tag) | cut | to_yaml(key=\'fm_title\') }}\n{{ fm_keywords | default(value = [\'note\']) | to_yaml(key=\'fm_keywords\') }}\n{{ fm_author | default(value=username | capitalize) | to_yaml(key=\'fm_author\') }}\n{{ fm_date | default(value = now()|date(format=\'%Y-%m-%d\')) | to_yaml(key=\'fm_date\') }}\n{{ lang | to_yaml(key=\'fm_lang\') }}\n{{ \'zettel\' | to_yaml(key=\'fm_scheme\') }}\n{{ tag | to_yaml(key=\'fm_sort_tag\') }}\n{{ fm_all \\\n    | remove(key=\'fm_title\')\\\n    | remove(key=\'fm_keywords\')\\\n    | remove(key=\'fm_author\')\\\n    | remove(key=\'fm_date\')\\\n    | remove(key=\'fm_lang\')\\\n    | remove(key=\'fm_scheme\')\\\n    | remove(key=\'fm_sort_tag\')\\\n    | to_yaml \\\n    | prepend(newline=true) \\\n    | append(newline=true) }}\\\n---\n\n{{ input }}\n\n\"\"\"\n\nfrom_clipboard_yaml_filename = \"\"\"\n{%- set keywords = \'\' -%}\n{%- for sub in fm_keywords | default(value=[]) -%}\n{%- set_global keywords = keywords~sub~\'_\' -%}\n{%- endfor -%}\n\n{%- if fm_sort_tag -%}\n  {%- set tag = fm_sort_tag -%}\n{%- else -%}\n  {%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n  {%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{%- endif -%}\n\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ keywords | default(value=[\'\']) | sanit | prepend(with=\'__\') }}\\\n{{ fm_file_ext | default(value = extension_default ) | prepend(with=\'.\') }}\"\"\"\n\nfrom_clipboard_content = \"\"\"\n{%- set stdin = stdin | html_to_markup(extension=extension_default) | append(newline=true) -%}\n{%- set clipboard = clipboard | html_to_markup(extension=extension_default) -%}\n{%- set input = stdin ~ clipboard | trim_end -%}\n{%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n{%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{%- set first_link = input | link_text_picky | cut -%}\n{%- set first_lines = input | heading | cut  -%}\n\n{%- if first_link != \'\' -%} \n  {%- set title_text = first_link -%}\n{%- else -%}\n  {%- set title_text = first_lines -%}\n{%- endif -%}\n\n{%- if first_link !=\'\' and input | cut | linebreaksbr == input | cut -%}\n  {%- set keywords_text = [\'url\'] -%}\n{%- else -%}\n  {%- set keywords_text = [\'note\'] -%}\n{%- endif -%}\n---\n{{ title_text | to_yaml(key=\'fm_title\') }}\n{{ keywords_text | to_yaml(key=\'fm_keywords\') }}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ now() | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ title_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n{{ \'zettel\' | to_yaml(key=\'scheme\') }}\n{{ tag | to_yaml(key=\'fm_sort_tag\') }}\n---\n\n{{ input }}\n\n\"\"\"\n\nfrom_clipboard_filename = \"\"\"\n{%- set keywords = \'\' -%}\n{%- for sub in fm_keywords | default(value=[]) -%}\n{%- set_global keywords = keywords~sub~\'_\' -%}\n{%- endfor -%}\n\n{%- if fm_sort_tag -%}\n  {%- set tag = fm_sort_tag -%}\n{%- else -%}\n  {%- set tag_default = now() | date(format=\'%Y%m%d\') -%}\n  {%- set tag = dir_path | find_last_created_file | incr_sort_tag(default=tag_default) -%}\n{%- endif -%}\n\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ keywords | default(value=[\'\']) | sanit | prepend(with=\'__\') }}\\\n{{ extension_default | prepend(with=\'.\') }}\"\"\"\n\nfrom_text_file_content = \"\"\"\n{%- set file = path | file_name -%}\n{%- if file is containing(\'==\')-%}\n  {%- set file = file | split(pat=\'==\') | nth(n=1) -%}\n{%- endif -%}\n\n{%- if path | file_sort_tag != \'\' -%}\n  {%- set tag = path | file_sort_tag -%}\n{%- else -%}\n  {%- set tag = doc_file_date | default(value=now()) | date(format=\'%Y%m%d\') -%}\n{%- endif -%}\n\n{%- set file = file | file_stem -%}\n{%- set title = file | split(pat=\'__\') | first -%}\n{%- set keywords = file | split(pat=\'__\') | nth(n=1) -%}\n---\n{{ title | cut | to_yaml(key=\'fm_title\') }}\n{{ keywords | split(pat=\'_\') | to_yaml(key=\'fm_keywords\') }}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ doc_file_date | default(value=now()) | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ doc_body_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n{{ \'zettel\' | to_yaml(key=\'fm_scheme\') }}\n{{ tag | to_yaml(key=\'fm_sort_tag\') }}\n### {{ path | file_name | to_yaml(key=\'fm_orig_name\', tab=12) }}\n---\n\n{{ doc_body_text }}\n\"\"\"\n\nfrom_text_file_filename = \"\"\"\n{%- if fm_sort_tag -%}\n  {%- set tag = fm_sort_tag -%}\n{%- else -%}\n  {%- if path | file_sort_tag != \'\' -%}\n    {%- set tag = path | file_sort_tag -%}\n  {%- else -%}\n    {%- set tag = doc_file_date | default(value=now()) | date(format=\'%Y%m%d\') -%}\n  {%- endif -%}\n{%- endif -%}\n\n{%- set keywords = \'\' -%}\n{%- if fm_keywords | as_str == fm_keywords -%}\n  {%- set keywords = fm_keywords -%}\n{%- else -%}\n  {%- for sub in fm_keywords | default(value=[]) -%}\n    {%- set_global keywords = keywords~sub~\'_\' -%}\n  {%- endfor -%}\n{%- endif -%}\n\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ keywords | sanit | prepend(with=\'__\') }}\\\n{{ path | file_ext | prepend(with=\'.\') }}\"\"\"\n\nannotate_file_content = \"\"\"\n{%- set stdin = stdin | html_to_markup(extension=extension_default) | append(newline=true) -%}\n{%- set clipboard = clipboard | html_to_markup(extension=extension_default) -%}\n{%- set body_text = stdin ~ clipboard | trim_end -%}\n{%- if body_text != \'\' -%}\n   {%- set lang_test_text = body_text | cut -%}\n{%- else -%}\n   {%- set lang_test_text = path | file_stem -%}\n{%- endif -%}\n\n{%- if body_text | link_text !=\'\' and\n      body_text | heading == body_text -%}\n{%- set keywords = [\'url\'] -%}\n{%- else -%}\n{%- set keywords = [\'note\'] -%}\n{%- endif -%}\n---\n{{ path | trim_file_sort_tag | to_yaml(key=\'fm_title\') }}\n{{ keywords | to_yaml(key=\'fm_keywords\') }}\n{{ username | capitalize | to_yaml(key=\'fm_author\') }}\n{{ now() | date(format=\'%Y-%m-%d\') | to_yaml(key=\'fm_date\') }}\n{{ lang_test_text | get_lang | map_lang(default=lang) | to_yaml(key=\'fm_lang\') }}\n{{ \'zettel\' | to_yaml(key=\'fm_scheme\') }}\n{{ path | file_sort_tag | to_yaml(key=\'fm_sort_tag\') }}\n---\n\n[{{ path | file_name }}](<{{ path | file_name }}>)\n{%- if body_text != \'\' -%}\n{%- if body_text != body_text | heading -%}\n--\n{%- endif -%}\n{{ body_text }}\n{%- endif -%}\n\"\"\"\n\nannotate_file_filename = \"\"\"\n{%- set keywords = \'\' -%}\n{%- for sub in fm_keywords | default(value=[]) -%}\n{%- set_global keywords = keywords~sub~\'_\' -%}\n{%- endfor -%}\n\n{%- if fm_sort_tag -%}\n  {%- set tag = fm_sort_tag -%}\n{%- else -%}\n  {%- set tag = path | file_sort_tag -%}\n{%- endif -%}\n\n{{ fm_title | sanit | prepend(with_sort_tag=tag) }}\\\n{{ keywords | default(value=\'\') | sanit | prepend(with=\'__\') }}\\\n{{ extension_default | prepend(with=\'.\') }}\"\"\"\n\nsync_filename = \"\"\"\n{%- set keywords = \'\' -%}\n{%- set fm_keywords = fm_keywords | default(value=\'\') -%}\n{%- if fm_keywords | as_str == fm_keywords -%}\n  {%- set_global keywords = fm_keywords -%}\n{%- else -%}\n  {%- for sub in fm_keywords -%}\n    {%- set_global keywords = keywords~sub~\'_\' -%}\n  {%- endfor -%}\n{%- endif -%}\n\n{%- set tag = fm_sort_tag | default(value = path | file_sort_tag) | as_str -%}\n\n{{ fm_title | default(value=\'No title\') | sanit | prepend(with_sort_tag=tag) }}\\\n{{ keywords | sanit | prepend(with=\'__\') }}\\\n{{ fm_file_ext | default(value = path | file_ext) | prepend(with=\'.\') }}\"\"\"\n\n### This is the end of scheme \"zettel\"\n\n\n\n### This part is common for all schemes.\n[tmpl_html]\n\n### HTML template to render regular viewer pages. Note: HTML templates escape HTML\n### critical symbols by default. To disable this feature for a specific variable,\n### add a `safe` filter in last position.\nviewer = \'\'\'\n{%- set ext = fm_file_ext | default(value=path|file_ext) -%}\n<!DOCTYPE html>\n<html lang=\"{{ fm_lang | default(value=\'en\') }}\">\n<head>\n<meta charset=\"UTF-8\">\n<title>{{ fm_title }}</title>\n<link rel=\"stylesheet\" href=\"{{ viewer_doc_css_path | safe}}\">\n<link rel=\"stylesheet\" href=\"{{ viewer_highlighting_css_path |safe }}\">\n<style type=\"text/css\">\n/* Customize the viewer CSS here */\n</style>\n</head>\n<body>\n  <table class=\"fm\">\n    <tr>\n    <th class=\"fmkey\">{{\'fm_title\' | name}}:</th>\n    <th class=\"fmval\"><b>{{ fm_title | default(value=\'\') | to_html | safe }}</b></th>\n  </tr>\n  {% if fm_subtitle %}\n    <tr>\n    <th class=\"fmkey\">{{\'fm_subtitle\' | name}}:</th>\n    <th class=\"fmval\">{{ fm_subtitle | default(value=\'\') | to_html | safe }}</th>\n  </tr>\n  {% endif %}\n  {% if fm_keywords %}\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_keywords\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_keywords | default(value=\'\') | to_html | safe }}</th>\n  </tr>\n  {% endif %}\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_author\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_author | default(value=\'\') |to_html | safe }}</th>\n  </tr>\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_date\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_date | default(value=\'\')| to_html | safe }}</th>\n  </tr>\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_lang\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_lang | default(value=\'\') |to_html | safe }}</th>\n  </tr>\n  {% if fm_all | length > 5 %}\n    <tr><th colspan=2;\\\"/>&nbsp<th/</tr>\n  {% endif %}\n  {% for k, v in fm_all| remove(key=\'fm_title\')|\n                         remove(key=\'fm_subtitle\')|\n                         remove(key=\'fm_keywords\')|\n                         remove(key=\'fm_author\')|\n                         remove(key=\'fm_date\')|\n                         remove(key=\'fm_lang\')\n  %}\n    <tr>\n    <th class=\"fmkeygrey\">{{ k }}:</th>\n    <th class=\"fmvalgrey\">{{ v | to_html | safe }}</th>\n  </tr>\n  {% endfor %}\n  </table>\n  <div class=\"doc-body\">{{ doc_body_text | markup_to_html(extension=ext) | safe }}\n  </div>\n  <script>{{ viewer_doc_js | safe }}</script>\n</body>\n</html>\n\'\'\'\n\n### HTML template to render the viewer-error page.\nviewer_error = \"\"\"\n<!DOCTYPE html>\n<html lang=\\\"en\\\">\n<head>\n<meta charset=\\\"UTF-8\\\">\n<title>Syntax error</title>\n<style type=\"text/css\">\n.note-error { color: #523626; }\npre { white-space: pre-wrap; }\na { color: #316128; }\nh1, h2, h3, h4, h5, h6 { color: #d3af2c; font-family:sans-serif; }\n</style>\n</head>\n<body>\n<h3>Syntax error</h3>\n<p> in note file: <pre>{{ path }}</pre><p>\n<div class=\\\"note-error\\\">\n<hr>\n<pre>{{ doc_error }}</pre>\n<hr>\n</div>\n{{ doc_text | markup_to_html | safe }}\n<script>{{ viewer_doc_js | safe }}</script>\n</body>\n</html>\n\"\"\"\n\n### A constant holding common CSS code, published by Tp-Note\'s viewer under the\n### `/viewer_doc.css` path.\nviewer_doc_css = \"\"\"\n/* Tp-Note\'s viewer document CSS */\ntable.fm {\n  font-weight: normal;\n  margin-left: auto;\n  margin-right: auto;\n  padding: 4px;\n  background-color: #f3f2e4;\n  border:1px solid grey;\n}\nth.fmkey, th.fmkeygrey {\n  font-weight: normal;\n  padding-left:20px;\n  padding-right:10px;\n}\nth.fmval, th.fmvalgrey {\n  font-weight: normal;\n  padding-left:10px;\n  padding-right:20px;\n}\nth.fmkey{ color:#444444; text-align:right; vertical-align:top;}\nth.fmval{\n  color:#316128;\n  text-align:left;\n  font-family:sans-serif;\n}\nth.fmkeygrey{ color:grey; text-align:right; vertical-align:top;}\nth.fmvalgrey{ color:grey; text-align:left; }\nul.fm {\n  padding-left: 15px;\n  margin: 0px;\n}\nli.fm {\n  padding-bottom: 0px;\n}\nblockquote.fm {\n  margin: 0px;\n  padding-left: 15px\n}\npre { white-space: pre-wrap; }\nem { color: #523626; }\na { color: #316128; }\nh1 { font-size: 150% }\nh2 { font-size: 132% }\nh3 { font-size: 115% }\nh4, h5, h6 { font-size: 100% }\nh1, h2, h3, h4, h5, h6 { color: #263292; font-family:sans-serif; }\n\"\"\"\n\n### Loads the viewer\'s code syntax highlighting theme. The theme is converted\n### into additional CSS. Currently available are:\n### * `base16-ocean.dark`\n### * `base16-eighties.dark`\n### * `base16-mocha.dark`\n### * `base16-ocean.light`\n### * `InspiredGitHub`\n### * `Solarized (dark)`\n### * `Solarized (light)`\nviewer_highlighting_theme = \"Solarized (light)\"\n\n### HTML template used to render a note into HTML when the rendition is saved to\n### disk. Similar to `tmpl_html.viewer` but does not inject JavaScript code.\nexporter = \'\'\'\n{%- set ext = fm_file_ext | default(value=path|file_ext) -%}\n<!DOCTYPE html>\n<html lang=\"{{ fm_lang | default(value=\'en\') }}\">\n<head>\n<meta charset=\"utf-8\">\n<title>{{ fm_title }}</title>\n<style type=\"text/css\">\n{{ exporter_doc_css | safe }}\n{{ exporter_highlighting_css | safe }}\n/* Customize the viewer CSS here */\n</style>\n</head>\n<body>\n  <table class=\"fm\">\n    <tr>\n    <th class=\"fmkey\">{{\'fm_title\' | name}}:</th>\n    <th class=\"fmval\"><b>{{ fm_title | default(value=\'\') | to_html | safe }}</b></th>\n  </tr>\n  {% if fm_subtitle %}\n    <tr>\n    <th class=\"fmkey\">{{\'fm_subtitle\' | name}}:</th>\n    <th class=\"fmval\">{{ fm_subtitle | default(value=\'\') | to_html | safe }}</th>\n  </tr>\n  {% endif %}\n  {% if fm_keywords %}\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_keywords\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_keywords | default(value=\'\') | to_html | safe }}</th>\n  </tr>\n  {% endif %}\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_author\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_author | default(value=\'\') |to_html | safe }}</th>\n  </tr>\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_date\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_date | default(value=\'\')| to_html | safe }}</th>\n  </tr>\n    <tr>\n    <th class=\"fmkeygrey\">{{\'fm_lang\' | name}}:</th>\n    <th class=\"fmvalgrey\">{{ fm_lang | default(value=\'\') |to_html | safe }}</th>\n  </tr>\n  {% if fm_all | length > 5 %}\n    <tr><th colspan=2;\\\"/>&nbsp<th/</tr>\n  {% endif %}\n  {% for k, v in fm_all| remove(key=\'fm_title\')|\n                         remove(key=\'fm_subtitle\')|\n                         remove(key=\'fm_keywords\')|\n                         remove(key=\'fm_author\')|\n                         remove(key=\'fm_date\')|\n                         remove(key=\'fm_lang\')\n  %}\n    <tr>\n    <th class=\"fmkeygrey\">{{ k }}:</th>\n    <th class=\"fmvalgrey\">{{ v | to_html | safe }}</th>\n  </tr>\n  {% endfor %}\n  </table>\n  <div class=\"doc-body\">{{ doc_body_text| markup_to_html(extension=ext) | safe }}\n  </div>\n</body>\n</html>\n\'\'\'\n\n### Loads the exporter\'s code syntax highlighting theme. The theme is converted\n### into additional CSS. Currently, available are:\n### * `base16-ocean.dark`\n### * `base16-eighties.dark`\n### * `base16-mocha.dark`\n### * `base16-ocean.light`\n### * `InspiredGitHub`\n### * `Solarized (dark)`\n### * `Solarized (light)`\nexporter_highlighting_theme = \"Solarized (light)\"\n\n### A constant holding common CSS code, inserted into exported HTML documents\n### with the template variable `{{ exporter_doc.css }}`. \n### [CSS Paged Media Module Level 3](https://www.w3.org/TR/css-page-3/)\nexporter_doc_css = \"\"\"\n/* Tp-Note\'s exporter document CSS */\n@page {\n  @bottom-center {\n    content: counter(page) \"/\" counter(pages);\n  } \n  size: A4 portrait;\n}\n\ntable.fm {\n  font-weight: normal;\n  margin-left: auto;\n  margin-right: auto;\n  padding: 4px;\n  background-color: #f3f2e4;\n  border:1px solid grey;\n}\nth.fmkey, th.fmkeygrey {\n  font-weight: normal;\n  padding-left:20px;\n  padding-right:10px;\n}\nth.fmval, th.fmvalgrey {\n  font-weight: normal;\n  padding-left:10px;\n  padding-right:20px;\n}\nth.fmkey{ color:#444444; text-align:right; vertical-align:top;}\nth.fmval{\n  color:#316128;\n  text-align:left;\n  font-family:sans-serif;\n}\nth.fmkeygrey{ color:grey; text-align:right; vertical-align:top;}\nth.fmvalgrey{ color:grey; text-align:left; }\nul.fm {\n  padding-left: 15px;\n  margin: 0px;\n}\nli.fm {\n  padding-bottom: 0px;\n}\nblockquote.fm {\n  margin: 0px;\n  padding-left: 15px\n}\npre { white-space: pre-wrap; }\nem { color: #523626; }\na { color: #316128; }\nh1 { font-size: 150% }\nh2 { font-size: 132% }\nh3 { font-size: 115% }\nh4, h5, h6 { font-size: 100% }\nh1, h2, h3, h4, h5, h6 { color: #263292; font-family:sans-serif; }\n\"\"\"\n";
Expand description

Default library configuration as TOML.