I’m now using the release WordPress 1.0 to generate the content area of this weblog. (The headers, footers, site navigation, and subscription list are generated by ShearerSite.)
In many ways, it’s going from one extreme to the other. My own system is based on static rendering without a database, to the point that the original data itself is kept in RSS-compliant XML files on the site, and HTML files are generated from those. So there’s no programmatic server overhead for retrieval, but there is for authoring, since all the dependent pages have to be re-rendered on the spot. I’m still a fan of this type of system, but I wanted to try something different. WordPress is about as different as you can get: by default, it runs a battery of regular expressions–dozens upon dozens of them–over each post to format it at retrieval time. (Some kind of static caching may be on its way, though, judging from hints in the database schema.) The administration interface is mostly very good, making it much easier to perform administration tasks such as adding new categories than my homegrown config-file-based system did.
Pros of WordPress: very hackable (the good way, by the site owner); terrific setup routines; good navigation controls, easy to set up; well-rounded feature set.
Cons: frequently passes HTML through finicky regular expressions; too much use of addslashes() for my taste, including some double applications; a few bugs in 1.0 (though, to be fair, 1.0.1 final is imminent).
Some changes I made to my own copy include:
- Improvements for source code posting, as well as XHTML validity. Made some changes in the regular expressions in the wptexturize and wpautop filters. Unmodified, they kept turning some my posts into invalid XHTML by adding an extra </p> tag. I also had some problems with snippets of source code that I posted. WordPress’s filters would get too smart, and try to produce curly quotes around strings, as well as em dashes before AppleScript comments. They would also tend to double-space the code, because newlines were turned into <br /> and a newline by wpautop, and the pre element honors both. I modified the code so that any filter could (optionally) avoid <pre> sections in the content, letting them go through unmodified. I did this using a loop and, much as I hated to add them, two more regular expressions.
- Site-relative blog home page links, to handle my unorthodox split-directory setup.
- Minor permalink change, to send out two-digit days and months.
- RSS import and synchronization. (I already contributed my RSS 0.9/1.0/2.0 import and sync. code to the WordPress project, but it was far too near the 1.0 series’ release date to make it in.)
January 24th, 2004 at 10:19 AM
Would you mind posting the code autop messed up to this page?
http://wiki.wordpress.org/index.php/autop-bugs
That would be considered a bug and I’d like to fix it.
January 24th, 2004 at 1:52 PM
I’m preparing reduced test cases for the autop problem (I just have to disable my own workaround to make sure the cases still trigger it) and will post them. The problem showed up on two of my imported posts.
Thanks, Matt, for all your hard work and great results!
March 30th, 2004 at 6:40 AM
Hi Andrew
Does all this mean I shouldn’t spend time evaluating ShearerSite?
Neil
March 30th, 2004 at 11:19 PM
Yes, by all means evaluate ShearerSite–its functionality is very different from that of WordPress. ShearerSite maintains and updates statically-applied templates on content pages (which themselves can be static HTML files or dynamic pages, such as the WordPress index page), and also maintains navigation links, aggregates RSS news, and provides a simple Web maintenance interface. It also provides automatic conversion of Office documents to PDF format with the addition of some third-party software.
WordPress, on the other hand, powers the content area of weblogs, and is very good at it. If your entire site is a weblog, you might as well skip ShearerSite and just paste in the header and footer into index.php manually. Since the site is essentially a single dynamic page, a template system would probably be overkill. If your site is more than a weblog, and you’d like to share headers and footers, ShearerSite will fit the bill.
The part of ShearerSite that I had stopped using here for the time being was an experimental feature that put a full-blown auto-archiving weblog on my public site, but this was never advertised as a feature or even documented. I switched this weblog to WordPress to try the package out before using it on some other sites I maintain.
So don’t think of ShearerSite as a weblogging tool in its own right. Use it as a site maintenance tool that meshes particularly well with traditional filesystem-based HTML/ASP/PHP/JSP publishing, and doesn’t tie you down to a proprietary CMS structure or database.
March 31st, 2004 at 12:40 AM
Thanks for that full reply. I will continue.
In the meantime I have posted a bug - with a fix - on Sourceforge.