Redact is an Edje compiler written in Ruby.

Unlike the official Edje compiler, edje_cc, Redact doesn't read EDC code - it reads Ruby code instead. This means that Redact will allow you to write Edjes in a full-blown programming language.

So why is this a good thing?

With edje_cc, the only way to automate the creation of parts and/or programs is to use CPP macros, which are very limited feature-wise and hard to debug.

Also, it means that syntax errors won't go unnoticed anymore :)


Redact almost supports all of edje_cc's features. Losslessly compressed images aren't supported yet, as is the new event stuff.


The latest release is: 0.1.6


For installation instructions, please see README in the tarball.

Documentation is somewhat limited at the moment. Have a look at test/crossfade.rb (contained in the tarball) to get started. Also, see the online documentation for information about Redact's API.

Another good example for an Edje that's written with Redact is the rewrite of Multipass for Euphoria. To check out the code, run:

svn co multipass-eu

If you never worked with edje_cc before, I recommend to read Ben Rockwood's Edje book. The EFL Cookbook also contains EDC snippets - which can be applied to Redact, too, with some hacking :)

To compile your Edje, just run redact foo.rb -o foo.edj.

Feedback is very welcome! If you have a neat idea of what Redact could do to make writing Edjes even more fun, don't hesitate to tell me :)