Add #tags that work like kv tags.

This commit is contained in:
Chris McCormick 2026-01-12 09:38:45 +08:00
parent 9a2e2010f9
commit b4e2cca271

View file

@ -1291,15 +1291,26 @@ chmod 755 kbtd
function extractMetadata(nestedLines) { function extractMetadata(nestedLines) {
const metadata = []; const metadata = [];
const metadataPattern = /^(\w+):\s*(.+)$/; const metadataPattern = /^(\w+):\s*(.+)$/;
const hashtagPattern = /#(\w+)/g;
for (const line of nestedLines) { for (let i = 0; i < nestedLines.length; i++) {
const trimmed = line.trim(); const trimmed = nestedLines[i].trim();
if (trimmed === '') continue; if (trimmed === '') continue;
// Extract hashtags from first line only
if (i === 0) {
const hashtags = [...trimmed.matchAll(hashtagPattern)];
hashtags.forEach(match => {
metadata.push({ key: 'tag', value: match[1] });
});
}
// Extract key-value metadata
const match = trimmed.match(metadataPattern); const match = trimmed.match(metadataPattern);
if (match) { if (match) {
metadata.push({ key: match[1], value: match[2] }); metadata.push({ key: match[1], value: match[2] });
} else { } else if (i > 0) {
// Stop looking for metadata after first non-matching line (after line 0)
break; break;
} }
} }
@ -2165,7 +2176,7 @@ chmod 755 kbtd
metadata.forEach(m => { metadata.forEach(m => {
const metadataLine = h('span', { const metadataLine = h('span', {
className: 'card-expand-indicator', className: 'card-expand-indicator',
textContent: `${m.key}: ${m.value}` textContent: m.key === 'tag' ? `#${m.value}` : `${m.key}: ${m.value}`
}); });
metadataDiv.append(metadataLine); metadataDiv.append(metadataLine);
}); });