diff --git a/centered.lua b/centered.lua new file mode 100644 index 0000000..ac3a39a --- /dev/null +++ b/centered.lua @@ -0,0 +1,29 @@ +-- centered.lua +-- Copyright (c) bpj on GitHub +-- https://github.com/jgm/pandoc/issues/719#issuecomment-922019826 +-- GPL-2+ license + +local center_for = { + latex = { + pre = pandoc.RawBlock('latex', '\\begin{center}'), + post = pandoc.RawBlock('latex', '\\end{center}'), + }, + -- add more as needed... +} + +function Div (div) + if div.classes:includes('center') then + if center_for[FORMAT] then + local rv = {} + if center_for[FORMAT].pre then + rv[#rv+1] = center_for[FORMAT].pre + end + rv[#rv+1] = div + if center_for[FORMAT].post then + rv[#rv+1] = center_for[FORMAT].post + end + return rv + end + end + return nil +end \ No newline at end of file diff --git a/main.py b/main.py index 4a9fd2a..f5c17f3 100644 --- a/main.py +++ b/main.py @@ -119,10 +119,10 @@ async def get_format_parameters(style: str, format: str): async def generer(specs: DocumentSpecs): header_file = f'{os.getcwd()}/styles/{specs.style}/{specs.format}/header.tex' cover_file = f'{os.getcwd()}/styles/{specs.style}/{specs.format}/cover.tex' - datef = datetime.datetime.now().strftime("%m-%d-%Y") + datef = datetime.datetime.now().strftime("%Y-%m-%d") os.makedirs("out", exist_ok=True) output_file = f"./out/{specs.style}-{specs.format}-{datef}-output.pdf" - filters = ['latex-emoji.lua'] + filters = ['latex-emoji.lua', 'centered.lua'] pdoc_args = [ f'--include-in-header={header_file}', f'--include-after-body={cover_file}', @@ -133,7 +133,7 @@ async def generer(specs: DocumentSpecs): '-V', f'linkcolor={specs.linkcolor}', '-V', f'fontsize={specs.fontsize}pt', '-V', f'geometry:paperwidth={round(specs.paperwidth * specs.ratio / 100,-1) / 300}in', - '-V', f'geometry:paperheight={round(specs.paperwidth * specs.ratio / 100,-1) / 300}in', + '-V', f'geometry:paperheight={round(specs.paperheight * specs.ratio / 100,-1) / 300}in', '-V', f'geometry:left={specs.margin / 300}in', '-V', f'geometry:right={specs.margin / 300}in', '-V', f'geometry:top={specs.vmargin / 300}in', diff --git a/test_main.http b/test_main.http index 9994685..28a3f25 100644 --- a/test_main.http +++ b/test_main.http @@ -10,7 +10,7 @@ Accept: application/zip "linkcolor": "blue", "tocdepth": 2, "pdfengine": "lualatex", - "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:", + "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:\n\n::: {.center}\nCeci est centré\n:::", "fontsize": 14, "paperwidth": 1080, "paperheight": 1920, @@ -32,7 +32,7 @@ Accept: application/pdf "linkcolor": "blue", "tocdepth": 2, "pdfengine": "lualatex", - "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:", + "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:\n\n::: {.center}\nCeci est centré\n:::", "fontsize": 14, "paperwidth": 1080, "paperheight": 1080, @@ -54,7 +54,7 @@ Accept: application/pdf "linkcolor": "blue", "tocdepth": 2, "pdfengine": "lualatex", - "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:", + "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:\n\n::: {.center}\nCeci est centré\n:::", "fontsize": 20, "paperwidth": 1080, "paperheight": 1080, @@ -76,7 +76,7 @@ Accept: application/pdf "linkcolor": "blue", "tocdepth": 2, "pdfengine": "lualatex", - "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:", + "content": "# Ceci est un titre\n## Ceci est un sous-titre\n\nCeci est un paragraphe\n\n## Ceci est un autre sous-titre\n\n> Ceci est du code\n\nCeci est un emoji :heart_eyes:\n\n::: {.center}\nCeci est centré\n:::", "fontsize": 14, "paperwidth": 2560, "paperheight": 1440,