Back to Docs
Configuration
Set up your API keys and environment variables
Environment Variables
Create a .env.local file in your project root and add the following environment variables:
# .env.local
BLOGFLOW_API_KEY=your_api_key_hereNEXT_PUBLIC_BLOGFLOW_API_KEY=your_api_key_here💡Usage guide:
BLOGFLOW_API_KEY - For server-side usage (API routes, Server Components)NEXT_PUBLIC_BLOGFLOW_API_KEY - For client-side usage (Client Components)Usage Examples
Server-side Usage
Use in API routes or Server Components:
// app/api/posts/route.ts
import { BlogFlow } from '@blogflow/sdk/core';
import { NextResponse } from 'next/server';
const client = new BlogFlow({
apiKey: process.env.BLOGFLOW_API_KEY, // 服务端使用
defaultLanguage: 'en',
});
export async function GET() {
const posts = await client.getPosts({ limit: 10 });
return NextResponse.json(posts);
}Client-side Usage
Use in Client Components:
'use client'
import { useEffect, useState } from 'react';
import { BlogFlow } from '@blogflow/sdk/core';
export default function BlogPosts() {
const [posts, setPosts] = useState([]);
useEffect(() => {
const client = new BlogFlow({
apiKey: process.env.NEXT_PUBLIC_BLOGFLOW_API_KEY, // 客户端使用
defaultLanguage: 'en',
});
client.getPosts({ limit: 5 }).then(setPosts);
}, []);
return (
<div>
{posts.map(post => (
<div key={post.id}>{post.title}</div>
))}
</div>
);
}UI Component Usage
Using BlogFlowUI component (recommended):
import { BlogFlowUI } from '@blogflow/sdk/react';
export default function BlogPage() {
return (
<BlogFlowUI
apiKey={process.env.NEXT_PUBLIC_BLOGFLOW_API_KEY}
defaultLanguage="en"
defaultTheme="default"
/>
);
}⚠️Security Notes
• .env.local files are not committed to version control. Keep your API keys secure.
• Never expose sensitive API keys in client-side code.
• Consider using environment variables or key management services in production.