Get Started in 2 Minutes

From zero to blog in 120 seconds. We timed it.

1 Download FeatherFeed

Get the complete starter pack with all necessary files.

ðŸ“Ķ FeatherFeed Starter Pack

Includes all PHP files, example posts, and documentation

Download ZIP (12KB)

Or clone from GitHub:

git clone https://github.com/yourusername/featherfeed.git

2 Upload to Your Server

Upload the files to your web server via FTP or your hosting control panel.

Files to upload
📁 your-website/
├── 📄 .htaccess
├── 📄 render.php
├── 📄 post.html
├── 📄 featherfeed.css
├── 📁 includes/
│   ├── 📄 recent-posts.php
│   └── 📄 collection.php
└── 📁 content/
    └── 📁 posts/
        └── 📄 1735000000.json (example post)

Note: Make sure your server has PHP 7.0+ and Apache with mod_rewrite enabled (most hosts have this by default).

3 Add to Your Pages

Include this one line wherever you want blog posts to appear:

In any .html file
<!-- Show recent blog posts -->
<?php include('includes/recent-posts.php'); ?>

Complete example page:

blog.html
<!DOCTYPE html>
<html>
<head>
    <title>My Blog</title>
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="featherfeed.css">
</head>
<body>
    <h1>My Blog</h1>
    
    <!-- This is where the magic happens -->
    <?php include('includes/recent-posts.php'); ?>
</body>
</html>

4 Create Your First Post

Add a new JSON file to /content/posts/ with this format:

content/posts/1735123456.json
{
  "timestamp": 1735123456,
  "slug": "hello-world",
  "title": "Hello World!",
  "excerpt": "My first blog post with FeatherFeed",
  "content": "<p>Welcome to my new blog! FeatherFeed makes this so easy.</p><p>No database, no admin panel, just simple files.</p>",
  "status": "published",
  "featured_image_url": "https://picsum.photos/800/400",
  "tags": "introduction, blogging"
}

That's it! Your post is now live at /hello-world

Quick Recipes

Show Only 3 Posts

<?php 
$limit = 3; 
include('includes/recent-posts.php'); 
?>

Create a Featured Collection

content/collections/featured.json
{
  "name": "featured",
  "title": "Featured Posts",
  "class": "featured-grid",
  "posts": [1735000000, 1735001000, 1735002000]
}

Then display it:

<?php 
include_once('includes/collection.php');
renderCollection('featured');
?>

Customize Post Template

Edit post.html to match your site design. Use these placeholders:

  • {{POST_TITLE}} - The post title
  • {{POST_CONTENT}} - The full post with metadata

🚀 Level Up with FeatherFTP

Automate content publishing with our companion tool:

POST to FeatherFTP API
{
  "ftp": {
    "host": "ftp.yoursite.com",
    "username": "user",
    "password": "pass"
  },
  "destination": "/public_html/content/posts",
  "post": {
    "title": "Automated Post",
    "content": "<p>Published via API!</p>",
    "tags": "automation"
  }
}

Perfect for AI agents, automation workflows, and programmatic content creation.

Learn About FeatherFTP

Need Help?

📖 Documentation

Complete reference guide

View Docs

📝 Blog

Tutorials and tips

Read Blog

💎 GitHub

Issues and discussions

Visit GitHub