@@ -60,6 +60,14 @@ def generate_gfx_paths_latex(paths)
6060 result
6161end
6262
63+ def check_add_defaults_file ( md , format , additional )
64+ add_defaults = Pathname . new ( md ) . dirname / ".#{ Pathname . new ( md ) . basename } .#{ format } .pandoc.yaml"
65+ log . info { "checking defaults: #{ add_defaults } " }
66+ return unless add_defaults . exist?
67+ log . info { "Using default pandoc defaults: #{ add_defaults } " }
68+ additional << add_defaults
69+ end
70+
6371# Generate PDF from Markdown using pandoc templates
6472def markdown_to_pdf ( md :, pdf :)
6573 log . info { "Generating: #{ pdf } " }
@@ -70,19 +78,25 @@ def markdown_to_pdf(md:, pdf:)
7078 Dir . chdir ( File . dirname ( md ) ) do
7179 md = File . basename ( md )
7280 custom_defaults_file = extract_pandoc_defaults_file ( md )
73- gfx_paths_latex = generate_gfx_paths_latex ( [ PATH_PANDOC_ROOT ] )
81+ gfx_paths_latex = generate_gfx_paths_latex ( [ PATH_PANDOC_ROOT , '.' ] )
82+ defaults = [
83+ PATH_PANDOC_ROOT / 'defaults_common.yaml' ,
84+ PATH_PANDOC_ROOT / 'defaults_pdf.yaml' ,
85+ custom_defaults_file
86+ ]
87+ check_add_defaults_file ( md , 'pdf' , defaults )
7488 run (
7589 'pandoc' ,
7690 "--include-in-header=#{ gfx_paths_latex } " ,
7791 "--variable=date:#{ get_change_date ( md ) } " ,
78- "--defaults=#{ PATH_PANDOC_ROOT / 'defaults_common.yaml' } " ,
79- "--defaults=#{ PATH_PANDOC_ROOT / 'defaults_pdf.yaml' } " ,
80- "--defaults=#{ custom_defaults_file } " ,
92+ *defaults . map { |f | "--defaults=#{ f } " } ,
8193 "--output=#{ pdf } " ,
8294 md
8395 )
8496 custom_defaults_file . delete
8597 gfx_paths_latex . delete
98+ # temporary files
99+ FileUtils . rm_rf ( 'svg-inkscape' )
86100 end
87101end
88102
0 commit comments