tobya / webflowsiteconverter
Convert exported Webflow Site to a usable blade site
Fund package maintenance!
Tobya
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/tobya/webflowsiteconverter
Requires
- php: ^8.2|^8.3
- illuminate/contracts: ^11.0||^12.0
- spatie/laravel-package-tools: ^1.16
- voku/simple_html_dom: ^4.8
Requires (Dev)
- laravel/pint: ^1.14
- nunomaduro/collision: ^8.8
- pestphp/pest: ^4.0
- pestphp/pest-plugin-arch: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan-deprecation-rules: ^2.0
- phpstan/phpstan-phpunit: ^2.0
- spatie/laravel-ray: ^1.35
This package is auto-updated.
Last update: 2026-02-15 15:12:57 UTC
README
Webflow is a no code (or low code) generator site which is really amazing from a design point of view and allows you to really rapidly generate wonderful looking sites.
However, if it is a very small, or simple site then webflow monthly fees can get a bit out of hand. Webflow provide a simple way to export your html, css and js from their system. I have previously tried to export this zip file and view it. It works fine as a static local html site but has various issues if you wish to transform it into a blade views for a laravel site.
This project will take a set of files from an exported webflow project and do the following
- Convert all
.htmlfiles toblade.phpfiles - Copy all other files (.js .css .jpg .jpeg .png .ttf etc) to your public directory for loading
- Convert all
hrefand other urls from relative egabout.htmlto fixed routes/about - Convert all script tags to fixed uris pointing to the copy in your public directory
- Convert all css link tags to fixed uris pointing to the copy in your public directory
- Convert all relative # tags to fixed on the route eg
about.html#Contactto/about#Contact - Convert simpley HTML site. Will simply import html files, css, js and images to public directory. will rewrite all relative urls to start with '/'
In Development
This project is still in active development and may have (quite) a few rough edges. I am adding features as required for the few sites I use it on. Delighted with an help, PRs , Issues, discussions.
Additional Options
- You can extract a section via a css selector and replace with a snippet
This will pull out the innerhtml from a tag with the container1 class and replace it with the include allowing you to put your own content in these sections. Additionally these are all extracted to seperate files so you can check changes.
$this->extractsection('.container1',"@include('containers.main')");
Route
If you have a simple site that only needs the pages to be linked up correctly, you can call a simple route function and your site will work out of the box.
Route::webflow();
For anything more complex you can create routes and controllers as you normally would.
Rerunning
This project has also been designed to allow you to export your data multiple times. As the project is overwritten you can diff the changes and update. Thsi is
Support us
Delighed with any sponsors
Installation
You can install the package via composer:
composer require tobya/webflowsiteconverter
You can publish the config file with:
php artisan vendor:publish --tag="webflow-site-converter-config"
This is the contents of the published config file:
<?php // config for Tobya/WebflowSiteConverter return [ 'transformer' => \Tobya\WebflowSiteConverter\Transformers\SiteTransformer::class, 'disks' => [ 'input' => [ // disk name or array for build. 'driver' => 'local', 'root' => storage_path('/webflow-core'), ] , 'output' => [ 'driver' => 'local', 'root' => resource_path('transformed'), ] , 'public' => [ 'driver' => 'local', 'root' => public_path('/'), ] , ], ];
Optionally, you can publish the views using
php artisan vendor:publish --tag="webflowsiteconverter-views"
Usage
php artisan webflow:transform
or to use for a simple html site
php artisan webflow:transform --html
Routes
Once you have transformed your webflow site, you can create routes and controllers as normal using the new blade components.
If you wish to have a site up and running immediately, you can use a single route that will catch all non registered routes
Route::webflow();
This will serve your new blade templates directly.
Testing
composer test
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Toby Allen
- All Contributors
- Webflow
License
The MIT License (MIT). Please see License File for more information.
Webflow
'Webflow' is a registered Trademark of Webflow Inc.