diff --git a/src/components/status/status.js b/src/components/status/status.js index 5b3d98c3..04958eea 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -289,6 +289,13 @@ const Status = { AvatarList }, methods: { + generateTagAttributes(tags) { + let res = {}; + for (let tag of tags) { + res['data-tag-'+tag.name] = tag.name; + } + return res; + }, visibilityIcon (visibility) { switch (visibility) { case 'private': diff --git a/src/components/status/status.vue b/src/components/status/status.vue index 997c1b31..24b2520f 100644 --- a/src/components/status/status.vue +++ b/src/components/status/status.vue @@ -32,7 +32,7 @@ </div> </div> - <div :class="[userClass, { highlighted: userStyle, 'is-retweet': retweet && !inConversation }]" :style="[ userStyle ]" class="media status"> + <div :class="[userClass, { highlighted: userStyle, 'is-retweet': retweet && !inConversation }]" :style="[ userStyle ]" class="media status" v-bind="generateTagAttributes(status.tags)"> <div v-if="!noHeading" class="media-left"> <router-link :to="userProfileLink" @click.stop.prevent.capture.native="toggleUserExpanded"> <UserAvatar :compact="compact" :betterShadow="betterShadow" :user="status.user"/> diff --git a/src/services/entity_normalizer/entity_normalizer.service.js b/src/services/entity_normalizer/entity_normalizer.service.js index 8e413584..46ca7602 100644 --- a/src/services/entity_normalizer/entity_normalizer.service.js +++ b/src/services/entity_normalizer/entity_normalizer.service.js @@ -192,6 +192,8 @@ export const parseStatus = (data) => { output.statusnet_html = addEmojis(data.content, data.emojis) + output.tags = data.tags + if (data.pleroma) { const { pleroma } = data output.text = pleroma.content ? data.pleroma.content['text/plain'] : data.content