Skip to content
/ wape Public

Website builder without coding, drag and drop elements on the page and customize it, then save it and use it as you want

License

Notifications You must be signed in to change notification settings

tchartron/wape

Repository files navigation

Wape

Web Application Page Editor

🚧 Work in progress project
Build website without coding, drag and drop elements and layouts on the page, responsive pages, different devices preview while building, export page as html/css or save content and provide access to it with an hosted api.
Offers different layouts and html predefined blocks.
Save portions of the page to re-use it in other pages (personnal block library)
Edit content, images, links, social buttons, ....
Add custom blocks and CSS styles

Usage

<div id="editor"></div>

<script type="text/javascript">
    new Wape({
        el: "#editor"
    });
</script>

Roadmap

  • Use Tailwind in iframe
  • Mitt event emmiter to remove $on
  • Don't rely on fontawesome cdn but serve it from here
  • Do not use templates.js
  • Make editor layouts (containers, layouts (DROPPABLE TARGETS))
  • Make editor elements (html elements (no forms elements for now))
  • Change bulma for utility framework and extend it for the editor use (tailwindcss)
  • Make the cloned element visible and with an opacity of .5 place it where it would be dropped if mouse is released
  • Make responsive previews

Back after a long break on the project

  • Migrate from webpack to rollup

  • @rollup/plugin-alias for import path aliases and config

  • rollup-plugin-vue for Vuejs SFC compilation

  • rollup-plugin-terser and condition to minify bundle for production builds

  • rollup-plugin-serve and condition to serve when using rollup watch

  • @rollup/plugin-node-resolve to resolve node_modules depencies such as Vue, Lodash, Mitt, ...

  • @rollup/plugin-commonjs to resolve commonjs exported modules (like lodash/isEmpty is using module.exports = isEmpty;)

  • @rollup/plugin-replace to fix process is not defined error (replaces 'process.env.NODE_ENV' with 'development')

  • rollup-plugin-postcss to import css in js and extract it to a file in /dist folder

  • rollup-plugin-copy to copy fontawesome folder to dist

  • Remove Rollup Html Plugin and Rollup Postcss plugin it's not doing what i want

  • Find solution for iframe.css / using rollup-plugin-copy for now

  • Fix JS errors

  • Add postcss directly and handle css /dist output and minification in npm scripts

  • Make postcss / http-server / rollup build work together with npm scripts and npm-run-all

  • Upgrade tailwind to last version and use npm package with postcss install

  • Clean the place : src/app/config folder if not used / old config files / webpack.config.js file / editor DragDrop, DragDropApi, DragDrop if not used / Js classes not used

  • Add support for custom CSS in editor (allow adding classes to elements once custom css is loaded in iframe)

  • Make settings customisation for components and elements (html attributes mostly (id / class / ...)) => Depends on component/element

  • Refactor a lot dragger class and especially RenderShadowElement function which is a big mess (+100 lines)

  • Review and maybe change the layouts.js / elements.js organization for clarity

  • Make style customisation for components and elements (css properties like display / borders / bg colors / text color / font size, weight, family / text alignment / line height, letter spacing, margin for blocks / padding for blocks / ...) => Depends on component/element maybe generate a combination of corresponding css classes to add to the element while customizing it (tailwind would be good for this)

  • Undo / Redo action

  • Make structure of the page view (maybe switch to it when dragging something in the page)

  • Make code exporting (full page or body only)

  • Make save options (Option to host final template in a personnal library provided by an API)

  • Ability to save parts of a template (like grouping elements)

  • Learn Jest

About

Website builder without coding, drag and drop elements on the page and customize it, then save it and use it as you want

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages