Sync Astro content with Polar
polarsource
Today, we're thrilled to introduce the @polar-sh/astro
package - offering seamless publishing of your Astro content to your page on Polar.
Astro is an incredible static-first web framework loved by countless developers. Chances are you've built your personal site & blog with it. Well, now it's painless to keep your blog & Polar profile up-to-date without any manual effort.
So naturally, we're thrilled. But the coolest part & what makes us over the moon about this is that we had no part in it. It was contributed to us by the incredible @isaacharrisholt who uses both Astro & Polar himself.
That's the power of open source 🚀🎉
Getting started
The first iteration (v0.1.3
) of @polar-sh/astro
is predominantly focused on pushing your existing and future Astro content to your profile on Polar. It provides a neat wrapper around the Polar SDK for Astro's Content Collections along with some extra tools to help you keep your frontmatter type safe.
Let's dive in.
Step 1. Install the package
pnpm add @polar-sh/sdk
Step 2. Create a Polar access token
- Goto your personal settings on Polar
- Scroll down to
Access token
and create one - Copy & save it somewhere safe
Step 3. Publish from Astro
import { getCollection } from 'astro:content'
import { Polar } from '@polar-sh/astro'
const organizationName = '<your_polar/github_username>'
const accessToken = '<your_access_token>'
const posts = await getCollection('blog')
const polar = new Polar({ accessToken })
const { data, error } = await polar.upload(posts, {
organizationName,
})
The code above will upload all your posts to Polar and will update any existing posts that share a slug between Astro and Polar.
Note: Your organizationName
on Polar is the same as your GitHub username or organization name - depending on which one you've connected.
Filtering and transforming posts + more
You can of course filter which content you want to publish, transform posts and more.
@isaacharrisholt has written a great in-depth post about all the features @polar-sh/astro
offers today & how you can use them. Be sure to check it out to help us give credit where credit is due.
While you're at it, we highly recommend you give him a follow on Polar, YouTube & Twitter and checkout his personal site - built with Astro, of course.
We can't wait to see what you all do with this and don't hesitate to join our Discord to share your integration with the community. Or to hangout with us, Isaac and other fellow friendly developers 🙂
Until next time, keep building.