The definitive source of the best
JavaScript libraries, frameworks, and plugins.

  • ×

    Midgard Create, a generic web editing interface for any CMS
    Filed under 

    • 🔾54%Overall
    • 2,469
    • 40.6 days
    • 🕩281
    • 👥18

    Create - On-site web editing interface Build Status Greenkeeper badge

    Create logo

    Create, from the Midgard Project, is a comprehensive web editing interface for Content Management Systems. It is designed to provide a modern, fully browser-based HTML5 environment for managing content. Create can be adapted to work on almost any content management backend.

    Midgard Create user interface, in March 2011 Midgard Create user interface, in March 2011

    Create.js is built on top of VIE, the semantic interaction library powered by Backbone.js. The widgets in Create.js itself are done with the jQuery UI tools.

    Cross-browser testing status


    • Making RDFa-annotated content on pages editable
    • Managing collections of content (add, remove)
    • Local, in-browser storage and retrieval of unsaved content
    • Adaptable connector for communicating with the back-end system
    • Running workflows (approval, etc.) for content items
    • Browsing and reverting content history
    • Easy rebranding of the interface with some CSS
    • Can be used as-is, or as a toolkit for a custom CMS UI

    Integrating Create with your CMS

    Please refer to the Create.js Integration Guide.

    PHP developers should also check out CreatePHP. For easier Node.js integration there is contentblocks.

    Future plans


    Building Create

    Create.js uses a build system running on Node.js, so you'll need that. Install the build dependencies with:

    $ npm install

    Use the supplied to generate the merged JavaScript file for Create:

    $ grunt build

    You can also generate a simplified version that only includes the inline editing features:

    $ grunt editonly

    Note: the grunt command is part of the Grunt package. You can either run it from ./node_modules/.bin/grunt or install it globally via npm install -g grunt-cli.

    Read more


    Similar projects

    Editor alternatives

    The default rich text editor shipping with Create is Hallo, an MIT-licensed editing widget.

    You can also use other editor options under their own licensing schemes, or integrate something else.

    Using Aloha Editor

    By default, Create uses the Hallo Editor. To use Create with Aloha Editor you need to:

    Using Aloha Editor with Create is covered by Aloha's FOSS License Exception:

    Aloha Editor’s Free and Open Source Software ("FOSS") License Exception allows developers of FOSS applications to include Aloha Editor with their FOSS applications. Aloha Editor is typically licensed pursuant to version 3 of the General Afero Public License ("AGPLv3"), but this exception permits distribution of Aloha Editor with a developer’s FOSS applications licensed under the terms of another FOSS license listed below [MIT license is included], even though such other FOSS license may be incompatible with the AGPLv3.

    Using Redactor

    You need to acquire a Redactor license and include the editor JavaScript and CSS files into your pages separately. Then you can set Create to use Redactor for particular areas by using the redactorWidget editor option.


    The whole Create.js user interface can be translated to different languages.

    To contribute a translation, copy the English localization file and replace the values there with your language. Then send the file via a pull request.

    Changes to strings used by Create.js will be announced on the mailing list, so it is a good idea to subscribe to it if you make translations.

    Running Unit Tests in browser

    Direct your browser to the test/index.html file to run Create's QUnit tests.

    Headless unit tests on PhantomJS

    PhantomJS test automation is part of the project's build configuration:

    $ grunt test


    $ npm test

    Continuous integration

    Create uses Travis for continuous integration. Simply add your fork there and every time you push you'll get the tests run. See our Travis build page for more information.

    Show All