Convert Webflow exports with CSV CMS data to self-served static pages with dynamic content loading
This plugin is not yet in any themed marketplace. To install it, you'll need to add it from GitHub directly.
Choose your preferred installation method below
A marketplace is a collection of plugins. Every plugin gets an auto-generated marketplace JSON for individual installation, plus inclusion in category and themed collections. Add a marketplace once (step 1), then install any plugin from it (step 2).
One-time setup for access to all plugins
When to use: If you plan to install multiple plugins now or later
Step 1: Add the marketplace (one-time)
/plugin marketplace add https://claudepluginhub.com/marketplaces/all.json
Run this once to access all plugins
Step 2: Install this plugin
/plugin install webflow-to-self-served-page@all
Use this plugin's auto-generated marketplace JSON for individual installation
When to use: If you only want to try this specific plugin
Step 1: Add this plugin's marketplace
/plugin marketplace add https://claudepluginhub.com/marketplaces/plugins/webflow-to-self-served-page.json
Step 2: Install the plugin
/plugin install webflow-to-self-served-page@webflow-to-self-served-page
Convert Webflow exports with CSV CMS data to self-served static pages with dynamic content loading
A Claude Code plugin that automates the conversion of exported Webflow landing pages into self-served static sites with dynamic content injection from CSV files.
When you export a Webflow site, CMS content comes as separate CSV files and the HTML contains empty placeholders. This plugin:
Result: A fully functional static site that loads CMS content dynamically, with no server or API required.
# Add the plugin marketplace (once GitHub repo is set up)
/plugin marketplace add filadd/webflow-to-self-served-page
# Install the plugin
/plugin install webflow-to-self-served-page
# Navigate to your Webflow export directory
cd /path/to/webflow-export
# Run the conversion
/webflow-convert
# Preview the result
/webflow-preview
That's it! Your Webflow export is now a self-served static page with dynamic content.
/webflow-convert [directory]
Main conversion command - Converts the entire Webflow export
Example:
/webflow-convert
/webflow-convert ./my-landing-page
/webflow-setup [directory]
Initialize directory structure - Prepares the environment
data/
, scripts/
, js/
directoriesExample:
/webflow-setup
/webflow-preview [port]
Start local server - Preview your converted page
Example:
/webflow-preview
/webflow-preview 8080
/webflow-update [csv-file]
Regenerate JSON - Update after CSV changes
Example:
/webflow-update # Update all
/webflow-update testimonials.csv # Update specific file
/webflow-clean [--force]
Remove generated files - Clean up conversion artifacts
--force
)Example:
/webflow-clean
/webflow-clean --force
The plugin includes a specialized webflow-converter
subagent with expertise in:
The agent is automatically invoked during /webflow-convert
for complex tasks.
CSV Files β Python Converter β JSON Files β JavaScript Loader β HTML DOM
The plugin intelligently detects collection types:
Converts CSV to clean, structured JSON:
{
"collection": "testimonials",
"total_count": 16,
"items": [
{
"id": "unique-id",
"name": "Student Name",
"comment": "Clean text without HTML",
"photo": "https://cdn.url/image.jpg",
"order": 1
}
]
}
Creates modular CMS loader:
class CMSLoader {
async loadAllData() { /* ... */ }
injectTestimonials() { /* ... */ }
injectSchools() { /* ... */ }
// ... more injection functions
}
Finds and replaces empty placeholders:
<!-- Before -->
<div class="w-dyn-items">
<div class="w-dyn-bind-empty"></div>
</div>
<!-- After -->
<div class="w-dyn-items">
<div class="testimonial-card">
<!-- Populated content -->
</div>
</div>
After conversion:
your-webflow-export/
βββ data/
β βββ cms-testimonials.json
β βββ cms-schools.json
β βββ cms-*.json
βββ scripts/
β βββ csv-to-json.py
βββ js/
β βββ cms-loader.js
βββ *.csv (original files)
βββ *.html (updated files)
βββ README.md (generated docs)
Enable automatic JSON regeneration when CSV files change:
Copy the hooks configuration to your project:
# In your project directory
mkdir -p .claude/hooks
cp ~/.claude/plugins/webflow-to-self-served-page/hooks/hooks.json .claude/hooks/
No additional dependencies needed!
Problem: Sections show "No items found"
Solutions:
data/
folder/webflow-update
to regenerate JSONProblem: "Access blocked" errors in console
Solution: Must use HTTP server, not file://
protocol
/webflow-preview # Starts server automatically
Problem: Broken image placeholders
Solutions:
Problem: Content appears but styling is wrong
Solutions:
/webflow-clean
and /webflow-convert
to regenerateContributions are welcome! Please:
MIT License - see LICENSE file for details
Made with β€οΈ by Filadd
Powered by Claude Code
1.0.0