diff options
Diffstat (limited to 'Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex | 283 |
1 files changed, 259 insertions, 24 deletions
diff --git a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex index 6ca36cac93f..af068b29eeb 100644 --- a/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex +++ b/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex @@ -6,7 +6,7 @@ %% %% markdown.dtx (with options: `themes-witiko-markdown-defaults-tex') %% -%% Copyright (C) 2016-2024 Vít Starý Novotný, Andrej Genčur +%% Copyright (C) 2016-2025 Vít Starý Novotný, Andrej Genčur %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3c @@ -228,7 +228,7 @@ \tl_const:Nn \c__markdown_jekyll_data_mapping_tl { mapping } \tl_const:Nn \c__markdown_jekyll_data_scalar_tl { scalar } \seq_new:N \g__markdown_jekyll_data_wildcard_absolute_address_seq -\cs_new:Nn \markdown_jekyll_data_push_address_segment:n +\cs_new:Nn \__markdown_jekyll_data_push_address_segment:n { \seq_if_empty:NF \g__markdown_jekyll_data_datatypes_seq @@ -253,31 +253,31 @@ } \tl_new:N \g__markdown_jekyll_data_wildcard_absolute_address_tl \tl_new:N \g__markdown_jekyll_data_wildcard_relative_address_tl -\cs_new:Nn \markdown_jekyll_data_concatenate_address:NN +\cs_new:Nn \__markdown_jekyll_data_concatenate_address:NN { \seq_pop_left:NN #1 \l_tmpa_tl \tl_set:Nx #2 { / \seq_use:Nn #1 { / } } \seq_put_left:NV #1 \l_tmpa_tl } -\cs_new:Nn \markdown_jekyll_data_update_address_tls: +\cs_new:Nn \__markdown_jekyll_data_update_address_tls: { - \markdown_jekyll_data_concatenate_address:NN + \__markdown_jekyll_data_concatenate_address:NN \g__markdown_jekyll_data_wildcard_absolute_address_seq \g__markdown_jekyll_data_wildcard_absolute_address_tl \seq_get_right:NN \g__markdown_jekyll_data_wildcard_absolute_address_seq \g__markdown_jekyll_data_wildcard_relative_address_tl } -\cs_new:Nn \markdown_jekyll_data_push:nN +\cs_new:Nn \__markdown_jekyll_data_push:nN { - \markdown_jekyll_data_push_address_segment:n + \__markdown_jekyll_data_push_address_segment:n { #1 } \seq_put_right:NV \g__markdown_jekyll_data_datatypes_seq #2 - \markdown_jekyll_data_update_address_tls: + \__markdown_jekyll_data_update_address_tls: } -\cs_new:Nn \markdown_jekyll_data_pop: +\cs_new:Nn \__markdown_jekyll_data_pop: { \seq_pop_right:NN \g__markdown_jekyll_data_wildcard_absolute_address_seq @@ -285,63 +285,298 @@ \seq_pop_right:NN \g__markdown_jekyll_data_datatypes_seq \l_tmpa_tl - \markdown_jekyll_data_update_address_tls: + \__markdown_jekyll_data_update_address_tls: } -\cs_new:Nn \markdown_jekyll_data_set_keyval:nn +\cs_new:Nn \__markdown_jekyll_data_set_keyval_known:nn { \keys_set_known:nn { markdown/jekyllData } { { #1 } = { #2 } } } \cs_generate_variant:Nn - \markdown_jekyll_data_set_keyval:nn + \__markdown_jekyll_data_set_keyval_known:nn { Vn } -\cs_new:Nn \markdown_jekyll_data_set_keyvals:nn +\cs_new:Nn \__markdown_jekyll_data_set_keyvals_known:nn { - \markdown_jekyll_data_push:nN + \__markdown_jekyll_data_push:nN { #1 } \c__markdown_jekyll_data_scalar_tl - \markdown_jekyll_data_set_keyval:Vn + \__markdown_jekyll_data_set_keyval_known:Vn \g__markdown_jekyll_data_wildcard_absolute_address_tl { #2 } - \markdown_jekyll_data_set_keyval:Vn + \__markdown_jekyll_data_set_keyval_known:Vn \g__markdown_jekyll_data_wildcard_relative_address_tl { #2 } - \markdown_jekyll_data_pop: + \__markdown_jekyll_data_pop: } \def\markdownRendererJekyllDataSequenceBeginPrototype#1#2{ - \markdown_jekyll_data_push:nN + \__markdown_jekyll_data_push:nN { #1 } \c__markdown_jekyll_data_sequence_tl } \def\markdownRendererJekyllDataMappingBeginPrototype#1#2{ - \markdown_jekyll_data_push:nN + \__markdown_jekyll_data_push:nN { #1 } \c__markdown_jekyll_data_mapping_tl } \def\markdownRendererJekyllDataSequenceEndPrototype{ - \markdown_jekyll_data_pop: + \__markdown_jekyll_data_pop: } \def\markdownRendererJekyllDataMappingEndPrototype{ - \markdown_jekyll_data_pop: + \__markdown_jekyll_data_pop: } \def\markdownRendererJekyllDataBooleanPrototype#1#2{ - \markdown_jekyll_data_set_keyvals:nn + \__markdown_jekyll_data_set_keyvals_known:nn { #1 } { #2 } } \def\markdownRendererJekyllDataEmptyPrototype#1{} \def\markdownRendererJekyllDataNumberPrototype#1#2{ - \markdown_jekyll_data_set_keyvals:nn + \__markdown_jekyll_data_set_keyvals_known:nn { #1 } { #2 } } \def\markdownRendererJekyllDataProgrammaticStringPrototype#1#2{} \def\markdownRendererJekyllDataTypographicStringPrototype#1#2{ - \markdown_jekyll_data_set_keyvals:nn + \__markdown_jekyll_data_set_keyvals_known:nn { #1 } { #2 } } +\__markdown_with_various_cases:nn + { jekyllDataKeyValue } + { + \keys_define:nn + { markdown/options } + { + #1 .code:n = { + \__markdown_route_jekyll_data_to_key_values:n + { ##1 } + }, + #1 .default:n = { }, + } + } +\seq_new:N + \l__markdown_jekyll_data_current_position_seq +\tl_new:N + \l__markdown_jekyll_data_current_position_tl +\cs_new:Nn + \__markdown_route_jekyll_data_to_key_values:n + { + \markdownSetup + { + renderers = { + jekyllData(Sequence|Mapping)Begin = { + \bool_lazy_and:nnTF + { + \seq_if_empty_p:N + \l__markdown_jekyll_data_current_position_seq + } + { + \str_if_eq_p:nn + { ##1 } + { null } + } + { + \tl_if_empty:nF + { #1 } + { + \seq_put_right:Nn + \l__markdown_jekyll_data_current_position_seq + { #1 } + } + } + { + \seq_put_right:Nn + \l__markdown_jekyll_data_current_position_seq + { ##1 } + } + }, + jekyllData(Sequence|Mapping)End = { + \seq_pop_right:NN + \l__markdown_jekyll_data_current_position_seq + \l_tmpa_tl + }, + jekyllDataBoolean = { + \tl_set:Nx + \l__markdown_jekyll_data_current_position_tl + { + \seq_use:Nn + \l__markdown_jekyll_data_current_position_seq + { / } + } + \keys_if_exist:VnTF + \l__markdown_jekyll_data_current_position_tl + { ##1 / boolean } + { + \__markdown_keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 / boolean + } + { ##2 } + } + { + \__markdown_keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 + } + { ##2 } + } + }, + jekyllDataNumber = { + \tl_set:Nx + \l__markdown_jekyll_data_current_position_tl + { + \seq_use:Nn + \l__markdown_jekyll_data_current_position_seq + { / } + } + \keys_if_exist:VnTF + \l__markdown_jekyll_data_current_position_tl + { ##1 / number } + { + \__markdown_keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 / number + } + { ##2 } + } + { + \__markdown_keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 + } + { ##2 } + } + }, + jekyllDataEmpty = { + \tl_set:Nx + \l__markdown_jekyll_data_current_position_tl + { + \seq_use:Nn + \l__markdown_jekyll_data_current_position_seq + { / } + } + \keys_if_exist:VnTF + \l__markdown_jekyll_data_current_position_tl + { ##1 / empty } + { + \keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 + } + { empty } + } + { + \keys_set:Vn + \l__markdown_jekyll_data_current_position_tl + { ##1 } + } + }, + jekyllDataTypographicString = { + \tl_set:Nx + \l__markdown_jekyll_data_current_position_tl + { + \seq_use:Nn + \l__markdown_jekyll_data_current_position_seq + { / } + } + \keys_if_exist:VnTF + \l__markdown_jekyll_data_current_position_tl + { ##1 / typographicString } + { + \__markdown_keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 / typographicString + } + { ##2 } + } + { + \keys_if_exist:VnTF + \l__markdown_jekyll_data_current_position_tl + { ##1 / programmaticString } + { + \__markdown_keys_set_known:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 + } + { ##2 } + } + { + \__markdown_keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 + } + { ##2 } + } + } + }, + jekyllDataProgrammaticString = { + \tl_set:Nx + \l__markdown_jekyll_data_current_position_tl + { + \seq_use:Nn + \l__markdown_jekyll_data_current_position_seq + { / } + } + \keys_if_exist:VnT + \l__markdown_jekyll_data_current_position_tl + { ##1 / programmaticString } + { + \__markdown_keys_set:xn + { + \tl_use:N + \l__markdown_jekyll_data_current_position_tl + / ##1 / programmaticString + } + { ##2 } + } + }, + }, + } + } +\cs_new:Nn + \__markdown_keys_set:nn + { + \keys_set:nn + { } + { { #1 } = { #2 } } + } +\cs_new:Nn + \__markdown_keys_set_known:nn + { + \keys_set_known:nn + { } + { { #1 } = { #2 } } + } +\cs_generate_variant:Nn + \__markdown_keys_set:nn + { xn } +\cs_generate_variant:Nn + \__markdown_keys_set_known:nn + { xn } +\cs_generate_variant:Nn + \keys_set:nn + { xn, Vn } +\prg_generate_conditional_variant:Nnn + \keys_if_exist:nn + { Vn } + { T, TF } \ExplSyntaxOff \endinput %% |