Actually, the concept of using a _dynamic_ tool to build static sites has just become of interest to me!
Until recently I only had to be concerned with the theory of building a web site. Now I'm faced with building a couple of small, but real, sites. Just the other day, I changed the name of one of the main html files and realized I'd also have to change the text where that file was linked in all the navigation menus that existed on every page. Gaaa! "Where is the 'include' functionality in HTML?"
Well, of course that's not where it is. The site I want to deploy isn't really "dynamic" at all. I just want the convenience, when I'm building it, of having repetitive parts that are common to many pages located in only ONE place.
While I don't know PHP, I bet I can figure out how to get include() to work for this simple case. So Allan's recent suggestion of how to process a PHP site that results in a static site was very interesting. I suppose you could use any kind of "preprocessor" that you wanted.
(By the way, "Persistent Includes" is a BBEdit thing. They're documented in the BBEdit manual in Appendix C: "Placeholders and Include Files.")
eo
On Mar 2, 2006, at 6:30 AM, csilver_junk@mac.com wrote:
Hello,
I've been a lurking member of this list for some time, but this is my first attempt at posting. I've been trying out TextMate in demo mode and plan to buy it because it's nearly perfect for the way I work, but I have a couple questions I'm hoping somebody could clear up for me.
I'm not a programmer, so please forgive me if my questions seem somewhat elementary. I do, however, use the Terminal quite often for shell commands, and I understand PHP well enough to write code for my own purposes. I prefer coding my web pages by hand, and I'm fluent in XHTML and CSS and competent in XSLT. I'm a bit anal about clean coding, usability, and accessibility (both for the end user and for me when writing my pages). For these reasons among others, I've been disappointed by virtually all of the website generation applications and/or scripts I've tried. It seems they require lots of convoluted configuration that just gets in my way. Besides, I'd rather just do it all myself with flat text files, using scripting just to generate the headers, footers, navigation, etc.
I'm not necessarily concerned with TextMate's ability to do the many super-complicated things it obviously can do, as I probably won't use most of it myself. However, I'm wondering if it has a feature similar to the Persistent Includes available in BBEdit. I have examined the manual and read about how to use snippets, templates, commands, and the like, and I understand how these could be used to make my life easier. The problem is that I haven't figured out if there's a way to re-parse an entire project or certain files within a project after I've made changes that will affect the output.
For instance, if I've used a script to output links to all the files contained in the directory (as a navigation menu of sorts) but later add more files to that same directory, I'd like to be able to re-generate the entire site so that those new files show up in the menu. Likewise, if I've generated prev/next links to other files in the same directory, I'd like to have them updated without having to manually type the new hyperlinks into each and every file of the site. I know I could use PHP or server-side includes or something similar (and I have written a simple php function to do just that), but I'd really like to generate static web pages because having dynamic pages online really isn't necessary for what I'm doing (also, I can upload the same files both to .Mac and to my virtual host, for example).
If nothing resembling Persistent Includes is available in TextMate, another viable option would be to auto-generate the output of an entire project but save it to a new directory on my system using the same hierarchy of the original project. That way, I can simply re-generate it whenever I need to. In fact, that would probably be a simpler solution than the Persistent Includes idea, but of course you all probably know much more about how to efficiently accomplish this than I do. Also, if anyone could point me in the direction of a good streamlined tutorial on how to use shell scripts in an environment such as TextMate, perhaps I can figure it out on my own. The TextMate manual is nice, but something more tutorial-like would help a lot.
Sorry for the long post - it actually started out longer with more details about my background and what I do, but I figured people may get annoyed, so I cut it. If I need to further clarify exactly what I need to accomplish, please ask, but I suspect most of you are quite familiar with BBEdit and know about how Persistent Includes work and how they differ from regular Includes.
Thanks,
Crystal