diff --git a/index.html b/index.html index 3e4211c..7fffccf 100644 --- a/index.html +++ b/index.html @@ -1291,15 +1291,26 @@ chmod 755 kbtd function extractMetadata(nestedLines) { const metadata = []; const metadataPattern = /^(\w+):\s*(.+)$/; + const hashtagPattern = /#(\w+)/g; - for (const line of nestedLines) { - const trimmed = line.trim(); + for (let i = 0; i < nestedLines.length; i++) { + const trimmed = nestedLines[i].trim(); 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); if (match) { 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; } } @@ -2165,7 +2176,7 @@ chmod 755 kbtd metadata.forEach(m => { const metadataLine = h('span', { className: 'card-expand-indicator', - textContent: `${m.key}: ${m.value}` + textContent: m.key === 'tag' ? `#${m.value}` : `${m.key}: ${m.value}` }); metadataDiv.append(metadataLine); });