Ego (unconfigured) · Journal · Manual · FAQ
Nota bene: the manual pages have not been updated completely from the prototyped version to the current version.

Ego’s file tree

Your Ego software library is in one of two places. Either it’s in a local—probably user home directory—or in your regular Perl library @INC path. Either one is fine.

/root
     /default
             /blurb
             /body
             /form
             /fragment
             /head
             /meta
             /page
             /static
                    /css
                        /screen
                    /img
                        /…various…
             /widget
             /wrapper
     /install
             /manual (the pages you’re reading right now)

Biggest things to keep in mind

Do not edit files inside any directory except the one you specify in your $ENV{EGO_CUSTOM}. To change the default behavior in your site, edit a file in $ENV{EGO_CUSTOM}/… that corresponds to a file in /default.

For example, if something offends your sensibilities about the file /root/default/head/xhtml_1_0_trans_utf8 and you want to change it. You could change it, of course—it’s your file system—but you should not.

You could also create a new one, my_much_better_header, and edit any file that uses xhtml_1_0_trans_utf8 to use your new file. But you should not.

Instead, you should create a new xhtml_1_0_trans_utf8 in the $ENV{EGO_CUSTOM}/head/ dir and it will take precendence over the default. This has a couple advantages.

You will always have your default, baseline templates. So no matter how badly you mess up your own custom templates, fixing your site is as easy as erasing the new files. It also means that as Ego is upgraded or bugs are fixed, the default files can be patched and updated. That simply isn’t possible in templates that have been edited extensivel.

# do NOT edit this
/root/default/head/xhtml_1_0_trans_utf8

# instead, edit this:
$ENV{EGO_CUSTOM}/head/xhtml_1_0_trans_utf8
/root
The root directory is where all your Ego files go. This includes templates and configuration information like the database connection and site name.
/root/body
Where XHTML page bodies go. No head, page fragments, or meta information should go in this folder.
/root/blurb
A short content oriented fragment of XHTML or plain text.
/root/custom
The only place you should edit or add files. You can supersede anything in the normal file tree by making a file of the same name and relative path in /custom.
/root/form
Forms are a special case compared with regular XHTML bodies so they get their own section. Anything that contains a <form> tag goes here.
/root/fragment
Bigger and more general purpose than a blurb, more content oriented than a widget. This is where sidebar pieces should go.
/root/head
asdf
/root/manual
asdf
/root/meta
asdf
/root/static
asdf
/root/static/css
asdf
/root/static/img
asdf
/root/widget
asdf
/root/wrapper
asdf
/root/321
asdf
Ego driven
Ego · Catalyst · Apache · FastCGI · CPAN · modperl · Template Toolkit · Perl