# VvvebJs **Repository Path**: mirrors/VvvebJs ## Basic Information - **Project Name**: VvvebJs - **Description**: VvvebJs是一个开源的网页拖拽自动生成的JavaScript库,你可以以简单拖拽的方式生成自己需要的网页样式,内置jquery和Bootstrap,你可以拖拽相关的组件进行网页 - **Primary Language**: JavaScript - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.oschina.net/p/vvvebjs - **GVP Project**: No ## Statistics - **Stars**: 266 - **Forks**: 105 - **Created**: 2019-08-09 - **Last Updated**: 2025-09-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # VvvebJs

Vvveb

Drag and drop page builder javascript library.
Built with Vanilla Js with no dependencies or build tools and Bootstrap 5

Website | Documentation | Forum | Twitter

## [Live Demo](https://www.vvveb.com/vvvebjs/editor.html) For a full featured Open Source CMS using VvvebJs page builder check [Vvveb CMS](https://github.com/givanz/Vvveb) Using [Vvveb landing page template](https://github.com/givanz/landing) for demo page and Bootstrap 5 sections and blocks. ### Features * Components and blocks/snippets drag and drop and in page insert. * Undo/Redo operations. * One or two panels interface. * File manager and component hierarchy navigation. * Add new page modal with template and folder options. * Live code editor with codemirror plugin syntax highlighting. * Image upload with example php script included. * Page download or export html or save page on server with example php script included. * Components/Sections/Blocks list search. * Bootstrap 5 components. * Media gallery with integrated CC0 image search and server upload support. * Image, video and iframe elements resize handles. * Elements breadcrumb for easier parent elements selection. * Full Google fonts list support for font selection. * Youtube, Google maps, Charts.js etc widgets. * Optional CKEditor plugin to replace builtin text editor. * Zip download plugin to download the page and all assets as zip file. * SVG Icon component bundled with hundreds of free icons. * Animate on scroll support for page elements. * Theme global typography and color pallette editor. By default the editor comes with Bootstrap 5 and Widgets components and can be extended with any kind of components and inputs. ## Install * Clone the repository ```bash #git 2.13+ git clone --recurse-submodules https://github.com/givanz/VvvebJs # older git versions git clone --recursive https://github.com/givanz/VvvebJs ``` * Pull changes ```bash git pull --recurse-submodules ``` ## Usage Clone the repository or download a release then open `editor.html` Because of browser iframe security you need to use a webserver such as apache/xampp and open `http://localhost/editor.html` To use the image upload or page save feature you need to have php installed. ## Docker ### Local development From VvvebJs folder run ```bash docker-compose up ``` ### Image Or run image ```bash docker run -p 8080:80 vvveb/vvvebjs ``` Open http://localhost:8080/editor.php or http://localhost:8080/editor.html ## Save page Save page function needs either php or node ### PHP If you use docker, xampp or a shared hosting account php should work without any change. Saving is done using [save.php](save.php) ### Node For node go to VvvebJs folder and run ```bash npm install express node save.js ``` Open http://localhost:8080/editor.html Saving is done using [save.js](save.js) ## [Landing template](https://github.com/givanz/landing) To make changes to template files or sections run the following commands from `demo/landing` folder ### Install gulp ```bash npm i ``` ### Generate html files Template html partials are located in `demo/landing/src` folder. ```bash npm run gulp ``` ### Watch for changes for development ```bash npm run gulp watch ``` ### Generate sections list for page builder Sections html files are located in `demo/landing/src/sections` folder grouped in folders with the section group name. ```bash npm run gulp sections ``` ### Generate blocks list Blocks html files are located in `demo/landing/src/blocks` folder grouped in folders with the blocks group name. ```bash npm run gulp blocks ``` ### Generate screenshots for sections ```bash npm run gulp screenshots ``` ## Usage ### Initialize example ```js