public inbox archive for pandoc-discuss@googlegroups.com
 help / color / mirror / Atom feed
* Shell (zsh) for loop: apply correct suffix based on Pandoc output format?
@ 2023-10-02 13:58 Martin Post
       [not found] ` <e8d686ec-e667-4dff-97c3-133af2a6f731n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Martin Post @ 2023-10-02 13:58 UTC (permalink / raw)
  To: pandoc-discuss


[-- Attachment #1.1: Type: text/plain, Size: 1046 bytes --]

I used to do this (in macOS / zsh), as seen in the Pandoc FAQ:

for f in *.md;
do pandoc \
--defaults=defaults.yml \
"$f" \
--output="${f%.md}.htm";
done

But I am now changing output formats in defaults.yml (or additional default 
files), e.g. “to: docx”, and the target files obviously shouldn’t have 
“.htm” then.

How can I modify the for loop so the correct suffix is applied for the 
output format set in a defaults file?

(I realize I could manually add a “output-format-suffix” shell variable and 
use that in the loop, but I hope there’s something more elegant than that.)

Thank you.

-- 
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/e8d686ec-e667-4dff-97c3-133af2a6f731n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 1383 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Shell (zsh) for loop: apply correct suffix based on Pandoc output format?
       [not found] ` <e8d686ec-e667-4dff-97c3-133af2a6f731n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
@ 2023-10-02 14:17   ` Bastien DUMONT
  2023-10-02 15:06     ` Martin Post
  0 siblings, 1 reply; 4+ messages in thread
From: Bastien DUMONT @ 2023-10-02 14:17 UTC (permalink / raw)
  To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw

I would search for the output suffix in the YAML file itself:

export SUFFIX="$(grep -x 'to: .*' defaults.yml | cut -d ' ' -f 2)";
for f in *.md;
do pandoc \
--defaults=defaults.yml \
"$f" \
--output="${f%.md}.$SUFFIX";
done

Instead of "to", you can use a dedicated variable in the YAML file if you export to output formats whose name differ from their file suffix (e.g. latex/tex or commonmark/md).

Le Monday 02 October 2023 à 06:58:57AM, Martin Post a écrit :
> I used to do this (in macOS / zsh), as seen in the Pandoc FAQ:
> 
> for f in *.md;
> do pandoc \
> --defaults=defaults.yml \
> "$f" \
> --output="${f%.md}.htm";
> done
> 
> But I am now changing output formats in defaults.yml (or additional default
> files), e.g. “to: docx”, and the target files obviously shouldn’t have “.htm”
> then.
> 
> How can I modify the for loop so the correct suffix is applied for the output
> format set in a defaults file?
> 
> (I realize I could manually add a “output-format-suffix” shell variable and use
> that in the loop, but I hope there’s something more elegant than that.)
> 
> Thank you.
> 
> --
> 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 [1]pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit [2]https://groups.google.com/d/msgid/
> pandoc-discuss/e8d686ec-e667-4dff-97c3-133af2a6f731n%40googlegroups.com.
> 
> References:
> 
> [1] mailto:pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
> [2] https://groups.google.com/d/msgid/pandoc-discuss/e8d686ec-e667-4dff-97c3-133af2a6f731n%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/ZRrQ8TfHplqAupSJ%40localhost.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Shell (zsh) for loop: apply correct suffix based on Pandoc output format?
  2023-10-02 14:17   ` Bastien DUMONT
@ 2023-10-02 15:06     ` Martin Post
       [not found]       ` <5843b3a9-e780-4816-8a6d-70277d1295d6n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: Martin Post @ 2023-10-02 15:06 UTC (permalink / raw)
  To: pandoc-discuss


[-- Attachment #1.1: Type: text/plain, Size: 2776 bytes --]

Thank you, Bastien. This is a good idea, but the Pandoc output format is 
not necessarily the proper generic file suffix. E.g., for to: markdown or 
markdown_strict, one would want/expect “.md”, html5 = .html etc. For 
chunkedhtml, it would actually (have to) be empty, so Pandoc will create a 
folder with HTML files. 

Hmm.

Bastien DUMONT schrieb am Montag, 2. Oktober 2023 um 16:17:28 UTC+2:

> I would search for the output suffix in the YAML file itself:
>
> export SUFFIX="$(grep -x 'to: .*' defaults.yml | cut -d ' ' -f 2)";
> for f in *.md;
> do pandoc \
> --defaults=defaults.yml \
> "$f" \
> --output="${f%.md}.$SUFFIX";
> done
>
> Instead of "to", you can use a dedicated variable in the YAML file if you 
> export to output formats whose name differ from their file suffix (e.g. 
> latex/tex or commonmark/md).
>
> Le Monday 02 October 2023 à 06:58:57AM, Martin Post a écrit :
> > I used to do this (in macOS / zsh), as seen in the Pandoc FAQ:
> > 
> > for f in *.md;
> > do pandoc \
> > --defaults=defaults.yml \
> > "$f" \
> > --output="${f%.md}.htm";
> > done
> > 
> > But I am now changing output formats in defaults.yml (or additional 
> default
> > files), e.g. “to: docx”, and the target files obviously shouldn’t have 
> “.htm”
> > then.
> > 
> > How can I modify the for loop so the correct suffix is applied for the 
> output
> > format set in a defaults file?
> > 
> > (I realize I could manually add a “output-format-suffix” shell variable 
> and use
> > that in the loop, but I hope there’s something more elegant than that.)
> > 
> > Thank you.
> > 
> > --
> > 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 [1]pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> > To view this discussion on the web visit [2]
> https://groups.google.com/d/msgid/
> > pandoc-discuss/e8d686ec-e667-4dff-97c3-133af2a6f731n%40googlegroups.com.
> > 
> > References:
> > 
> > [1] mailto:pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
> > [2] 
> https://groups.google.com/d/msgid/pandoc-discuss/e8d686ec-e667-4dff-97c3-133af2a6f731n%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/5843b3a9-e780-4816-8a6d-70277d1295d6n%40googlegroups.com.

[-- Attachment #1.2: Type: text/html, Size: 4571 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Shell (zsh) for loop: apply correct suffix based on Pandoc output format?
       [not found]       ` <5843b3a9-e780-4816-8a6d-70277d1295d6n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
