sync(launcher-test): markdown.lua picks up image_missing localization
markdown.lua now mirrors the launcher byte-for-byte: M.render takes an optional t 6th arg that the launcher threads its ctx.t through for the image-missing placeholder. Pure-additive parameter — existing test callers (which never invoke M.render) are unaffected. manifest.lib: bump 0.2.0 -> 0.3.0. The render-signature change is API-shaped; downstream consumers that call the helper directly may want to opt in to the new arg.
This commit is contained in:
10
markdown.lua
10
markdown.lua
@@ -176,7 +176,11 @@ local function render_spans(spans, x, y, max_w, size)
|
||||
return cur_y + line_h
|
||||
end
|
||||
|
||||
function M.render(blocks, x, y, max_w, module_id_for_imgs)
|
||||
-- `t` (optional, 6th arg) is the launcher's ctx.t string-lookup function.
|
||||
-- When present, M.render uses it to localize the image-missing placeholder
|
||||
-- via the `image_missing_fmt` key. Callers that don't have a t (e.g. tests)
|
||||
-- may pass nil; the hardcoded English fallback then renders verbatim.
|
||||
function M.render(blocks, x, y, max_w, module_id_for_imgs, t)
|
||||
local cur_y = y
|
||||
for _, b in ipairs(blocks) do
|
||||
if b.type == "h1" then
|
||||
@@ -216,7 +220,9 @@ function M.render(blocks, x, y, max_w, module_id_for_imgs)
|
||||
-- assume a 16:9 max_w-wide image for layout.
|
||||
cur_y = cur_y + math.floor(max_w * 9 / 16) + PARA_GAP
|
||||
else
|
||||
engine.render.draw_text("[image missing: " .. b.src .. "]",
|
||||
local missing_text = t and t("image_missing_fmt", b.src)
|
||||
or ("[image missing: " .. b.src .. "]")
|
||||
engine.render.draw_text(missing_text,
|
||||
x, cur_y, BODY_SIZE, COLOR_DIM)
|
||||
local _, h = engine.render.measure_text("[image]", BODY_SIZE)
|
||||
cur_y = cur_y + h + PARA_GAP
|
||||
|
||||
Reference in New Issue
Block a user