mirror of
https://github.com/amitwh/markdown-converter.git
synced 2026-10-01 17:29:29 +05:30
chore(release): bump v4.7.1 → v4.8.0; Prettier pass on overnight-session files
12 commits on master since v4.7.1 baseline, taking tests 524 → 914 across 27 new suites. This commit: - Bumps package.json + README version to v4.8.0 (additive features → semver minor) - Applies Prettier formatting to all files touched during the overnight session so release build is reproducible from a clean repo New in v4.8.0: - PDF encryption close-out (D1) - KaTeX rendering test coverage - Autosave buffer + crash recovery banner - Daily notes + workspace search + doc-aware Q&A - Search sidebar panel + Ask mode - Status bar: word count, reading time, Flesch-Kincaid grade - Footnote hover preview - Smart paste (URL → link, CSV/TSV → table) - Daily notes menu item + sidebar panel + Q&A deep-link - Daily templates gallery - Pluggable DocQA engine (TF-idF default + lazy neural embeddings) Amit Haridas
This commit is contained in:
@@ -101,11 +101,12 @@ function renderDailyNotesPanel(container, deps) {
|
||||
// listExisting returns absolute paths (newest first). Pair each path
|
||||
// with its basename for display.
|
||||
const paths = Array.isArray(list) ? list : [];
|
||||
entries = paths
|
||||
.filter((p) => /\.md$/i.test(p))
|
||||
.map((p) => ({ path: p, name: basename(p) }));
|
||||
entries = paths.filter((p) => /\.md$/i.test(p)).map((p) => ({ path: p, name: basename(p) }));
|
||||
renderList();
|
||||
if (!keepStatus) setStatus(entries.length === 0 ? '' : `${entries.length} note${entries.length === 1 ? '' : 's'}`);
|
||||
if (!keepStatus)
|
||||
setStatus(
|
||||
entries.length === 0 ? '' : `${entries.length} note${entries.length === 1 ? '' : 's'}`
|
||||
);
|
||||
} catch (err) {
|
||||
setStatus(`Error: ${err && err.message ? err.message : 'unknown'}`);
|
||||
renderList();
|
||||
@@ -138,4 +139,4 @@ function renderDailyNotesPanel(container, deps) {
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = { renderDailyNotesPanel };
|
||||
module.exports = { renderDailyNotesPanel };
|
||||
|
||||
@@ -160,7 +160,10 @@ function renderDailyTemplatesPanel(container, deps) {
|
||||
const list = await listTemplates();
|
||||
entries = Array.isArray(list) ? list : [];
|
||||
renderList();
|
||||
if (!keepStatus) setStatus(entries.length === 0 ? '' : `${entries.length} template${entries.length === 1 ? '' : 's'}`);
|
||||
if (!keepStatus)
|
||||
setStatus(
|
||||
entries.length === 0 ? '' : `${entries.length} template${entries.length === 1 ? '' : 's'}`
|
||||
);
|
||||
} catch (err) {
|
||||
setStatus(`Error: ${err && err.message ? err.message : 'unknown'}`);
|
||||
entries = [];
|
||||
@@ -172,4 +175,4 @@ function renderDailyTemplatesPanel(container, deps) {
|
||||
return { refresh };
|
||||
}
|
||||
|
||||
module.exports = { renderDailyTemplatesPanel };
|
||||
module.exports = { renderDailyTemplatesPanel };
|
||||
|
||||
@@ -92,8 +92,9 @@ function renderSearchPanel(container, { search, ask, getCurrentDir, onOpenFile }
|
||||
}
|
||||
|
||||
function escapeHtml(s) {
|
||||
return String(s).replace(/[&<>"']/g, (c) =>
|
||||
({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c])
|
||||
return String(s).replace(
|
||||
/[&<>"']/g,
|
||||
(c) => ({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' })[c]
|
||||
);
|
||||
}
|
||||
|
||||
@@ -166,7 +167,9 @@ function renderSearchPanel(container, { search, ask, getCurrentDir, onOpenFile }
|
||||
if (mode === 'ask') {
|
||||
const r = await ask({ question: q, dir, topK: 5 });
|
||||
lastResults = (r && r.chunks) || [];
|
||||
setStatus(`Asked: "${q}" — ${lastResults.length} passage${lastResults.length === 1 ? '' : 's'}`);
|
||||
setStatus(
|
||||
`Asked: "${q}" — ${lastResults.length} passage${lastResults.length === 1 ? '' : 's'}`
|
||||
);
|
||||
} else {
|
||||
const r = await search({ query: q, dir, limit: 50 });
|
||||
lastResults = Array.isArray(r) ? r : [];
|
||||
@@ -220,4 +223,4 @@ function renderSearchPanel(container, { search, ask, getCurrentDir, onOpenFile }
|
||||
};
|
||||
}
|
||||
|
||||
module.exports = { renderSearchPanel };
|
||||
module.exports = { renderSearchPanel };
|
||||
|
||||
Reference in New Issue
Block a user