Most of my words were about PageTemplate, which honestly I haven’t looked at much in years.
year → 2002
Jul 11, 2002 (Updated Jul 11, 2002)Yep. Emacs, one of the shining stars of the GNU project and its philosophy of Free software. It’s sort of an editor, but if all you do is edit files with it, maybe you could be using something else. I am rather fond of NEdit and JEdit. I am also a longtime user of Vim - despite my occasional membership in the Church of Emacs. There are a lot of fine editors out there, and you will be quite productive working with any of them.
Jun 28, 2002 (Updated Jul 11, 2009)
Vim is one of the two major editors of the UNIX world. The other one is Emacs, which I am also quite fond of. Still, it’s hard to beat Vim. It may be awkward, ugly, and hard to use, but there’s just something inescapable about it. Regular expressions are a major part of the editing interface, which gives you a great deal of (admittedly cryptic) power.
Jun 2, 2002 (Updated Mar 22, 2015)Vital Information and Links Version 2.2.3 Project Page PageTemplate on RubyForge Instructions Start with installation PageTemplate 2.x is stable, but not well-tested or documented. Loads of new features were added by Greg Millam in short order, and testing / streamlining was completely derailed by daily life. I've been promising to work on PageTemplate 3.0 for years. Introduction PageTemplate is a Ruby package which allows you to utilize text templates for your Web projects.
Jun 2, 2002 (Updated Jul 11, 2009)If The if directive tells PageTemplate to only display a chunk of content when some condition is true. PageTemplate will skip the block and move on if the condition is false. Syntax [%if condition%] chunk [%end if %] Here is an example of if in use. #!html [%if pageowner %] <a href="admin.cgi">Admin View</a> [%end if %] In this example, if the application tells PageTemplate that pageowner is true, PageTemplate inserts a link to an administrative page.
Jun 2, 2002 (Updated Jul 11, 2009)Loop Basics The loop directive is the most complex, and requires more explanation of its details. Let’s start by just looking at the basic syntax of a loop in PageTemplate. Loop Use the loop directive when you want PageTempate to insert the same chunk repeatedly for a list of items. It can grab values from the item to be inserted in value directives within the chunk. If there is no list of items, the in chunk is skipped.
Jun 2, 2002 (Updated Jul 11, 2009)PageTemplate has a number of other features for the designer, and I couldn’t figure out where to put them. Let’s just dump them here until the day I do figure out where a good spot for them would be. Filter Filtering seemed so handy with variables that we thought it would be fun to have filtering as an independent action. All the contents of a filter block are passed through the named filter during output.
Jun 2, 2002 (Updated Jul 11, 2009)Who Are You? You are the esteemed Web Designer, aesthetically talented and perhaps artistically inclined. You know what makes a good Web page. You are not a programmer, though. It’s horrible when you have to go down to the caves where they keep the developers to explain where a simple login form belongs. You also don’t want to remember where their odd-looking programming code is supposed to go in your beautiful page.
Jun 2, 2002 (Updated Jul 11, 2009)Getting Started Before you dig into the code, you might want to take a look at the designer’s perspective of PageTemplate. Using PageTemplate In Your Ruby Code This is a very quick overview, because I just spent hours going over the designer documents and I’m a little tired. First, of course, you’ll want to install the PageTemplate package. Once that’s done, require the package. require 'PageTemplate' You’ll need a PageTemplate object to hold values and parse template files.
Jun 2, 2002 (Updated Nov 11, 2009)The major directives require variables, which are just names for the value your want inserted, checked, or otherwise accessed. It’s a good idea to use variable names that make sense(name for a person’s name, title for the title of the page, etc.). Value Substitution Substitution is the easiest concept to master. When PageTemplate comes across a value directive, it replaces that directive with some text. Syntax [%var variable%] Example <h1>Hello, [%var name%]</h1> Every time that PageTemplate sees [%var name%] in your template, it will replace that directive with the text associated with name.
Jun 1, 2002 (Updated Jul 11, 2009)
I say that I do not have a favorite programming language. If I did have a favorite language, it might be Ruby. I’ve been messing around with it randomly for a few years, and I am continually amazed by how easy it is to build programs with it. Ruby is a delight to work with. I’m not sure how to describe it, because it uses elements from so many great languages. Freak that I am, I’ve gone out and started fiddling with some of the languages that Ruby borrows from so I can use Ruby better.
Jun 1, 2002 (Updated Jul 18, 2011)I already talk a little bit on this site about the language tools I use, such as Perl, Ruby, and Python. There’s a section where I touch on the most important tool of a geek like me: the text editor. But coolnamehere needs a section for the smaller tools that I use everyday. They may have been born on UNIX-like operating systems, but they do not live exclusively in that environment.
May 29, 2002 (Updated Jul 11, 2009)
What can I say about Perl? I’ve had very little to talk about it on this site over the years, despite the fact that I use Perl on an almost daily basis. It’s not as cute as Ruby, or as clean as Python, but it’s always there. There have been numerous projects that are just plain easier in Perl. I can’t explain it.