0.2.88
This commit is contained in:
1 parent
df403c0aa7
commit
9e133628e5
17 files changed
+270
-34
No files matched your search
@@ -274,7 +274,7 @@ function renderStandaloneMedia(line, sourceLine) {
|
||||
}
|
||||
|
||||
function listLine(line) {
|
||||
const match = line.match(/^(\s*)([-*+]|(\d+)\.)\s+(?:\[([ xX])\]\s+)?(.+)$/);
|
||||
const match = line.match(/^(\s*)([-*+]|(\d+)\.)\s+(?:\[([ xX~])\]\s+)?(.+)$/);
|
||||
if (!match) return null;
|
||||
const indent = match[1].replace(/\t/g, " ").length;
|
||||
return {
|
||||
@@ -283,6 +283,7 @@ function listLine(line) {
|
||||
type: match[3] ? "ol" : "ul",
|
||||
number: match[3] ? Number(match[3]) : null,
|
||||
checked: match[4] == null ? null : match[4].toLowerCase() === "x",
|
||||
cancelled: match[4] === "~",
|
||||
text: match[5],
|
||||
marker: match[3] ? `${match[3]}. ` : `${match[2]} `
|
||||
};
|
||||
@@ -302,14 +303,14 @@ function renderList(lines, start, lineOffset = 0, baseIndent = null, forcedType
|
||||
if (!item || item.indent < indent || item.indent !== indent || item.type !== type) break;
|
||||
|
||||
const sourceLine = index + lineOffset + 1;
|
||||
const prefix = `${item.whitespace}${item.marker}${item.checked == null ? "" : `[${item.checked ? "x" : " "}] `}`;
|
||||
const prefix = `${item.whitespace}${item.marker}${item.checked == null ? "" : `[${item.cancelled ? "~" : item.checked ? "x" : " "}] `}`;
|
||||
const valueAttr = "";
|
||||
const taskClass = item.checked == null ? "" : " task-list-item";
|
||||
const taskClass = item.checked == null ? "" : ` task-list-item${item.cancelled ? " task-list-item--cancelled" : ""}`;
|
||||
hasTask ||= item.checked != null;
|
||||
const gutterOffset = `${(depth + 1) * 1.75}em`;
|
||||
body += `<li class="preview-source-line list-source-line${taskClass}" data-source-line="${sourceLine}"${valueAttr} style="--list-gutter-offset:${gutterOffset}">`;
|
||||
if (item.checked != null) {
|
||||
body += `<input type="checkbox" class="task-checkbox" data-source-line="${sourceLine}"${item.checked ? " checked" : ""}>`;
|
||||
body += `<input type="checkbox" class="task-checkbox" data-source-line="${sourceLine}"${item.checked ? " checked" : ""}${item.cancelled ? " disabled aria-label=\"Cancelled task\"" : ""}>`;
|
||||
}
|
||||
body += `<span class="preview-editable list-item-content" data-source-line="${sourceLine}" data-source-prefix="${escapeHtml(prefix)}">${inline(item.text)}</span>`;
|
||||
index++;
|
||||
|
||||
Reference in new issue
Block a user