Skip to content

davidamoros/plone.app.mosaic

 
 

Repository files navigation

Plone Mosaic

image

Plone Mosaic allows you to define global site layouts and override them on specific contents or sections. You can then compose the content of the page using the Mosaic editor.

The Mosaic editor lets you insert blocks (a.k.a. tiles) into the content of the page so that you can easily build custom composite pages for your contents on the fly.

Plone Mosaic works with Plone 4.3 and later.

The notable features (with the help of tiles and blocks) include:

  • custom layout behavior for Dexterity content types
  • WYSIWYG inline layout editor for custom content layouts
  • separation of layouts into site layouts and content layout
  • site layouts can be assigned per content and per site section
  • global content layouts can be bound as named views for Dexterity content types

Read the Mosaic Sprint report for more goals for Plone Mosaic and the package documentation for more details how to use this package.

image

Screencasts

Try a demo

Installation:

$ git clone https://github.com/plone/plone.app.mosaic
$ cd plone.app.mosaic
$ python bootstrap.py  # clean python 2.7 virtualenv recommended
$ bin/buildout

Startup:

$ bin/demo

To get started:

  • open a browser at http://localhost:55001/plone/++add++Document
  • login as admin with password secret
  • save the new page
  • from the Display-menu, select the new entry Custom layout
  • click Edit to see the new Mosaic Editor

Alternatively you can also use bin/instance fg.

Javascript development

The plone package uses a bundle, which can be compiled with Plone 5. In order to update it while working on JS you need to work on Plone 5 branch of buildout.coredev and the Mosaic PLIP:

$ git clone https://github.com/plone/buildout.coredev
$ cd buildout.coredev
$ python bootstrap.py
$ bin/buildout -c plips/plip-mosaic.cfg

Once you have created a Plone 5 site with plone.app.mosaic, you can build a static bundle with:

$ bin/instance run generate_gruntfile.py
$ npm install
$ grunt compile

Documentation screenshots

To script screenshots into the Sphinx documentation, use the development buildout:

$ git clone https://github.com/plone/plone.app.mosaic
$ cd plone.app.mosaic
$ python bootstrap.py  # clean python 2.7 virtualenv recommended
$ bin/buildout -c develop.cfg

To speed up your iterations, before compiling the docs, start the robot server with:

$ bin/robot-server plone.app.mosaic.testing.PLONE_APP_MOSAIC_ROBOT -v

With robot-server running, you can re-build the docs' screenshots relatively fast with:

$ bin/robot-sphinx docs html

Just add Debug keyword anywhere to pause the robot in the middle of the screenshot script and drop you into a Robot Framework REPL.

About

Plone Mosaic main repository

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 91.3%
  • Python 4.0%
  • CSS 3.0%
  • HTML 1.6%
  • Other 0.1%