@ 2023-10-02 15:18         ` Bastien DUMONT
  0 siblings, 0 replies; 4+ messages in thread
From: Bastien DUMONT @ 2023-10-02 15:18 UTC (permalink / raw)
  To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw

That's why I wrote the last sentence!

Le Monday 02 October 2023 à 08:06:48AM, Martin Post a écrit :
> Thank you, Bastien. This is a good idea, but the Pandoc output format is not
> necessarily the proper generic file suffix. E.g., for to: markdown or
> markdown_strict, one would want/expect “.md”, html5 = .html etc. For
> chunkedhtml, it would actually (have to) be empty, so Pandoc will create a
> folder with HTML files. 
> 
> Hmm.
> 
> Bastien DUMONT schrieb am Montag, 2. Oktober 2023 um 16:17:28 UTC+2:
> 
>     I would search for the output suffix in the YAML file itself:
> 
>     export SUFFIX="$(grep -x 'to: .*' defaults.yml | cut -d ' ' -f 2)";
>     for f in *.md;
>     do pandoc \
>     --defaults=defaults.yml \
>     "$f" \
>     --output="${f%.md}.$SUFFIX";
>     done
> 
>     Instead of "to", you can use a dedicated variable in the YAML file if you
>     export to output formats whose name differ from their file suffix (e.g.
>     latex/tex or commonmark/md).
> 
>     Le Monday 02 October 2023 à 06:58:57AM, Martin Post a écrit :
>     > I used to do this (in macOS / zsh), as seen in the Pandoc FAQ:
>     >
>     > for f in *.md;
>     > do pandoc \
>     > --defaults=defaults.yml \
>     > "$f" \
>     > --output="${f%.md}.htm";
>     > done
>     >
>     > But I am now changing output formats in defaults.yml (or additional
>     default
>     > files), e.g. “to: docx”, and the target files obviously shouldn’t have
>     “.htm”
>     > then.
>     >
>     > How can I modify the for loop so the correct suffix is applied for the
>     output
>     > format set in a defaults file?
>     >
>     > (I realize I could manually add a “output-format-suffix” shell variable
>     and use
>     > that in the loop, but I hope there’s something more elegant than that.)
>     >
>     > Thank you.
>     >
>     > --
>     > 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 [1]pandoc-discus...-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
>     > To view this discussion on the web visit [2][1]https://groups.google.com/
>     d/msgid/
>     > pandoc-discuss/e8d686ec-e667-4dff-97c3-133af2a6f731n%[2]
>     40googlegroups.com.
>     >
>     > References:
>     >
>     > [1] mailto:pandoc-discus...-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
>     > [2] [3]https://groups.google.com/d/msgid/pandoc-discuss/
>     e8d686ec-e667-4dff-97c3-133af2a6f731n%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 [4]pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To view this discussion on the web visit [5]https://groups.google.com/d/msgid/
> pandoc-discuss/5843b3a9-e780-4816-8a6d-70277d1295d6n%40googlegroups.com.
> 
> References:
> 
> [1] https://groups.google.com/d/msgid/
> [2] http://40googlegroups.com/
> [3] https://groups.google.com/d/msgid/pandoc-discuss/e8d686ec-e667-4dff-97c3-133af2a6f731n%40googlegroups.com?utm_medium=email&utm_source=footer
> [4] mailto:pandoc-discuss+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
> [5] https://groups.google.com/d/msgid/pandoc-discuss/5843b3a9-e780-4816-8a6d-70277d1295d6n%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/ZRrfTpqIopvrxPei%40localhost.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-10-02 15:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-10-02 13:58 Shell (zsh) for loop: apply correct suffix based on Pandoc output format? Martin Post
     [not found] ` <e8d686ec-e667-4dff-97c3-133af2a6f731n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-10-02 14:17   ` Bastien DUMONT
2023-10-02 15:06     ` Martin Post
     [not found]       ` <5843b3a9-e780-4816-8a6d-70277d1295d6n-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>
2023-10-02 15:18         ` Bastien DUMONT

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).