* Transform a fenced div to mkdocs markdown admonition format @ 2022-11-03 16:14 Aidan Reilly [not found] ` <ddc82450-b82b-4b8f-9d5f-30c6a28c206fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Aidan Reilly @ 2022-11-03 16:14 UTC (permalink / raw) To: pandoc-discuss [-- Attachment #1.1: Type: text/plain, Size: 932 bytes --] Hello! Trying to figure out how to use pandoc +fenced_div with a filter to transform this: ::: note Here is the first line of this note. And the second, And the third! ::: into this: !!! note Here is the first line of this note. And the second, And the third! Struggling to understand if it is possible to "indent" elements using pandoc. The mkdocs markdown spec requires the body of notes to be indented by 4 spaces. Is there a way to apply indents without stringifying the content? Thanks! -- 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/ddc82450-b82b-4b8f-9d5f-30c6a28c206fn%40googlegroups.com. [-- Attachment #1.2: Type: text/html, Size: 1571 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <ddc82450-b82b-4b8f-9d5f-30c6a28c206fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <ddc82450-b82b-4b8f-9d5f-30c6a28c206fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> @ 2022-11-03 20:09 ` John MacFarlane [not found] ` <7AF275BD-12EB-4424-84E5-1A45FF675520-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: John MacFarlane @ 2022-11-03 20:09 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw I assume you’re targeting markdown? You could then just create a RawBlock with format “markdown”, and put this content in it with whatever indentation you like. > On Nov 3, 2022, at 9:14 AM, Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: > > Hello! > > Trying to figure out how to use pandoc +fenced_div with a filter to transform this: > > ::: note > Here is the first line of this note. > > And the second, > > And the third! > ::: > > into this: > > !!! note > Here is the first line of this note. > > And the second, > > And the third! > > Struggling to understand if it is possible to "indent" elements using pandoc. The mkdocs markdown spec requires the body of notes to be indented by 4 spaces. Is there a way to apply indents without stringifying the content? > > Thanks! > > > -- > 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/ddc82450-b82b-4b8f-9d5f-30c6a28c206fn%40googlegroups.com. -- 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/7AF275BD-12EB-4424-84E5-1A45FF675520%40gmail.com. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <7AF275BD-12EB-4424-84E5-1A45FF675520-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <7AF275BD-12EB-4424-84E5-1A45FF675520-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> @ 2022-11-03 20:40 ` Aidan Reilly [not found] ` <CAM4RMsh1iqDjA7WqfCuWJV4NCD_ELXfFL0iV+pGUWASvgAzq5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Aidan Reilly @ 2022-11-03 20:40 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 2765 bytes --] Hi John, sorry - yes I am targeting markdown. Ok I’ll try that thanks. Aidan On Thu 3 Nov 2022 at 20:09, John MacFarlane <fiddlosopher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > I assume you’re targeting markdown? > > You could then just create a RawBlock with format “markdown”, and put this > content in it with whatever indentation you like. > > > > On Nov 3, 2022, at 9:14 AM, Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: > > > > Hello! > > > > Trying to figure out how to use pandoc +fenced_div with a filter to > transform this: > > > > ::: note > > Here is the first line of this note. > > > > And the second, > > > > And the third! > > ::: > > > > into this: > > > > !!! note > > Here is the first line of this note. > > > > And the second, > > > > And the third! > > > > Struggling to understand if it is possible to "indent" elements using > pandoc. The mkdocs markdown spec requires the body of notes to be indented > by 4 spaces. Is there a way to apply indents without stringifying the > content? > > > > Thanks! > > > > > > -- > > 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/ddc82450-b82b-4b8f-9d5f-30c6a28c206fn%40googlegroups.com > . > > -- > You received this message because you are subscribed to a topic in the > Google Groups "pandoc-discuss" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/unsubscribe. > To unsubscribe from this group and all its topics, 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/7AF275BD-12EB-4424-84E5-1A45FF675520%40gmail.com > . > > -- *Aidan Reilly* He/Him/His Senior Technical Writer, Telco (Cork, Ireland) aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org IM/GitHub: aireilly TEL: +353851261126 <https://www.redhat.com/> -- 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/CAM4RMsh1iqDjA7WqfCuWJV4NCD_ELXfFL0iV%2BpGUWASvgAzq5g%40mail.gmail.com. [-- Attachment #2: Type: text/html, Size: 5612 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <CAM4RMsh1iqDjA7WqfCuWJV4NCD_ELXfFL0iV+pGUWASvgAzq5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <CAM4RMsh1iqDjA7WqfCuWJV4NCD_ELXfFL0iV+pGUWASvgAzq5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2022-11-03 20:55 ` Aidan Reilly [not found] ` <CAM4RMsj6rwDLDmNxNzvUDODw0qa5NZgZtbAS_ozf+XJ3ZE+jHw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Aidan Reilly @ 2022-11-03 20:55 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 3570 bytes --] Something like this copied from https://jmablog.com/post/pandoc-filters/? My problem is understanding how to add the required indent to every line in the `elem` - If I stringify, I lose the markup (backticks, etc) in the content. function Div (elem) if FORMAT:match 'latex' then if elem.classes[1] == "notes" then return { pandoc.RawBlock('latex', '\\begin{tcolorbox}[colframe=Apricot!20!white, colback=Apricot!8!white]'), elem, pandoc.RawBlock('latex', '\\end{tcolorbox}') } else return elem end end end On Thu, Nov 3, 2022 at 8:40 PM Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: > Hi John, sorry - yes I am targeting markdown. Ok I’ll try that thanks. > > Aidan > > On Thu 3 Nov 2022 at 20:09, John MacFarlane <fiddlosopher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: > >> I assume you’re targeting markdown? >> >> You could then just create a RawBlock with format “markdown”, and put >> this content in it with whatever indentation you like. >> >> >> > On Nov 3, 2022, at 9:14 AM, Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: >> > >> > Hello! >> > >> > Trying to figure out how to use pandoc +fenced_div with a filter to >> transform this: >> > >> > ::: note >> > Here is the first line of this note. >> > >> > And the second, >> > >> > And the third! >> > ::: >> > >> > into this: >> > >> > !!! note >> > Here is the first line of this note. >> > >> > And the second, >> > >> > And the third! >> > >> > Struggling to understand if it is possible to "indent" elements using >> pandoc. The mkdocs markdown spec requires the body of notes to be indented >> by 4 spaces. Is there a way to apply indents without stringifying the >> content? >> > >> > Thanks! >> > >> > >> > -- >> > 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/ddc82450-b82b-4b8f-9d5f-30c6a28c206fn%40googlegroups.com >> . >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "pandoc-discuss" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/unsubscribe. >> To unsubscribe from this group and all its topics, 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/7AF275BD-12EB-4424-84E5-1A45FF675520%40gmail.com >> . >> >> -- > > *Aidan Reilly* > > He/Him/His > > Senior Technical Writer, Telco (Cork, Ireland) > > aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org > > IM/GitHub: aireilly > > TEL: +353851261126 > <https://www.redhat.com/> > -- Aidan -- 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/CAM4RMsj6rwDLDmNxNzvUDODw0qa5NZgZtbAS_ozf%2BXJ3ZE%2BjHw%40mail.gmail.com. [-- Attachment #2: Type: text/html, Size: 7404 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <CAM4RMsj6rwDLDmNxNzvUDODw0qa5NZgZtbAS_ozf+XJ3ZE+jHw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <CAM4RMsj6rwDLDmNxNzvUDODw0qa5NZgZtbAS_ozf+XJ3ZE+jHw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2022-11-03 21:00 ` Albert Krewinkel [not found] ` <87h6zf698z.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Albert Krewinkel @ 2022-11-03 21:00 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw You could try with `pandoc.write`. Probably something along the lines of ``` lua local md = pandoc.write(pandoc.Pandoc(div.contents), 'markdown') return md:gsub('\n', ' \n') ``` (untested) Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: > Something like this copied from https://jmablog.com/post/ > pandoc-filters/? My problem is understanding how to add the required > indent to every line in the `elem` - If I stringify, I lose the > markup (backticks, etc) in the content. > > function Div (elem) > if FORMAT:match 'latex' then > if elem.classes[1] == "notes" then > return { > pandoc.RawBlock('latex', '\\begin{tcolorbox}[colframe=Apricot!20!white, colback=Apricot!8!white]'), > elem, > pandoc.RawBlock('latex', '\\end{tcolorbox}') > } > else > return elem > end > end > end > > > On Thu, Nov 3, 2022 at 8:40 PM Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > wrote: > > Hi John, sorry - yes I am targeting markdown. Ok I’ll try that > thanks. > > Aidan > > On Thu 3 Nov 2022 at 20:09, John MacFarlane < > fiddlosopher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > I assume you’re targeting markdown? > > You could then just create a RawBlock with format “markdown”, > and put this content in it with whatever indentation you > like. > > > > On Nov 3, 2022, at 9:14 AM, Aidan Reilly < > aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: > > > > Hello! > > > > Trying to figure out how to use pandoc +fenced_div with a > filter to transform this: > > > > ::: note > > Here is the first line of this note. > > > > And the second, > > > > And the third! > > ::: > > > > into this: > > > > !!! note > > Here is the first line of this note. > > > > And the second, > > > > And the third! > > > > Struggling to understand if it is possible to "indent" > elements using pandoc. The mkdocs markdown spec requires the > body of notes to be indented by 4 spaces. Is there a way to > apply indents without stringifying the content? > > > > Thanks! > > > > > > -- > > 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/ > ddc82450-b82b-4b8f-9d5f-30c6a28c206fn%40googlegroups.com. > > -- > You received this message because you are subscribed to a > topic in the Google Groups "pandoc-discuss" group. > To unsubscribe from this topic, visit https:// > groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/ > unsubscribe. > To unsubscribe from this group and all its topics, 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/ > 7AF275BD-12EB-4424-84E5-1A45FF675520%40gmail.com. > > > -- > > Aidan Reilly > > He/Him/His > > Senior Technical Writer, Telco (Cork, Ireland) > > aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org > > IM/GitHub: aireilly > > TEL: +353851261126 > > [logo] > > > > -- > Aidan -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 -- 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/87h6zf698z.fsf%40zeitkraut.de. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <87h6zf698z.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <87h6zf698z.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> @ 2022-11-04 0:25 ` Aidan Reilly [not found] ` <CAM4RMshtHUuFSHryQqAgquMduCd5xSM7c2CKnvR0H1=zsg2xQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Aidan Reilly @ 2022-11-04 0:25 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 6228 bytes --] Trying this, but it's just passing the text of the admonition block through: local stringify = (require 'pandoc.utils').stringify local admonitions = { warning = {pandoc.Str("!!! warning")}, note = {pandoc.Str("!!! note")}, tip = {pandoc.Str("!!! tip")}, important = {pandoc.Str("!!! important")}, caution = {pandoc.Str("!!! caution")} } function Writer (doc, opts) local filter = { Div = function (el) local admonition_text = admonitions[el.classes[1]] if admonition_text then table.insert(el.content, 1, pandoc.Para{ pandoc.Str(stringify(admonition_text)) }) local md = pandoc.write(pandoc.Pandoc(el.content), 'markdown') return pandoc.RawBlock('markdown', md):gsub('\n', ' \n') end end } return pandoc.write(doc:walk(filter), 'markdown', opts) end On Thu, Nov 3, 2022 at 9:03 PM Albert Krewinkel <albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> wrote: > You could try with `pandoc.write`. Probably something along the lines of > > ``` lua > local md = pandoc.write(pandoc.Pandoc(div.contents), 'markdown') > return md:gsub('\n', ' \n') > ``` > > (untested) > > Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: > > > Something like this copied from https://jmablog.com/post/ > > pandoc-filters/? My problem is understanding how to add the required > > indent to every line in the `elem` - If I stringify, I lose the > > markup (backticks, etc) in the content. > > > > function Div (elem) > > if FORMAT:match 'latex' then > > if elem.classes[1] == "notes" then > > return { > > pandoc.RawBlock('latex', > '\\begin{tcolorbox}[colframe=Apricot!20!white, colback=Apricot!8!white]'), > > elem, > > pandoc.RawBlock('latex', '\\end{tcolorbox}') > > } > > else > > return elem > > end > > end > > end > > > > > > On Thu, Nov 3, 2022 at 8:40 PM Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> > > wrote: > > > > Hi John, sorry - yes I am targeting markdown. Ok I’ll try that > > thanks. > > > > Aidan > > > > On Thu 3 Nov 2022 at 20:09, John MacFarlane < > > fiddlosopher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote: > > > > I assume you’re targeting markdown? > > > > You could then just create a RawBlock with format “markdown”, > > and put this content in it with whatever indentation you > > like. > > > > > > > On Nov 3, 2022, at 9:14 AM, Aidan Reilly < > > aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: > > > > > > Hello! > > > > > > Trying to figure out how to use pandoc +fenced_div with a > > filter to transform this: > > > > > > ::: note > > > Here is the first line of this note. > > > > > > And the second, > > > > > > And the third! > > > ::: > > > > > > into this: > > > > > > !!! note > > > Here is the first line of this note. > > > > > > And the second, > > > > > > And the third! > > > > > > Struggling to understand if it is possible to "indent" > > elements using pandoc. The mkdocs markdown spec requires the > > body of notes to be indented by 4 spaces. Is there a way to > > apply indents without stringifying the content? > > > > > > Thanks! > > > > > > > > > -- > > > 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/ > > ddc82450-b82b-4b8f-9d5f-30c6a28c206fn%40googlegroups.com. > > > > -- > > You received this message because you are subscribed to a > > topic in the Google Groups "pandoc-discuss" group. > > To unsubscribe from this topic, visit https:// > > groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/ > > unsubscribe. > > To unsubscribe from this group and all its topics, 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/ > > 7AF275BD-12EB-4424-84E5-1A45FF675520%40gmail.com. > > > > > > -- > > > > Aidan Reilly > > > > He/Him/His > > > > Senior Technical Writer, Telco (Cork, Ireland) > > > > aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org > > > > IM/GitHub: aireilly > > > > TEL: +353851261126 > > > > [logo] > > > > > > > > -- > > Aidan > > > -- > Albert Krewinkel > GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 > > -- > You received this message because you are subscribed to a topic in the > Google Groups "pandoc-discuss" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/unsubscribe. > To unsubscribe from this group and all its topics, 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/87h6zf698z.fsf%40zeitkraut.de > . > > -- Aidan -- 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/CAM4RMshtHUuFSHryQqAgquMduCd5xSM7c2CKnvR0H1%3Dzsg2xQQ%40mail.gmail.com. [-- Attachment #2: Type: text/html, Size: 9983 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <CAM4RMshtHUuFSHryQqAgquMduCd5xSM7c2CKnvR0H1=zsg2xQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <CAM4RMshtHUuFSHryQqAgquMduCd5xSM7c2CKnvR0H1=zsg2xQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2022-11-05 8:03 ` Albert Krewinkel [not found] ` <87a6556cg2.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Albert Krewinkel @ 2022-11-05 8:03 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: > Trying this, but it's just passing the text of the admonition block > through The order of spaces and newline in the replacement was switched. After some playing around, this is the filter I came up with: ``` lua local admonitions = { warning = '!!! warning', note = '!!! note', tip = '!!! tip', important = '!!! important', caution = '!!! caution' } local opts = PANDOC_WRITER_OPTIONS -- reuse options to render snippets opts.columns = opts.columns - 4 -- admons are indented by four spaces opts.template = nil -- render a snippet function Div (div) local admonition_text = admonitions[div.classes[1]] if not admonition_text then return nil end -- not an admonition: bail local md = admonition_text .. '\n' .. pandoc.write(pandoc.Pandoc(div.content), 'markdown', opts) return pandoc.RawBlock( 'markdown', md:gsub('\n*$', '') -- remove trailing newlines :gsub('\n', '\n ') -- indent block ) end ``` -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <87a6556cg2.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <87a6556cg2.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> @ 2022-11-05 13:09 ` Aidan Reilly [not found] ` <CAM4RMsiRRywBgcHHQgfUxV5BZQfQw5sgqy44za4VC9=_TmqYPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 11+ messages in thread From: Aidan Reilly @ 2022-11-05 13:09 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 2808 bytes --] Thanks Albert! I really appreciate you looking at this. When I run the above, I get this error: Error running filter admonitions.lua: admonitions.lua:10: attempt to index a nil value (local 'opts') stack traceback: admonitions.lua:10: in main chunk Do I need to specify something in the command line? I'm running the build like so: asciidoctor -b docbook -o - $PAGE | pandoc --markdown-headings=atx --shift-heading-level-by=1 --wrap=none -t markdown+backtick_code_blocks --lua-filter=admonitions.lua -f docbook - > ./docs/$PAGE.md On Sat, Nov 5, 2022 at 8:19 AM Albert Krewinkel <albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> wrote: > Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: > > > Trying this, but it's just passing the text of the admonition block > > through > > The order of spaces and newline in the replacement was switched. After > some playing around, this is the filter I came up with: > > ``` lua > local admonitions = { > warning = '!!! warning', > note = '!!! note', > tip = '!!! tip', > important = '!!! important', > caution = '!!! caution' > } > > local opts = PANDOC_WRITER_OPTIONS -- reuse options to render snippets > opts.columns = opts.columns - 4 -- admons are indented by four spaces > opts.template = nil -- render a snippet > > function Div (div) > local admonition_text = admonitions[div.classes[1]] > if not admonition_text then return nil end -- not an admonition: bail > > local md = admonition_text .. '\n' .. > pandoc.write(pandoc.Pandoc(div.content), 'markdown', opts) > return pandoc.RawBlock( > 'markdown', > md:gsub('\n*$', '') -- remove trailing newlines > :gsub('\n', '\n ') -- indent block > ) > end > ``` > > > -- > Albert Krewinkel > GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 > > -- > You received this message because you are subscribed to a topic in the > Google Groups "pandoc-discuss" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/unsubscribe. > To unsubscribe from this group and all its topics, 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/87a6556cg2.fsf%40zeitkraut.de > . > > -- Aidan -- 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/CAM4RMsiRRywBgcHHQgfUxV5BZQfQw5sgqy44za4VC9%3D_TmqYPA%40mail.gmail.com. [-- Attachment #2: Type: text/html, Size: 4373 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <CAM4RMsiRRywBgcHHQgfUxV5BZQfQw5sgqy44za4VC9=_TmqYPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <CAM4RMsiRRywBgcHHQgfUxV5BZQfQw5sgqy44za4VC9=_TmqYPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2022-11-05 13:10 ` Aidan Reilly 2022-11-05 13:53 ` Albert Krewinkel 1 sibling, 0 replies; 11+ messages in thread From: Aidan Reilly @ 2022-11-05 13:10 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 3090 bytes --] Oh I guess I need to configure https://github.com/pandoc/lua-filters ? On Sat, Nov 5, 2022 at 1:09 PM Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote: > Thanks Albert! > > I really appreciate you looking at this. When I run the above, I get this > error: > > Error running filter admonitions.lua: > admonitions.lua:10: attempt to index a nil value (local 'opts') > stack traceback: > admonitions.lua:10: in main chunk > > Do I need to specify something in the command line? I'm running the build > like so: > > asciidoctor -b docbook -o - $PAGE | pandoc --markdown-headings=atx > --shift-heading-level-by=1 --wrap=none -t markdown+backtick_code_blocks > --lua-filter=admonitions.lua -f docbook - > ./docs/$PAGE.md > > On Sat, Nov 5, 2022 at 8:19 AM Albert Krewinkel < > albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> wrote: > >> Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: >> >> > Trying this, but it's just passing the text of the admonition block >> > through >> >> The order of spaces and newline in the replacement was switched. After >> some playing around, this is the filter I came up with: >> >> ``` lua >> local admonitions = { >> warning = '!!! warning', >> note = '!!! note', >> tip = '!!! tip', >> important = '!!! important', >> caution = '!!! caution' >> } >> >> local opts = PANDOC_WRITER_OPTIONS -- reuse options to render snippets >> opts.columns = opts.columns - 4 -- admons are indented by four spaces >> opts.template = nil -- render a snippet >> >> function Div (div) >> local admonition_text = admonitions[div.classes[1]] >> if not admonition_text then return nil end -- not an admonition: bail >> >> local md = admonition_text .. '\n' .. >> pandoc.write(pandoc.Pandoc(div.content), 'markdown', opts) >> return pandoc.RawBlock( >> 'markdown', >> md:gsub('\n*$', '') -- remove trailing newlines >> :gsub('\n', '\n ') -- indent block >> ) >> end >> ``` >> >> >> -- >> Albert Krewinkel >> GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "pandoc-discuss" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/unsubscribe. >> To unsubscribe from this group and all its topics, 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/87a6556cg2.fsf%40zeitkraut.de >> . >> >> > > -- > Aidan > -- Aidan -- 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/CAM4RMsiuGY-%2BxiH8RgUqTbSjjGd0bUoGWvU9%2BL0JmUiMOPix7g%40mail.gmail.com. [-- Attachment #2: Type: text/html, Size: 4985 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <CAM4RMsiRRywBgcHHQgfUxV5BZQfQw5sgqy44za4VC9=_TmqYPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2022-11-05 13:10 ` Aidan Reilly @ 2022-11-05 13:53 ` Albert Krewinkel [not found] ` <875yft5wqc.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 1 sibling, 1 reply; 11+ messages in thread From: Albert Krewinkel @ 2022-11-05 13:53 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: > Thanks Albert! > > I really appreciate you looking at this. When I run the above, I get > this error: > > Error running filter admonitions.lua: > admonitions.lua:10: attempt to index a nil value (local 'opts') > stack traceback: > admonitions.lua:10: in main chunk The most likely cause for this is an older pandoc version. The `PANDOC_WRITER_OPTIONS` global was introduced in pandoc 2.17. The filter can be made more robust by replacing line 9 with ```lua local opts = PANDOC_WRITER_OPTIONS or {columns = 72} ``` That will ensure that the filter works even with older pandoc versions (but with reduced functionality in that case). -- Albert Krewinkel GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 -- 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/875yft5wqc.fsf%40zeitkraut.de. ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <875yft5wqc.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org>]
* Re: Transform a fenced div to mkdocs markdown admonition format [not found] ` <875yft5wqc.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> @ 2022-11-05 16:26 ` Aidan Reilly 0 siblings, 0 replies; 11+ messages in thread From: Aidan Reilly @ 2022-11-05 16:26 UTC (permalink / raw) To: pandoc-discuss-/JYPxA39Uh5TLH3MbocFFw [-- Attachment #1: Type: text/plain, Size: 2009 bytes --] That did it Albert - thank you! I need to spend a bit more time brushing up on Lua I think. Aidan On Sat, Nov 5, 2022 at 1:58 PM Albert Krewinkel <albert+pandoc-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> wrote: > > Aidan Reilly <aireilly-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> writes: > > > Thanks Albert! > > > > I really appreciate you looking at this. When I run the above, I get > > this error: > > > > Error running filter admonitions.lua: > > admonitions.lua:10: attempt to index a nil value (local 'opts') > > stack traceback: > > admonitions.lua:10: in main chunk > > The most likely cause for this is an older pandoc version. The > `PANDOC_WRITER_OPTIONS` global was introduced in pandoc 2.17. > > The filter can be made more robust by replacing line 9 with > > ```lua > local opts = PANDOC_WRITER_OPTIONS or {columns = 72} > ``` > > That will ensure that the filter works even with older pandoc versions > (but with reduced functionality in that case). > > > > -- > Albert Krewinkel > GPG: 8eed e3e2 e8c5 6f18 81fe e836 388d c0b2 1f63 1124 > > -- > You received this message because you are subscribed to a topic in the > Google Groups "pandoc-discuss" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/pandoc-discuss/65G0Kuih1wA/unsubscribe. > To unsubscribe from this group and all its topics, 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/875yft5wqc.fsf%40zeitkraut.de > . > > -- Aidan -- 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/CAM4RMshpnCHthCjffGJMiXuxbRKwWR%2B%2BzxpqW62TUWN64395bQ%40mail.gmail.com. [-- Attachment #2: Type: text/html, Size: 3342 bytes --] ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-11-05 16:26 UTC | newest] Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2022-11-03 16:14 Transform a fenced div to mkdocs markdown admonition format Aidan Reilly [not found] ` <ddc82450-b82b-4b8f-9d5f-30c6a28c206fn-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org> 2022-11-03 20:09 ` John MacFarlane [not found] ` <7AF275BD-12EB-4424-84E5-1A45FF675520-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> 2022-11-03 20:40 ` Aidan Reilly [not found] ` <CAM4RMsh1iqDjA7WqfCuWJV4NCD_ELXfFL0iV+pGUWASvgAzq5g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2022-11-03 20:55 ` Aidan Reilly [not found] ` <CAM4RMsj6rwDLDmNxNzvUDODw0qa5NZgZtbAS_ozf+XJ3ZE+jHw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2022-11-03 21:00 ` Albert Krewinkel [not found] ` <87h6zf698z.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 2022-11-04 0:25 ` Aidan Reilly [not found] ` <CAM4RMshtHUuFSHryQqAgquMduCd5xSM7c2CKnvR0H1=zsg2xQQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2022-11-05 8:03 ` Albert Krewinkel [not found] ` <87a6556cg2.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 2022-11-05 13:09 ` Aidan Reilly [not found] ` <CAM4RMsiRRywBgcHHQgfUxV5BZQfQw5sgqy44za4VC9=_TmqYPA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 2022-11-05 13:10 ` Aidan Reilly 2022-11-05 13:53 ` Albert Krewinkel [not found] ` <875yft5wqc.fsf-9EawChwDxG8hFhg+JK9F0w@public.gmane.org> 2022-11-05 16:26 ` Aidan Reilly
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).