Vue 3 component that lets you embed tweets in your app by only providing the tweet ID.
npm install vue-tweet # or with yarn yarn add vue-tweet # or with pnpm pnpm add vue-tweetBasic Usage with Tweet ID
<script setup> import VueTweet from 'vue-tweet' </script> <template> <VueTweet tweet-id="1530240085807054848" /> </template>
<script setup> import VueTweet from 'vue-tweet' </script> <template> <VueTweet tweet-url="https://x.com/DannyFeliz08/status/1530240085807054848" /> </template>
<script setup> import { VueTweet } from 'vue-tweet' </script> <template> <VueTweet tweet-id="1530240085807054848" /> </template>
Note: You must provide either
tweet-id
ortweet-url
.
For detailed information about embedded tweet parameters, see the Embedded Tweet parameter reference.
string
''
string
''
'visible' | 'hidden'
'visible'
'hidden'
, links in a tweet are not expanded to photo, video, or link previews.'all' | 'none'
'all'
'none'
, only the cited tweet will be displayed even if it is in reply to another tweet.'light' | 'dark'
'light'
'dark'
, displays tweet with light text over a dark background.'auto' | number
'auto'
250
and 550
pixels.'left' | 'right' | 'center' | undefined
undefined
TweetLang
'en'
'ar' | 'bn' | 'cs' | 'da' | 'de' | 'el' | 'en' | 'es' | 'fa' | 'fi' | 'fil' | 'fr' | 'he' | 'hi' | 'hu' | 'id' | 'it' | 'ja' | 'ko' | 'msa' | 'nl' | 'no' | 'pl' | 'pt' | 'ro' | 'ru' | 'sv' | 'th' | 'tr' | 'uk' | 'ur' | 'vi' | 'zh-cn' | 'zh-tw'
boolean
false
true
, the tweet and its embedded page on your site are not used for purposes that include personalized suggestions and personalized ads.(embedHtmlNode: HTMLElement) => void
(error: Error) => void
Slot for custom loading state.
<VueTweet tweet-id="20"> <template #loading> <span>Loading tweet...</span> </template> </VueTweet>
Slot for custom error state.
<VueTweet tweet-id="20"> <template #error> <span>Sorry, that tweet doesn't exist!</span> </template> </VueTweet>
<script setup> import VueTweet from 'vue-tweet' function onTweetLoaded(embedHtmlNode) { console.log('Tweet loaded successfully:', embedHtmlNode) } function onTweetError(error) { console.error('Failed to load tweet:', error) } </script> <template> <VueTweet tweet-id="1530240085807054848" theme="dark" cards="hidden" conversation="none" :width="400" align="center" lang="en" :dnt="true" @tweet-load-success="onTweetLoaded" @tweet-load-error="onTweetError" > <template #loading> <div class="loading-spinner">Loading tweet...</div> </template> <template #error> <div class="error-message">Failed to load tweet</div> </template> </VueTweet> </template>
# Install dependencies npm install # Start development server npm run dev # Build for production npm run build # Preview production build npm run preview # Type checking npm run type-check # Lint files npm run lint
This package includes TypeScript definitions. You can import the component and types:
import VueTweet, { type TweetProps, type TweetLang } from 'vue-tweet'
git checkout -b feature/awesome-feature
)git commit -am 'Add some awesome feature'
)git push origin feature/awesome-feature
)MIT
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4