The Easy Web File Maker

homexbsdevdocsexamplenews

Development

It's great that you want to help improve the ewfm project and you've come to the right place!

I'll tell you all about how you can help us out!

Contribute code!

Our code is hosted on our Gitea instance, and is easily accessible, forkable and modifiable!

Themes!

Making themes is simple! We have a lot of examples of themes in this repository which will allow you to see how themes are set out!

The structure of a theme is fairly simple:

theme
+--- dist
|    \-- style.css
\--- template.html

dist and template.html are required to keep the same names, however anything inside the dist folder can be named whatever you want.

Themes must use themetags to provide their functionality, to find them look inside the source code of existing themes (template.html) or check out ewfm's source code. They are similar to usertags however can only be used in a theme template and use {} instead of $$.

Files in your theme's dist folder will always be copied to output/ewfm_theme so any resources you need from your dist folder should point to that folder, keeping in mind output will be the webroot (most likely /var/www/html).

ewfm can only see themes in its themes/ folder, so your theme should be in its own folder in said folder, e.g. 3box-nebula would be in themes/3box-nebula, the input's current theme is fetched from the site.conf file.

Processors!

Processors are plugins for ewfm that can be used to extend its feature set!

They can be made using any programming language and for many purposes. We have some examples of processors at this repository.

The bare structure of a proecssor looks like this:

proc
+--- pre.sh
|
\--- post.sh

pre.sh is ran if your processor is set as a pre-processors and post.sh is ran if your processor is ran as a post-processor.

These scripts can execute anything you want, your working directory is the directory where ewfm is.