summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/markdown/markdownthemewitiko_markdown_defaults.tex
diff options
context:
space:
mode:
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.tex283
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
%%