I no longer program in C++, and use other tools for what I used to do with Orb. However, I know that a lot of people still use and enjoy Orb. Therefore, I am looking for someone (or ones) to take over Orb development. See the Orb page on SourceForge for details.
Orb is an HTML preprocessor designed to simplify creation and maintenance of complex web pages and sites. For example, this page is part of Craig Berry's home site, all of which is generated from Orb source files. The larger Ordo Templi Orientis U.S. Grand Lodge site is also coded in Orb.
Orb source files consist of HTML text with additional markers, which are processed by Orb to create pure HTML output files. As a result, existing HTML files can be simply renamed (from .html to .orb) to become Orb files, with internal changes to take advantage of Orb then made incrementally.
The most important features of Orb are:
|File Inclusion||As in C/C++ and other programming languages, you can put common HTML elements, variable definitions (see below), and so forth in "header files," which are then included by each Orb source file at a site. Changing the "look" of your site is then as easy as changing one header file and recompiling!|
|Symbolic Variables||Nothing is more annoying than re-entering a long link reference which occurs multiple times across many pages at a site. Even if you use an HTML editor to simplify this task, you're still in trouble if the link address changes; this requires manual editting of each link instance...if you can find them all. Orb allows you to define symbolic variable names for commonly used addresses, HTML elements, copyright notices, or whatever; put these in a common header, and suddenly your maintenance problem is solved. Variables may be "nested" freely -- see the example included with the source distribution for an example.|
|Time Formatting||Orb provides built-in support for encoding the date and time of HTML file creation in any desired format, using local or GMT time. This makes it easy to "time stamp" your documents with last-revision information automatically, without relying on SSI support from your web server.|
|Conditional content generation||Often you'll want to create sites sharing common structural elements with just a few variances from page to page. Orb makes this easy using conditional compilation. As demonstrated in the example files, it's easy to create configurable options for things like page titles and background colors, with or without default values.|
Should you come up with useful changes or additions to Orb, I would very much appreciate your sending them to me, so I can incorporate them in future 'standard' Orb releases.
Also, I need help getting binary versions of Orb for people who want to use the program, but have no C++ compiler on their systems. If you build Orb for a system you don't see listed below under Binaries, please email me a copy at firstname.lastname@example.org.
I recommend getting the Orb source distribution
(38k) and building it on your own machine. Simply unzip the archive into an
empty directory, then run GNU make; an executable version of Orb should
be created. If the make process doesn't work for you, compiling by hand is easy;
if (for example) your C++ compiler is named gcc, you can just issue the command:
gcc -o orb *.cc *.c
If you build for a system not on the binaries list below, please send me a copy, identifying the OS (with version number) you built it under.
I welcome comments, questions, suggestions, and bug reports from users of Orb. My email address is email@example.com.
Anyone wishing to link to this page is cordially invited to use this Orb icon. Such links should lead to http://www.cinenet.net/~cberry/orbinfo.html