Refactor pdf rendering to use page-level columns

This commit is contained in:
Claudio Ortolina
2026-03-10 14:22:11 +00:00
parent 04955bff84
commit 47ff505fa9
+8 -17
View File
@@ -40,28 +40,19 @@ defmodule MusicLibrary.Records.TracklistPdf do
content = build_media(media, media_count, font_size, show_duration) content = build_media(media, media_count, font_size, show_duration)
""" """
#set page(width: 120mm, height: 120mm, margin: 5mm, background: rect(width: 100%, height: 100%, stroke: 0.5pt + black)) #set page(width: 120mm, height: 120mm, margin: 5mm, columns: #{columns}, background: rect(width: 100%, height: 100%, stroke: 0.5pt + black))
#set text(font: "Liberation Sans", size: #{font_size}pt) #set text(font: "Liberation Sans", size: #{font_size}pt)
#align(center)[ #place(top + center, scope: "parent", float: true)[
#text(size: 10pt, weight: "bold")[#{Format.escape(artist_names(record))}] #align(center)[
#linebreak() #text(size: 10pt, weight: "bold")[#{Format.escape(artist_names(record))}]
#text(size: 9pt, style: "italic")[#{Format.escape(record.title)}] #linebreak()
#text(size: 9pt, style: "italic")[#{Format.escape(record.title)}]
]
#v(3mm)
] ]
#v(3mm)
#{build_columns(columns, content)}
"""
end
defp build_columns(1, content), do: content
defp build_columns(n, content) do
"""
#columns(#{n}, gutter: 3mm)[
#{content} #{content}
]\
""" """
end end