fix: code review findings - EPUB zoom, double fetch, pandoc flags, dead code

This commit is contained in:
truetype committed 2026-07-22 15:53:54 +02:00
1 parent 15eb4016de
commit 723e50eb25
2 files changed
+9 -39

No files matched your search

+1 -18
View File
@@ -86,8 +86,6 @@ def _convert_with_pandoc(input_path, output_path, input_format, output_format, t
extra_args += ["--metadata", "title=Converted Document"]
if output_format == "html":
extra_args += ["--self-contained", "--mathjax"]
if input_format == "pdf":
extra_args += ["--pdf-engine=pdflatex"]
pandoc_input = _to_pandoc_format(input_format)
pandoc_output = _to_pandoc_format(output_format)
@@ -152,19 +150,4 @@ def _convert_docx_to_pdf(input_path, output_path, task_id):
def _post_process(output_path, output_format):
"""Post-processing opzionale sul file generato."""
if output_format == "epub":
_fix_epub_metadata(output_path)
def _fix_epub_metadata(epub_path):
"""Aggiunge metadati minimi all'epub se mancanti."""
try:
import zipfile
import tempfile
with zipfile.ZipFile(epub_path, "r") as z:
content = z.read("META-INF/container.xml")
if b"<dc:title>" not in content:
pass
except Exception:
pass
pass
+8 -21
View File
@@ -56,9 +56,9 @@
if (e.key === "-") changeFontSize(rendition, -2);
});
// Toolbar controls
document.getElementById("zoomIn").addEventListener("click", () => rendition.next());
document.getElementById("zoomOut").addEventListener("click", () => rendition.prev());
// Zoom controls
document.getElementById("zoomIn").addEventListener("click", () => changeFontSize(rendition, 2));
document.getElementById("zoomOut").addEventListener("click", () => changeFontSize(rendition, -2));
// Store ref for theme
window._rendition = rendition;
@@ -151,29 +151,16 @@
const viewer = document.getElementById("textViewer");
if (!viewer) return;
// Convert text via Pandoc on backend
fetch(`/reader/serve/${encodeURIComponent(file)}`)
.then((r) => r.text())
.then((content) => {
if (ext === "md" || ext === "fb2" || ext === "docx") {
// Pandoc converts these to HTML on load for reader
// But we need the HTML version. Try to get pre-converted HTML.
fetch(`/reader/serve/${encodeURIComponent(file)}`)
.then((r) => r.text())
.then((text) => {
// For plain text (md, txt), render as HTML with simple formatting
if (ext === "md") {
viewer.innerHTML = simpleMarkdownToHtml(text);
} else {
viewer.innerHTML = `<pre style="white-space:pre-wrap;font-family:inherit;font-size:1rem;line-height:1.8;">${escapeHtml(text)}</pre>`;
}
});
.then((text) => {
if (ext === "md") {
viewer.innerHTML = simpleMarkdownToHtml(text);
} else if (ext === "html") {
// Direct HTML content
viewer.innerHTML = content;
viewer.innerHTML = text;
fixLinks(viewer);
} else {
viewer.textContent = content;
viewer.innerHTML = `<pre style="white-space:pre-wrap;font-family:inherit;font-size:1rem;line-height:1.8;">${escapeHtml(text)}</pre>`;
}
});