Overview
JetShip's blog system is powered by Keystatic, a modern Git-based Content Management System that seamlessly integrates with Next.js. Keystatic combines the power of version control with an intuitive content management interface, making it perfect for developers and content creators alike.
๐ค Why Keystatic?โ
Keystatic offers a developer-first approach to content management by storing content directly in your Git repository. It leverages built-in version control, which is ideal for collaboration. As a TypeScript-first CMS, Keystatic integrates effortlessly with Next.js, making it perfect for modern developer workflows.
Key Benefits:โ
- Git-Based: Content lives in your repository with built-in version control
- TypeScript Integration: Full type safety with auto-generated types for your content schema
- Zero Database: Simple JSON and MDX file storage
- Modern Editor: Rich text editing with live preview
- Structured Content: Well-organized with custom fields and validations
- Flexible Deployment: Local, GitHub, or cloud hosting options
โจ Featuresโ
The blog system comes with everything you need to create and manage content:
Content Featuresโ
- Posts & Categories: Write, organize, and manage blog content
- Media Support: Handle images and other media assets
- Draft System: Save and preview before publishing
- SEO Ready: Built-in meta tags and optimization
Developer Featuresโ
- MDX Support: Markdown with React components
- Type Safety: Auto-generated TypeScript types for content validation and IDE support
- Asset Optimization: Automatic image processing with configurable quality and sizes
- Custom Fields: Flexible content structure
๐ Getting Startedโ
Enabling the Blog Featureโ
Before creating content, you'll need to enable the blog functionality in your JetShip installation:
- Navigate to your admin dashboard
- Open the General Settings section
- Go to the Pages & Components tab
- Find and enable the Blog feature
Once enabled, your blog will be accessible at the /blog
route on your website.
Setting Up Social Sharingโ
To allow visitors to share your blog posts across social media:
- Access the General Settings
- Navigate to the Share This (Blog) tab
- Enable the Share feature
You can extend the sharing capabilities using next-share. Here's an example of adding WhatsApp sharing:
import { WhatsappShareButton, WhatsappIcon } from 'next-share'
const ShareLinks = () => {
return (
<WhatsappShareButton url={url} title={title}>
<WhatsappIcon size={32} round />
</WhatsappShareButton>
)
}
Installing Keystatic Adminโ
To set up the admin interface for your blog:
- Open your terminal
- Navigate to your project root
- Run the following command:
turbo gen keystatic
This command will:
- Create the necessary admin routes
- Set up the Keystatic interface at
/keystatic
- Configure initial content storage settings
For detailed configuration options and customization, refer to the Configuration Guide.
๐ Resourcesโ
- Keystatic Documentation - Comprehensive guide to Keystatic features
- Configuration Guide - Customize your blog setup
- Content Management - Learn about creating and managing posts