{"_id":"vvvebjs","_rev":"6-6834d84399ec1953436dc501ffc45a3e","name":"vvvebjs","dist-tags":{"latest":"2.0.9"},"versions":{"0.0.1":{"name":"vvvebjs","version":"0.0.1","keywords":["vvvebjs","drag-drop","drag&drop","drag","drop","wysiwyg","web","template","editor","site","builder"],"author":{"name":"Ziadin Givan"},"license":"Apache-2.0","_id":"vvvebjs@0.0.1","maintainers":[{"name":"givanz","email":"givanz@gmail.com"}],"homepage":"http://www.vvveb.com/vvvebjs/editor.html","bugs":{"url":"https://github.com/givanz/VvvebJs/issues"},"dist":{"shasum":"95c8091dffeb034690253e3a810ab8cf29bb0992","tarball":"https://registry.npmjs.org/vvvebjs/-/vvvebjs-0.0.1.tgz","integrity":"sha512-ruyBFRDHeHkg1ATbjbhOhudbTCLGyUpPcRHkzcfCLTOQV5MI9JvSLlko780Ww8ttVjnSSmRFpvWWPIwk86QCFw==","signatures":[{"sig":"MEUCIDapxbnppy8p2uxRTrbEKN384zuQF7UOUz+rmZfMOqH9AiEAltNC1q59KRdRJAbC5nUjslVfHq7x2vGq2AoY4Lbsr6U=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"libs/builder/builder.js","_from":".","_shasum":"95c8091dffeb034690253e3a810ab8cf29bb0992","gitHead":"f4b2432ecaeb0159bda4cf32277d7d9124803656","scripts":{},"_npmUser":{"name":"givanz","email":"givanz@gmail.com"},"repository":{"url":"git+https://github.com/givanz/VvvebJs.git","type":"git"},"_npmVersion":"3.5.2","description":"Drag and drop website builder javascript library","_nodeVersion":"4.7.2","dependencies":{"jquery":"^3.0"},"_npmOperationalInternal":{"tmp":"tmp/vvvebjs-0.0.1.tgz_1517067282177_0.2436784233432263","host":"s3://npm-registry-packages"},"directories":{}},"2.0.7":{"name":"vvvebjs","version":"2.0.7","keywords":["vvvebjs","drag-drop","drag&drop","drag","drop","wysiwyg","web","template","editor","site","builder"],"author":{"name":"Ziadin Givan"},"license":"Apache-2.0","_id":"vvvebjs@2.0.7","maintainers":[{"name":"givanz","email":"givanz@gmail.com"}],"homepage":"https://www.vvveb.com/vvvebjs/editor.html","bugs":{"url":"https://github.com/givanz/VvvebJs/issues"},"dist":{"shasum":"4283d9f9c340298d3fd4c77ec1b069bf9a54d5a4","tarball":"https://registry.npmjs.org/vvvebjs/-/vvvebjs-2.0.7.tgz","fileCount":493,"integrity":"sha512-hHryDWca4jY/cBgLnvdAdcl888IRHSP2gVAIN1YQEsZnDweA8kYwB0AZdZ+l1wmmuWxH4CtHKEUEiV/xe2SYGQ==","signatures":[{"sig":"MEUCIBmMtkJhEbcfhDkJWDnFI1wQGdxdN5FNBlKGzyeyhqOqAiEAw0HbA/W+NU+sc0zYYn9XTnKqOnIrXfNQ49HOp74hMn8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18728276},"main":"libs/builder/builder.js","scripts":{"gulp":"gulp","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"givanz","email":"givanz@gmail.com"},"repository":{"url":"git+https://github.com/givanz/VvvebJs.git","type":"git"},"_npmVersion":"10.9.7","description":"Drag and drop website builder javascript library","directories":{},"_nodeVersion":"22.22.2","dependencies":{"express":"^4.19.2"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.2","sass":"^1.60.0","gulp-sass":"^5.1.0","node-sass":"^8.0.0","gulp-format-html":"^1.2.5","gulp-file-include":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/vvvebjs_2.0.7_1782655257480_0.2261470253773603","host":"s3://npm-registry-packages-npm-production"}},"2.0.8":{"name":"vvvebjs","version":"2.0.8","keywords":["vvvebjs","drag-drop","drag&drop","drag","drop","wysiwyg","web","template","editor","site","builder"],"author":{"name":"Ziadin Givan"},"license":"Apache-2.0","_id":"vvvebjs@2.0.8","maintainers":[{"name":"givanz","email":"givanz@gmail.com"}],"homepage":"https://www.vvveb.com/vvvebjs/editor.html","bugs":{"url":"https://github.com/givanz/VvvebJs/issues"},"dist":{"shasum":"01b2276da6bdf8eed87179848850011e4554da96","tarball":"https://registry.npmjs.org/vvvebjs/-/vvvebjs-2.0.8.tgz","fileCount":496,"integrity":"sha512-oK6hrkHeRTfm3IzFVSF/XV/3sqCqewKzBaa0/w7Rycb4KBf57aScJ1t/Ca7n56LiwuoHYKVbs5ckMtBDKWUFSQ==","signatures":[{"sig":"MEUCIGPn1BTtNZBS9705J7YDJ3I2HnbWfV4kteoHEfYKFly+AiEA/hcLJS6btB+SwxO3sX59K7eTIUW2pFkQrU/nwH6rddI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19179423},"main":"libs/builder/builder.js","scripts":{"gulp":"gulp","test":"echo \"Error: no test specified\" && exit 1"},"_npmUser":{"name":"givanz","email":"givanz@gmail.com"},"repository":{"url":"git+https://github.com/givanz/VvvebJs.git","type":"git"},"_npmVersion":"10.9.7","description":"Drag and drop website builder javascript library","directories":{},"_nodeVersion":"22.22.2","dependencies":{"express":"^4.19.2"},"_hasShrinkwrap":false,"devDependencies":{"gulp":"^4.0.2","sass":"^1.60.0","gulp-sass":"^5.1.0","node-sass":"^8.0.0","gulp-format-html":"^1.2.5","gulp-file-include":"^2.3.0"},"_npmOperationalInternal":{"tmp":"tmp/vvvebjs_2.0.8_1782663456526_0.47473306364844703","host":"s3://npm-registry-packages-npm-production"}},"2.0.9":{"name":"vvvebjs","description":"Drag and drop website builder javascript library","version":"2.0.9","author":{"name":"Ziadin Givan"},"license":"Apache-2.0","homepage":"https://www.vvveb.com/vvvebjs/editor.html","main":"libs/builder/builder.js","repository":{"type":"git","url":"git+https://github.com/givanz/VvvebJs.git"},"dependencies":{"express":"^4.19.2"},"keywords":["vvvebjs","drag-drop","drag&drop","drag","drop","wysiwyg","web","template","editor","site","builder"],"scripts":{"gulp":"gulp","test":"echo \"Error: no test specified\" && exit 1"},"devDependencies":{"gulp":"^4.0.2","gulp-file-include":"^2.3.0","gulp-format-html":"^1.2.5","gulp-sass":"^5.1.0","node-sass":"^8.0.0","sass":"^1.60.0"},"_id":"vvvebjs@2.0.9","bugs":{"url":"https://github.com/givanz/VvvebJs/issues"},"_nodeVersion":"22.22.2","_npmVersion":"10.9.7","dist":{"integrity":"sha512-GbJFsAM2wpciS0QITz1s3KQywS3KyH4a6gTc2C5RxuFg0yk33U7uGchffNnAICg2eL4+lHM2jnzmytsklr9vqg==","shasum":"b41af42a5ddef4b3fe1d1424cb996369c0849475","tarball":"https://registry.npmjs.org/vvvebjs/-/vvvebjs-2.0.9.tgz","fileCount":502,"unpackedSize":19188337,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIHLOqK9cgtjIjLxQw7prPHBe5vufxnaukarpO7ydrelvAiEApgwAqXZSDS5UILGzb2ObnyEad0Zm06cjaWXQOaRx5n0="}]},"_npmUser":{"name":"givanz","email":"givanz@gmail.com"},"directories":{},"maintainers":[{"name":"givanz","email":"givanz@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/vvvebjs_2.0.9_1782825680327_0.37195795646273067"},"_hasShrinkwrap":false}},"time":{"created":"2018-01-27T15:34:44.693Z","modified":"2026-06-30T13:21:20.839Z","0.0.1":"2018-01-27T15:34:44.693Z","2.0.7":"2026-06-28T14:00:57.854Z","2.0.8":"2026-06-28T16:17:36.846Z","2.0.9":"2026-06-30T13:21:20.645Z"},"bugs":{"url":"https://github.com/givanz/VvvebJs/issues"},"author":{"name":"Ziadin Givan"},"license":"Apache-2.0","homepage":"https://www.vvveb.com/vvvebjs/editor.html","keywords":["vvvebjs","drag-drop","drag&drop","drag","drop","wysiwyg","web","template","editor","site","builder"],"repository":{"type":"git","url":"git+https://github.com/givanz/VvvebJs.git"},"description":"Drag and drop website builder javascript library","maintainers":[{"name":"givanz","email":"givanz@gmail.com"}],"readme":"# VvvebJs\n\n<p align=\"center\">\n  <img src=\"https://www.vvveb.com/admin/themes/default/img/biglogo.png\" alt=\"Vvveb\">\n  <br><br>\n  <strong>Drag and drop page builder javascript library.</strong>\n  <br>\n  <span>Built with Vanilla Js with no dependencies or build tools and Bootstrap 5</span>\n</p>\n<p align=\"center\">\n  <a href=\"https://www.vvveb.com\">Website</a> |\n  <a href=\"https://github.com/givanz/VvvebJs/wiki\">Documentation</a> |\n  <a href=\"https://github.com/givanz/VvvebJs/discussions\">Forum</a> |\n  <a href=\"https://twitter.com/vvvebcms\">Twitter</a> \n</p>\n\n\n## [Live Demo](https://www.vvveb.com/vvvebjs/editor.html)\n\nFor a full featured Open Source CMS using VvvebJs page builder check [Vvveb CMS](https://github.com/givanz/Vvveb)\n\nUsing [Vvveb landing page template](https://github.com/givanz/landing) for demo page and Bootstrap 5 sections and blocks.\n\n<img src=\"https://www.vvveb.com/img/dark-theme.png\">\n<img src=\"https://www.vvveb.com/img/light-theme.png\">\n\n### Features\n\n* Components and blocks/snippets drag and drop and in page insert.\n* Undo/Redo operations.\n* One or two panels interface.\n* File manager and component hierarchy navigation.\n* Add new page modal with template and folder options.\n* Live code editor with codemirror plugin syntax highlighting.\n* Image upload with example php script included.\n* Page download or export html or save page on server with example php script included.\n* Components/Sections/Blocks list search.\n* Bootstrap 5 components.\n* Media gallery with integrated CC0 image search and server upload support.\n* Image, video and iframe elements resize handles.\n* Elements breadcrumb for easier parent elements selection.\n* Full Google fonts list support for font selection.\n* Youtube, Google maps, Charts.js etc widgets.\n* Optional CKEditor plugin to replace builtin text editor.\n* Zip download plugin to download the page and all assets as zip file.\n* SVG Icon component bundled with hundreds of free icons.\n* Animate on scroll support for page elements.\n* Theme global typography and color pallette editor.\n\n\nBy default the editor comes with Bootstrap 5 and Widgets components and can be extended with any kind of components and inputs.\n\n## Install\n\n* Clone the repository \n```bash\n#git 2.13+ \ngit clone --recurse-submodules https://github.com/givanz/VvvebJs\n\n# older git versions \ngit clone --recursive https://github.com/givanz/VvvebJs\n```\n\n* Pull changes \n```bash\ngit pull --recurse-submodules\n```\n\n## Usage\n\nClone the repository or download a release then open `editor.html`\n\nBecause of browser iframe security you need to use a webserver such as apache/xampp and open `http://localhost/editor.html`\n\nTo disable browser security and open `editor.html` without installing a webserver run chrome with\n\n```bash\nchrome --disable-web-security --user-data-dir=/tmp/temporary_profile editor.html\n```\n\nTo use the image upload or page save feature you need to have php installed.\n\n\n## Docker\n\n### Local development\n\nFrom VvvebJs folder run\n\n```bash\ndocker-compose up\n```\n\n### Image \n\nOr run image \n\n```bash\ndocker run -p 8080:80 vvveb/vvvebjs\n```\n\nOpen http://localhost:8080/editor.php or http://localhost:8080/editor.html\n\n## Save page\n\nSave page function needs either php or node\n\n### PHP\n\nIf you use docker, xampp or a shared hosting account php should work without any change.\n\nSaving is done using [save.php](save.php)\n\n### Node\n\nFor node go to VvvebJs folder and run\n\n```bash\nnpm install express\nnode save.js\n```\n\nOpen http://localhost:8080/editor.html\n\nSaving is done using [save.js](save.js)\n\n\n## [Landing template](https://github.com/givanz/landing)\n\nTo make changes to template files or sections run the following commands from `demo/landing` folder\n\n### Install gulp\n\n```bash\nnpm i\n```\n\n### Generate html files\n\nTemplate html partials are located in `demo/landing/src` folder.\n\n```bash\nnpm run gulp\n```\n\n### Watch for changes for development\n\n```bash\nnpm run gulp watch\n```\n\n### Generate sections list for page builder\n\nSections html files are located in `demo/landing/src/sections` folder grouped in folders with the section group name.\n\n```bash\nnpm run gulp sections\n```\n\n### Generate blocks list\n\nBlocks html files are located in `demo/landing/src/blocks` folder grouped in folders with the blocks group name.\n\n```bash\nnpm run gulp blocks\n```\n\n### Generate screenshots for sections\n\n```bash\nnpm run gulp screenshots\n```\n\n## Usage\n\n### Initialize example\n\n\n```js\n<!-- bootstrap-->\n<script src=\"js/popper.min.js\"></script>\n<script src=\"js/bootstrap.min.js\"></script>\n\n<!-- builder code-->\n<script src=\"libs/builder/builder.js\"></script>\t\n<!-- undo manager-->\n<script src=\"libs/builder/undo.js\"></script>\t\n<!-- inputs-->\n<script src=\"libs/builder/inputs.js\"></script>\t\n<!-- components-->\n<script src=\"libs/builder/components-bootstrap5.js\"></script>\t\n<script src=\"libs/builder/components-widgets.js\"></script>\t\n\n<script>\nlet pages = [\n {\n\tname:\"narrow-jumbotron\", \n\ttitle:\"Jumbotron\", \n\turl: \"demo/narrow-jumbotron/index.html\", \n\tfile: \"demo/narrow-jumbotron/index.html\"\n  },\n  {name:\"landing-page\", title:\"Landing page\", url: \"demo/landing/index.html\", file: \"demo/landing/index.html\"},\n];\n\t\n\nlet firstPage = Object.keys(pages)[0];\nVvveb.Builder.init(pages[firstPage][\"url\"], function() {\n\t//load code after page is loaded here\n});\n\nVvveb.Gui.init();\nVvveb.FileManager.init();\nVvveb.SectionList.init();\nVvveb.Breadcrumb.init();\n\nVvveb.FileManager.addPages(pages);\nVvveb.FileManager.loadPage(pages[firstPage][\"name\"]);\nVvveb.Gui.toggleRightColumn(false);\nVvveb.Breadcrumb.init();\n\n<script>\n```\n\nFor editor html and components/input javascript templates edit [editor.html](editor.html)\n\nFor css changes edit [scss/editor.scss](scss/editor.scss) and [scss/_builder.scss](scss/_builder.scss)\n\n\n### Scss\n\nTo compile scss to css first install gulp \n\n```bash\nnpm i\n```\n\nThen you can run \n\n```bash\nnpm run gulp\n```\n\nor use watch to compile on file change.\n\n```bash\nnpm run gulp watch\n```\n\n## Wrappers\n\n* [React](https://github.com/VvvebJs/react) VvvebJs React wrapper\n\n## Documentation\n\nFor documentation check the [wiki](https://github.com/givanz/VvvebJs/wiki)\n\n## Support\n\nIf you like the project you can support it with a [PayPal donation](https://paypal.me/zgivan) or become a backer/sponsor via [Open Collective](https://opencollective.com/vvvebjs)\n\n\n<a href=\"https://opencollective.com/vvvebjs/sponsors/0/website\"><img src=\"https://opencollective.com/vvvebjs/sponsors/0/avatar\"></a>\n<a href=\"https://opencollective.com/vvvebjs/backers/0/website\"><img src=\"https://opencollective.com/vvvebjs/backers/0/avatar\"></a>\n\n## License\n\nApache 2.0\n","readmeFilename":"README.md"}