diff --git a/DEVELOP.md b/DEVELOP.md index a489da1..696774f 100644 --- a/DEVELOP.md +++ b/DEVELOP.md @@ -6,14 +6,12 @@ Before starting make sure your development environment is properly set. See [Vol 1. Make sure you have installed `yo`, `@plone/generator-volto` and `mrs-developer` - $ npm install -g yo - $ npm install -g @plone/generator-volto - $ npm install -g mrs-developer + npm install -g yo @plone/generator-volto mrs-developer 1. Create new volto app - $ yo @plone/volto my-volto-project --addon @eeacms/volto-ims-theme - $ cd my-volto-project + yo @plone/volto my-volto-project --addon @eeacms/volto-ims-theme --skip-install + cd my-volto-project 1. Add the following to `mrs.developer.json`: @@ -28,25 +26,26 @@ Before starting make sure your development environment is properly set. See [Vol 1. Install - $ yarn develop - $ yarn + yarn develop + yarn 1. Start backend - $ docker run -d --name plone -p 8080:8080 -e SITE=Plone plone + docker pull plone + docker run -d --name plone -p 8080:8080 -e SITE=Plone -e PROFILES="profile-plone.restapi:blocks" plone ...wait for backend to setup and start - `Ready to handle requests`: - $ docker logs -f plone + docker logs -f plone ...you can also check http://localhost:8080/Plone 1. Start frontend - $ yarn start + yarn start 1. Go to http://localhost:3000 1. Happy hacking! - $ cd src/addons/volto-ims-theme/ + cd src/addons/volto-ims-theme/ diff --git a/README.md b/README.md index f250835..738f069 100644 --- a/README.md +++ b/README.md @@ -3,27 +3,43 @@ [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-ims-theme%2Fmaster&subject=master)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-ims-theme/job/master/display/redirect) [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-ims-theme%2Fdevelop&subject=develop)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-ims-theme/job/develop/display/redirect) -[Volto](https://github.com/plone/volto) add-on +[Volto](https://github.com/plone/volto) EEA IMS Volto Theme ## Features -### - -Demo GIF +![Volto IMS Theme](https://raw.githubusercontent.com/eea/volto-ims-theme/docs/docs/volto-ims-theme.png) ## Getting started -1. Create new volto project if you don't already have one: +### Try volto-ims-theme with Docker + +1. Get the latest Docker images ``` - $ npm install -g yo @plone/generator-volto - $ yo @plone/volto my-volto-project --addon @eeacms/volto-ims-theme + docker pull plone + docker pull plone/volto + ``` - $ cd my-volto-project - $ yarn add -W @eeacms/volto-ims-theme +1. Start Plone backend ``` + docker run -d --name plone -p 8080:8080 -e SITE=Plone -e PROFILES="profile-plone.restapi:blocks" plone + ``` + +1. Start Volto frontend -1. If you already have a volto project, just update `package.json`: + ``` + docker run -it --rm -p 3000:3000 --link plone -e ADDONS="@eeacms/volto-ims-theme" plone/volto + ``` + +1. Go to http://localhost:3000 + +### Add volto-ims-theme to your Volto project + +1. Make sure you have a [Plone backend](https://plone.org/download) up-and-running at http://localhost:8080/Plone + +1. Start Volto frontend + +* If you already have a volto project, just update `package.json`: ```JSON "addons": [ @@ -35,11 +51,19 @@ Demo GIF } ``` +* If not, create one: + + ``` + npm install -g yo @plone/generator-volto + yo @plone/volto my-volto-project --addon @eeacms/volto-ims-theme + cd my-volto-project + ``` + 1. Install new add-ons and restart Volto: ``` - $ yarn - $ yarn start + yarn + yarn start ``` 1. Go to http://localhost:3000 diff --git a/bootstrap b/bootstrap index 8b2c40f..8613750 100644 --- a/bootstrap +++ b/bootstrap @@ -1,5 +1,6 @@ const path = require('path'); const fs = require('fs'); +const ejs = require('ejs'); const currentDir = path.basename(process.cwd()); @@ -8,13 +9,23 @@ const bootstrap = function (ofile) { if (err) { return console.log(err); } - var result = data.replace(/volto-addon-template/g, currentDir); - - fs.writeFile(ofile, result, 'utf8', function (err) { + const result = ejs.render(data, { + addonName: `@eeacms/${currentDir}`, + name: currentDir + }); + const output = ofile.replace('.tpl', ''); + fs.writeFile(output, result, 'utf8', function (err) { if (err) { return console.log(err); } }); + if (ofile.includes('.tpl')) { + fs.unlink(ofile, (err) => { + if (err) { + return console.error(err); + } + }); + } }); }