* Splitting YAML header values into sub values based on a seperator value
@ 2022-06-19 8:21 Abhishek Ulayil
[not found] ` <a7183c8f-540b-4a9d-bb0a-79872f6f576an-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: Abhishek Ulayil @ 2022-06-19 8:21 UTC (permalink / raw)
To: pandoc-discuss
[-- Attachment #1.1: Type: text/plain, Size: 1225 bytes --]
I am writing a custom template for converting markdown into R-markdown so I
can reorder the metadata as per the template. But certain YAML header
variables contain more information and I would like to split it into
individual values to place it in different locations.
For example in a markdown file:
---
address:
- |
person-1-name\
some university\
address\
- |
person-2-name\
some university\
address\
author:
- person-1-name and person-2-name
title: "sample title"
---
body of the markdown file.
here I would like to break the individual address YAML value accessible in
my template as $address$ into more atomic information bits like
$address.name$,$address.university$ and $address.postal-address$
Is there any way I can break the template variables in the above manner
programatically..
--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/a7183c8f-540b-4a9d-bb0a-79872f6f576an%40googlegroups.com.
[-- Attachment #1.2: Type: text/html, Size: 2442 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Splitting YAML header values into sub values based on a seperator value
[not found] ` <a7183c8f-540b-4a9d-bb0a-79872f6f576an-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
@ 2022-06-21 8:45 ` William Lupton
[not found] ` <CAEe_xxhXrDZbO4T6eoMY9EqD-4mtRCCoZZs7Zvuf-GHrbWm=bA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: William Lupton @ 2022-06-21 8:45 UTC (permalink / raw)
To: pandoc-discuss
[-- Attachment #1: Type: text/plain, Size: 2877 bytes --]
If you have the freedom to define structured variables in your markdown
file, then you can use a custom template to output them as desired. For
example, with this in your metadata:
address:
- name: person-1-name
university: some university
postal-address: address
- name: person-2-name
university: some university
postal-address: address
and this in your template:
Address:
$for(address)$
- name: $address.name$, university: $address.university$, postal-address:
$address.postal-address$
$endfor$
you get this:
Address:
- name: person-1-name, university: some university, postal-address:
address
- name: person-2-name, university: some university, postal-address:
address
See https://pandoc.org/MANUAL.html#template-syntax for details.
If you have to use the existing metadata definitions then I think you'll
have to parse the metadata values in a lua filter.
HTH, William
On Sun, 19 Jun 2022 at 09:21, Abhishek Ulayil <abhiman2000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> I am writing a custom template for converting markdown into R-markdown so
> I can reorder the metadata as per the template. But certain YAML header
> variables contain more information and I would like to split it into
> individual values to place it in different locations.
>
> For example in a markdown file:
> ---
> address:
> - |
> person-1-name\
> some university\
> address\
> - |
> person-2-name\
> some university\
> address\
> author:
> - person-1-name and person-2-name
> title: "sample title"
> ---
> body of the markdown file.
>
> here I would like to break the individual address YAML value accessible in
> my template as $address$ into more atomic information bits like $
> address.name$,$address.university$ and $address.postal-address$
>
> Is there any way I can break the template variables in the above manner
> programatically..
>
> --
> You received this message because you are subscribed to the Google Groups
> "pandoc-discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/pandoc-discuss/a7183c8f-540b-4a9d-bb0a-79872f6f576an%40googlegroups.com
> <https://groups.google.com/d/msgid/pandoc-discuss/a7183c8f-540b-4a9d-bb0a-79872f6f576an%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAEe_xxhXrDZbO4T6eoMY9EqD-4mtRCCoZZs7Zvuf-GHrbWm%3DbA%40mail.gmail.com.
[-- Attachment #2: Type: text/html, Size: 5030 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Splitting YAML header values into sub values based on a seperator value
[not found] ` <CAEe_xxhXrDZbO4T6eoMY9EqD-4mtRCCoZZs7Zvuf-GHrbWm=bA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2022-06-21 15:02 ` William Lupton
[not found] ` <CAEe_xxj1UapJuioZL=RdakUkjZWRf6WBL=XBg1_ABCCAxe2eCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
0 siblings, 1 reply; 4+ messages in thread
From: William Lupton @ 2022-06-21 15:02 UTC (permalink / raw)
To: pandoc-discuss
[-- Attachment #1: Type: text/plain, Size: 3216 bytes --]
I just realised that there's a very similar example at
https://pandoc.org/MANUAL.html#extension-yaml_metadata_block
On Tue, 21 Jun 2022 at 09:45, William Lupton <wlupton-QSt+ys/nuMyEUIsrzH9SikB+6BGkLq7r@public.gmane.org>
wrote:
> If you have the freedom to define structured variables in your markdown
> file, then you can use a custom template to output them as desired. For
> example, with this in your metadata:
>
> address:
> - name: person-1-name
> university: some university
> postal-address: address
> - name: person-2-name
> university: some university
> postal-address: address
>
> and this in your template:
>
> Address:
> $for(address)$
> - name: $address.name$, university: $address.university$,
> postal-address: $address.postal-address$
> $endfor$
>
> you get this:
>
> Address:
> - name: person-1-name, university: some university, postal-address:
> address
> - name: person-2-name, university: some university, postal-address:
> address
>
> See https://pandoc.org/MANUAL.html#template-syntax for details.
>
> If you have to use the existing metadata definitions then I think you'll
> have to parse the metadata values in a lua filter.
>
> HTH, William
>
> On Sun, 19 Jun 2022 at 09:21, Abhishek Ulayil <abhiman2000-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
> wrote:
>
>> I am writing a custom template for converting markdown into R-markdown so
>> I can reorder the metadata as per the template. But certain YAML header
>> variables contain more information and I would like to split it into
>> individual values to place it in different locations.
>>
>> For example in a markdown file:
>> ---
>> address:
>> - |
>> person-1-name\
>> some university\
>> address\
>> - |
>> person-2-name\
>> some university\
>> address\
>> author:
>> - person-1-name and person-2-name
>> title: "sample title"
>> ---
>> body of the markdown file.
>>
>> here I would like to break the individual address YAML value accessible
>> in my template as $address$ into more atomic information bits like $
>> address.name$,$address.university$ and $address.postal-address$
>>
>> Is there any way I can break the template variables in the above manner
>> programatically..
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "pandoc-discuss" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/pandoc-discuss/a7183c8f-540b-4a9d-bb0a-79872f6f576an%40googlegroups.com
>> <https://groups.google.com/d/msgid/pandoc-discuss/a7183c8f-540b-4a9d-bb0a-79872f6f576an%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/CAEe_xxj1UapJuioZL%3DRdakUkjZWRf6WBL%3DXBg1_ABCCAxe2eCw%40mail.gmail.com.
[-- Attachment #2: Type: text/html, Size: 5730 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Splitting YAML header values into sub values based on a seperator value
[not found] ` <CAEe_xxj1UapJuioZL=RdakUkjZWRf6WBL=XBg1_ABCCAxe2eCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
@ 2022-06-21 16:46 ` Abhishek Ulayil
0 siblings, 0 replies; 4+ messages in thread
From: Abhishek Ulayil @ 2022-06-21 16:46 UTC (permalink / raw)
To: pandoc-discuss
[-- Attachment #1.1: Type: text/plain, Size: 3828 bytes --]
Thank you William,
I understand now, that I can play around with custom YAML headers as
variables based on how they are defined. But I cant change the way the
pandoc variables generated from AST will be structured without a lua
filter.
I did see the example and followed up with a template, it was a great
help. As for the solution to the problem, I think it is better to define
the YAML headers better in the source file itself.
Regards,
Abhishek Ulayil
On Tuesday, 21 June 2022 at 20:32:17 UTC+5:30 William Lupton wrote:
> I just realised that there's a very similar example at
> https://pandoc.org/MANUAL.html#extension-yaml_metadata_block
>
> On Tue, 21 Jun 2022 at 09:45, William Lupton <wlu...-QSt+ys/nuMyEUIsrzH9SikB+6BGkLq7r@public.gmane.org>
> wrote:
>
>> If you have the freedom to define structured variables in your markdown
>> file, then you can use a custom template to output them as desired. For
>> example, with this in your metadata:
>>
>> address:
>> - name: person-1-name
>> university: some university
>> postal-address: address
>> - name: person-2-name
>> university: some university
>> postal-address: address
>>
>> and this in your template:
>>
>> Address:
>> $for(address)$
>> - name: $address.name$, university: $address.university$,
>> postal-address: $address.postal-address$
>> $endfor$
>>
>> you get this:
>>
>> Address:
>> - name: person-1-name, university: some university, postal-address:
>> address
>> - name: person-2-name, university: some university, postal-address:
>> address
>>
>> See https://pandoc.org/MANUAL.html#template-syntax for details.
>>
>> If you have to use the existing metadata definitions then I think you'll
>> have to parse the metadata values in a lua filter.
>>
>> HTH, William
>>
>> On Sun, 19 Jun 2022 at 09:21, Abhishek Ulayil <abhim...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
>>
>>> I am writing a custom template for converting markdown into R-markdown
>>> so I can reorder the metadata as per the template. But certain YAML header
>>> variables contain more information and I would like to split it into
>>> individual values to place it in different locations.
>>>
>>> For example in a markdown file:
>>> ---
>>> address:
>>> - |
>>> person-1-name\
>>> some university\
>>> address\
>>> - |
>>> person-2-name\
>>> some university\
>>> address\
>>> author:
>>> - person-1-name and person-2-name
>>> title: "sample title"
>>> ---
>>> body of the markdown file.
>>>
>>> here I would like to break the individual address YAML value accessible
>>> in my template as $address$ into more atomic information bits like $
>>> address.name$,$address.university$ and $address.postal-address$
>>>
>>> Is there any way I can break the template variables in the above manner
>>> programatically..
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "pandoc-discuss" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/pandoc-discuss/a7183c8f-540b-4a9d-bb0a-79872f6f576an%40googlegroups.com
>>> <https://groups.google.com/d/msgid/pandoc-discuss/a7183c8f-540b-4a9d-bb0a-79872f6f576an%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>
--
You received this message because you are subscribed to the Google Groups "pandoc-discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
To view this discussion on the web visit https://groups.google.com/d/msgid/pandoc-discuss/68cf1ed1-9c32-4248-aba7-f5e99378431an%40googlegroups.com.
[-- Attachment #1.2: Type: text/html, Size: 7518 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-06-21 16:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-19 8:21 Splitting YAML header values into sub values based on a seperator value Abhishek Ulayil
[not found] ` <a7183c8f-540b-4a9d-bb0a-79872f6f576an-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2022-06-21 8:45 ` William Lupton
[not found] ` <CAEe_xxhXrDZbO4T6eoMY9EqD-4mtRCCoZZs7Zvuf-GHrbWm=bA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-06-21 15:02 ` William Lupton
[not found] ` <CAEe_xxj1UapJuioZL=RdakUkjZWRf6WBL=XBg1_ABCCAxe2eCw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2022-06-21 16:46 ` Abhishek Ulayil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).