Skip to content

Commit 6b89724

Browse files
committed
Use jog for traversals in post filters
1 parent 0387575 commit 6b89724

File tree

1 file changed

+132
-53
lines changed

1 file changed

+132
-53
lines changed

src/resources/filters/main.lua

Lines changed: 132 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -335,75 +335,154 @@ local quarto_pre_filters = {
335335
}
336336

337337
local quarto_post_filters = {
338-
{ name = "post-cell-cleanup",
338+
{ name = "post-cell-cleanup",
339339
filter = cell_cleanup(),
340-
flags = { "has_output_cells" }
340+
flags = { "has_output_cells" },
341+
traverse = 'jog',
341342
},
342-
{ name = "post-combined-cites-bibliography",
343-
filter = combineFilters({
343+
{ name = "post-combined-cites-bibliography",
344+
filter = combineFilters{
344345
indexCites(),
345346
bibliography()
346-
})
347+
},
348+
traverse = 'jog',
347349
},
348-
{ name = "post-landscape-div",
350+
{ name = "post-landscape-div",
349351
filter = landscape_div(),
350-
flags = { "has_landscape" }
351-
},
352-
{ name = "post-ipynb", filters = ipynb()},
353-
{ name = "post-figureCleanupCombined", filter = combineFilters({
354-
latexDiv(),
355-
responsive(),
356-
quartoBook(),
357-
reveal(),
358-
tikz(),
359-
pdfImages(),
360-
delink(),
361-
figCleanup(),
362-
responsive_table(),
363-
}) },
364-
365-
{ name = "post-postMetaInject", filter = quartoPostMetaInject() },
366-
367-
{ name = "post-render-jats", filter = filterIf(function()
368-
return quarto_global_state.active_filters.jats_subarticle == nil or not quarto_global_state.active_filters.jats_subarticle
369-
end, jats()) },
370-
{ name = "post-render-jats-subarticle", filter = filterIf(function()
371-
return quarto_global_state.active_filters.jats_subarticle ~= nil and quarto_global_state.active_filters.jats_subarticle
372-
end, jatsSubarticle()) },
373-
374-
{ name = "post-code-options", filter = filterIf(function()
375-
return param("clear-cell-options", false) == true
376-
end, removeCodeOptions()) },
352+
flags = { "has_landscape" },
353+
traverse = 'jog',
354+
},
355+
{ name = "post-ipynb",
356+
filters = ipynb(),
357+
traverse = 'jog',
358+
},
359+
{ name = "post-figureCleanupCombined",
360+
filter = combineFilters{
361+
latexDiv(),
362+
responsive(),
363+
quartoBook(),
364+
reveal(),
365+
tikz(),
366+
pdfImages(),
367+
delink(),
368+
figCleanup(),
369+
responsive_table(),
370+
},
371+
traverse = 'jog',
372+
},
373+
{ name = "post-postMetaInject",
374+
filter = quartoPostMetaInject(),
375+
traverse = 'jog',
376+
},
377+
{ name = "post-render-jats",
378+
filter = filterIf(
379+
function()
380+
return quarto_global_state.active_filters.jats_subarticle == nil or
381+
not quarto_global_state.active_filters.jats_subarticle
382+
end,
383+
jats()
384+
),
385+
traverse = 'jog',
386+
},
387+
{ name = "post-render-jats-subarticle",
388+
filter = filterIf(
389+
function()
390+
return quarto_global_state.active_filters.jats_subarticle ~= nil and
391+
quarto_global_state.active_filters.jats_subarticle
392+
end,
393+
jatsSubarticle()
394+
),
395+
traverse = 'jog',
396+
},
397+
{ name = "post-code-options",
398+
filter = filterIf(
399+
function() return param("clear-cell-options", false) == true end,
400+
removeCodeOptions()
401+
),
402+
traverse = 'jog',
403+
},
377404

378405
-- format-specific rendering
379-
{ name = "post-render-asciidoc", filter = render_asciidoc() },
380-
{ name = "post-render-latex", filter = render_latex() },
381-
{ name = "post-render-typst", filters = render_typst() },
382-
{ name = "post-render-dashboard", filters = render_dashboard() },
406+
{ name = "post-render-asciidoc", filter = render_asciidoc(),
407+
traverse = 'jog',
408+
},
409+
{ name = "post-render-latex", filter = render_latex(),
410+
traverse = 'jog',
411+
},
412+
{ name = "post-render-typst", filters = render_typst(),
413+
traverse = 'jog',
414+
},
415+
{ name = "post-render-dashboard", filters = render_dashboard(),
416+
traverse = 'jog',
417+
},
383418

384-
{ name = "post-ojs", filter = ojs() },
419+
{ name = "post-ojs", filter = ojs(),
420+
traverse = 'jog',
421+
},
385422

386-
{ name = "post-render-pandoc3-figure", filter = render_pandoc3_figure(),
387-
flags = { "has_pandoc3_figure" } },
423+
{ name = "post-render-pandoc3-figure",
424+
filter = render_pandoc3_figure(),
425+
flags = { "has_pandoc3_figure" },
426+
traverse = 'jog',
427+
},
388428

389429
-- extensible rendering
390-
{ name = "post-render_extended_nodes", filter = render_extended_nodes() },
430+
{ name = "post-render_extended_nodes",
431+
filter = render_extended_nodes(),
432+
traverse = 'jog',
433+
},
391434

392435
-- inject required packages post-rendering
393-
{ name = "layout-meta-inject-latex-packages", filter = layout_meta_inject_latex_packages() },
436+
{ name = "layout-meta-inject-latex-packages",
437+
filter = layout_meta_inject_latex_packages(),
438+
traverse = 'jog',
439+
},
394440

395441
-- format fixups post rendering
396-
{ name = "post-render-latex-fixups", filter = render_latex_fixups() },
397-
{ name = "post-render-html-fixups", filter = render_html_fixups() },
398-
{ name = "post-render-ipynb-fixups", filter = render_ipynb_fixups() },
399-
{ name = "post-render-typst-fixups", filter = render_typst_fixups() },
400-
{ name = "post-render-typst-css-to-props", filter = render_typst_css_property_processing() },
401-
{ name = "post-render-typst-brand-yaml", filter = render_typst_brand_yaml() },
402-
{ name = "post-render-gfm-fixups", filter = render_gfm_fixups() },
403-
{ name = "post-render-hugo-fixups", filter = render_hugo_fixups() },
404-
{ name = "post-render-email", filters = render_email() },
405-
{ name = "post-render-pptx-fixups", filter = render_pptx_fixups() },
406-
{ name = "post-render-revealjs-fixups", filter = render_reveal_fixups() }
442+
{ name = "post-render-latex-fixups",
443+
filter = render_latex_fixups(),
444+
traverse = 'jog',
445+
},
446+
{ name = "post-render-html-fixups",
447+
filter = render_html_fixups(),
448+
traverse = 'jog',
449+
},
450+
{ name = "post-render-ipynb-fixups",
451+
filter = render_ipynb_fixups(),
452+
traverse = 'jog',
453+
},
454+
{ name = "post-render-typst-fixups",
455+
filter = render_typst_fixups(),
456+
traverse = 'jog',
457+
},
458+
{ name = "post-render-typst-css-to-props",
459+
filter = render_typst_css_property_processing(),
460+
traverse = 'jog',
461+
},
462+
{ name = "post-render-typst-brand-yaml",
463+
filter = render_typst_brand_yaml(),
464+
traverse = 'jog',
465+
},
466+
{ name = "post-render-gfm-fixups",
467+
filter = render_gfm_fixups(),
468+
traverse = 'jog',
469+
},
470+
{ name = "post-render-hugo-fixups",
471+
filter = render_hugo_fixups(),
472+
traverse = 'jog',
473+
},
474+
{ name = "post-render-email",
475+
filters = render_email(),
476+
traverse = 'jog',
477+
},
478+
{ name = "post-render-pptx-fixups",
479+
filter = render_pptx_fixups(),
480+
traverse = 'jog',
481+
},
482+
{ name = "post-render-revealjs-fixups",
483+
filter = render_reveal_fixups(),
484+
traverse = 'jog',
485+
}
407486
}
408487

409488
local quarto_finalize_filters = {

0 commit comments

Comments
 (0)