Use linkify to parse hashtags when creating a status, too

This commit is contained in:
Alex Gleason 2024-05-21 21:30:26 -05:00
parent 5de7366ff0
commit 1a66570b56
No known key found for this signature in database
GPG Key ID: 7211D1F99744FBB7
1 changed files with 4 additions and 4 deletions

View File

@ -1,5 +1,6 @@
import { NostrEvent, NSchema as n } from '@nostrify/nostrify';
import ISO6391 from 'iso-639-1';
import 'linkify-plugin-hashtag';
import linkify from 'linkifyjs';
import { nip19 } from 'nostr-tools';
import { z } from 'zod';
@ -141,14 +142,13 @@ const createStatusController: AppController = async (c) => {
tags.push(['p', pubkey]);
}
for (const match of content.matchAll(/#(\w+)/g)) {
tags.push(['t', match[1]]);
}
for (const link of linkify.find(data.status ?? '')) {
if (link.type === 'url' && link.href.startsWith('https://')) {
tags.push(['r', link.href]);
}
if (link.type === 'hashtag') {
tags.push(['t', link.href.replace(/^#/, '').toLowerCase()]);
}
}
const mediaUrls: string[] = media