Skip to main content

Misc helper-scripts for creating and expanding Plone-Add-Ons.

Project description


Yet another command-line Plone-Add-On-Generator, just the way I like it:

No dependencies, no possible conflicts, some Python-methods, that's all.

Most commands expect the path to the addon as last parameter and defaults
to the location where the command is executed. Do no matter where in the addon
you are, you can execute commands without the need to be in a certain expected
location or passing a path, for less typing.


pip install adi.devgen


pip install -e git+
pip install -e git+

Alternatively add `adi.devgen` as an egg to your buildout, then
the `devgen`-executable will be available in its bin-directory, of
which you can call it then, like: `./bin/devgen`.


If a file '~/.buildout/devgen.cfg' is present, values will be read of it and
inserted into the `` of a generated addon. Its format is expected to be like:

author=Arbi Trary




Type the command alone, to get a list of the available generator-functions:

$ devgen

To get a choosen function's help-text, type:

$ devgen [FUNCTION_NAME] help


Create boilerplate for an addon, that can do nothing, but be installed in a Plonesite:

$ devgen addProfile your.addon

Create it not in the directory, where you are, but somewhere else:

$ devgen addProfile some/where/else/your.addon

Register another addon as a dependency to your addon:

$ devgen addDep collective.bestaddonever some/where/your.addon

Or, first locate into your addon, then you can omit the appended path:

$ cd your.addon
$ devgen addDep collective.bestaddonever

By the way, most commands work of within any location inside of an addon
and no need to pass a path.

Register and add a browser-based stylesheet named 'main.css' in

$ devgen addCss

Register and add a browser-based Javascript named 'magic.js' in

$ devgen addJS magic

Register and add a browser-based Template named '' and a
Python-script named '' with an example how to retrieve a
computed value of the script in the template via TAL, in:

$ devgen addView

The view can then be called in a browser like this:


Where 'main' is the default name for the files, you can choose any other:

$ devgen addView any_other

That'll be:



- Regard more than one dotted namespace for addon.

- Possibly transfer:


0.9 (2015-11-18)

- Add addView().

- Add default-values of a function's expected arguments to help-msg.

- Fix path: Use dot instead of slash, for a resources' paths in

- Let getAddonPath() fail with an exit, to prevent further

- Rename addBrowserSkel() to addBrowser(), addSkinSkel() to addSkin,
and so on, for less typing.

- Fix addBrowser() and addSkin() from scratch – if not added on top of existing

- Improve addAndRegisterView().

0.8 (151002)

- Generate missing browser-slug in config.

- Change docs from MD-format to RST, as pypi requires.

- Add addCss() and addJs().

0.7 (150926)

- Fix missing import and typo in, which broke addons-installs.

0.6 (150923)

- Update README, improve installPlone().

0.5 (150921)

- Fix imports, better hlp-msgs, improve installPlone().

0.4 (150920)

- Update README

0.3 (150920)

- Fix changed import-paths.

0.2 (150920)

- Add adi.commons as dependency.

0.1 (150920)

- Initial release

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for adi.devgen, version 0.9
Filename, size File type Python version Upload date Hashes
Filename, size adi.devgen-0.9.tar.gz (22.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page