Flotiq 与 Astro
Flotiq 是专为各种前端设计的无头 CMS,例如静态网站,移动端以及 web 应用。开发人员和内容创作者们通过 REST 和基于 GraphQL 的 API 管理和交付内容。
与 Astro 集成
Section titled “与 Astro 集成”本指南将使用 Flotiq 无头 CMS API 和 Astro 项目在你的网站上显示内容。
要开始集成,你需要具备以下条件:
- 一个 Astro 项目 - 你可以使用
npm create astro@latest命令以创建一个新项目。 - 一个 Flotiq 账户 - 如果你还没有账户,可以免费注册一个。
- Flotiq 的只读 API 秘钥 - 查看如何获取你的秘钥。
配置环境变量
Section titled “配置环境变量”将 Flotiq 账户中的只读 API 密钥添加到 Astro 项目根目录下的 .env 文件中:
FLOTIQ_API_KEY=__YOUR_FLOTIQ_API_KEY__在 Flotiq 中定义内容类型
Section titled “在 Flotiq 中定义内容类型”首先,你需要在 Flotiq 中定义一个示例内容类型定义来存储数据。
登录你的 Flotiq 账户并且使用如下的 Blog Post 配置项来创建一个自定义的内容类型定义:
- Label: Blog Post
- API Name: blogpost
- Fields:
- Title: text, required
- Slug: text, required
- Content: rich text, required
然后,使用此 Blog Post 类型创建一个或多个示例内容对象。
安装 Flotiq TypeScript SDK
Section titled “安装 Flotiq TypeScript SDK”要将你的项目与 Flotiq 连接,请使用你选择的包管理器安装 Flotiq SDK:
npm install flotiq-api-tspnpm add flotiq-api-tsyarn add flotiq-api-ts接下来,使用你的凭证配置 SDK。在项目的 src/lib 目录中创建一个名为 flotiq.ts 的新文件:
import { FlotiqApi } from "flotiq-api-ts";
export const flotiq = new FlotiqApi(import.meta.env.FLOTIQ_API_KEY);现在,此配置可以在整个项目中使用。
从 Flotiq 获取和显示数据
Section titled “从 Flotiq 获取和显示数据”-
在 Astro 页面上使用内容的自定义 API
BlogpostAPI来获取Blog Post数据:src/pages/index.astro ---import { flotiq } from "../lib/flotiq";const posts = await flotiq.BlogpostAPI.list();--- -
显示 Astro 模板中的内容。你将可以访问到文章的
title、slug和content以及其他的internal文章数据:src/pages/index.astro ---import { flotiq } from "../lib/flotiq";const posts = await flotiq.BlogpostAPI.list();---<html lang="en"><head><title>Astro</title></head><body>{posts.data?.map((post) => (<section><a href={`/posts/${post.slug}`}><h2>{post.title}</h2></a><div>{post.internal?.createdAt}</div><div set:html={post.content}/></section>))}</body></html>