Changeset 5ae4d61 in Klonkt for src/services/ap-core.js
- Timestamp:
- 08/09/2026 08:37:29 AM (4 weeks ago)
- Branches:
- main
- Children:
- 6259305
- Parents:
- ea3e722
- File:
-
- 1 edited
-
src/services/ap-core.js (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
src/services/ap-core.js
rea3e722 r5ae4d61 151 151 * dat geen benadering meer maar de tag zelf, en dan hoort die te staan zoals 152 152 * hij er staat. Eerder won het veld, en verdween de geschreven vorm. 153 * 154 * `opts.ruw` voor inhoud die nog niet door de renderer is geweest: dan staan de 155 * hashtags er als kale tekst en niet als <a class="hashtag">. buildNote krijgt 156 * het bewerkte lijf en heeft dit niet nodig; wie rechtstreeks uit posts.content 157 * leest wel -- anders vindt hij er geen enkele en valt hij stil terug op het 158 * tagveld, precies de vorm die hier juist niet moest winnen. 153 159 */ 154 export function buildHashtagList(base, tagsField, content) { 160 export function hashtagTagsRuw(base, content) { 161 const tags = [], seen = new Set(); 162 // Moet met een LETTER beginnen: "#12" in "issue #12" is een nummer en geen 163 // tag, en die zou hier anders als hashtag de deur uit gaan. 164 const re = /(^|[\s>(\[])#(\p{L}[\p{L}\p{M}\p{N}_]*)/gu; 165 let m; 166 while ((m = re.exec(content || ''))) { 167 const k = m[2].toLowerCase(); 168 if (seen.has(k)) continue; seen.add(k); 169 tags.push({ type: 'Hashtag', href: `${base}/tag/${encodeURIComponent(k)}`, name: '#' + m[2] }); 170 } 171 return tags; 172 } 173 174 export function buildHashtagList(base, tagsField, content, opts = {}) { 155 175 const out = [], seen = new Set(); 156 for (const h of hashtagTags(base, content)) { 176 const uitLijf = opts.ruw 177 ? [...hashtagTags(base, content), ...hashtagTagsRuw(base, content)] 178 : hashtagTags(base, content); 179 for (const h of uitLijf) { 157 180 const k = h.name.slice(1).toLowerCase(); if (seen.has(k)) continue; seen.add(k); 158 181 out.push(h);
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)