The best way to embed tweets in your Svelte app, supporting both SSR and static prerendering modes.
This package is a Svelte version of vercel/react-tweet licensed under MIT License, many thanks to the original authors for making it possible!
This repo is fork of fayez-nazzal/sveltekit-tweet
runes
)npx nypm add sveltweet
Go to the tweet you want to embed. You will find the URL
Use the getTweet
function in your +page.server.ts
file to fetch the tweet data.
import { getTweet } from 'sveltweet/api';
import { error } from '@sveltejs/kit';
import type { RequestEvent } from './$types';
export async function load({ params }: RequestEvent) {
const { id } = params;
try {
const tweet = await getTweet(id);
return { tweet };
}
catch {
return error(500, 'Could not load tweet');
}
}
Use the SvelteTweet
component in your +page.svelte
file to render the tweet.
<script lang='ts'>
import { SvelteTweet } from 'sveltweet';
import type { PageData } from './$types';
const { data }: { data: PageData } = $props()
</script>
<SvelteTweet tweet={data.tweet} />
<script lang='ts'>
import { SvelteTweet } from 'sveltweet';
import { getTweet } from 'sveltweet/api';
const id = '';
</script>
{#await getTweet(id) then tweet}
<SvelteTweet tweet={data.tweet} />
{/await}
Sveltweet
shares the same CSS file with react-tweet
.
So, refer to the Custom Theme
section in the react-tweet
documentation to customise the tweet appearance.