Hey! I'm writing a post that gives a bit more detail about how we're using plugin sandboxing and atproto to keep it secure without central control. And don't worry about the license. It's not a (slop-)fork, port, or re-implementation. It's just inspired by WordPress.
It seems ChatGPT Search solves the problem of out-of-date API knowledge.
I asked it how to build an Astro content loader (a beta feature). Regular ChatGPT hasn't a clue. Enable search and it gives a perfect answer.
ALT Can you tell me how to create an Astro Content Loader?
ChatGPT said:
ChatGPT
Creating an Astro Content Loader is all about building a mechanism to load content (like markdown files) into your Astro project dynamically, where Astro itself doesn’t natively provide a built-in content layer (yet). Here’s a straightforward guide to creating your own:
ALT Creating a custom Content Loader in Astro allows you to integrate external data sources into your content collections, enabling dynamic content generation from APIs, databases, or other external services. Here's a step-by-step guide to setting up a custom Content Loader:
Define the Loader Function: In your src/content/config.ts file, import the necessary utilities from astro:content and define your loader function.
typescript
import { defineCollection, z, type Loader } from 'astro:content';
const externalDataLoader: Loader = async ({ store, logger, meta }) => {
try {
const response = await fetch('https://api.example.com/data');
if (!response.ok) throw new Error(`Failed to fetch data: ${response.statusText}`);
const data = await response.json();
I'm playing around a bit with @astrodotbuild Content Layer API, and apart from the amazing DX, it is much faster than fetching API the old way 🔥
I'm just fetching some data using WordPress REST API. But I'm guessing the more fetches the difference would grow.
cc @AndrewKepson