Various "Abouts"
About my reading tastes:
For a quicker sense of my tastes than just browsing around here, try these lists over at my LiveJournal:
About this booklog's purpose:
The day before I decided to start this, someone asked me, "So what have you read recently that's good?" I was a little boggled to have trouble remembering, not only what I'd read that was good, but what I'd read, period.
Upon reflection, I realized that I seem to have this problem a lot, and so I decided I would keep track of what I'd been reading. Originally, I thought it would just be for my own reference—when did I first read that, do I really read that many books in a year, that kind of thing. Then I thought of something else, the number of book reviews I'd planned to do but hadn't, yet. Since I would probably end up noting opinions on the books in my log anyway, and since this might, in theory, be of interest to some people—even if not as helpful as a full review—I decided to put it up on the web. A little brainstorming for a good title [*], a little poking around other people's web logs, and Outside of a Dog was born.
[*] Out of the same initial conversation, and the same brainstorming session, came The Library of Babel by Chad Orzel, my now-husband.
Thus, my goal for this site is to write something about every book I read. The level of formality and detail varies, and indeed the "something" may just be a comment on the original entry if I've nothing new to say, but if you want to know more, that's what the comments are for. (Thoughts about more than one book, or books generally, tend to go on my LiveJournal.) To find posts, either search or browse the genre and series indexes; see the sidebar for those and much more.
About this booklog's implementation:
Cookies are required for the style switcher, and javascript for the live comment previews. The site functions without either, however.
The site currently runs on Movable Type 3.34. Implementation notes follow, mostly for my own reference, though template code and other help is available on request.
General
- The blog is published statically. The sidebar, with its live-updating "recent comments" list, is a PHP include.
- The style switcher is modified from this A List Apart article, and applied to tag and search pages through this workaround.
- Proper relative links are obtained by using "base href=" in the head of the document.
- Tag searches are returned in alphabetical order, rather than the default chronological order, by adding "&SearchSortBy=title&ResultDisplay=ascend" to the end of the .htaccess file described at the 3.3 beta blog.
- Conditional display of tags is done through PHP:
<?php $tc = "<MTTagCount>"; ?>
<?php
if($tc >= "2") { echo '<li style="margin-bottom: 0em; margin-left: 0em;">all posts about <a href="/weblog/tag/<$MTTagName encode_url="1"$>"><MTTagName></a> (<MTTagCount> total)</li>'; }
?> - The "add a comment / 1 comment / # comments" is also done through PHP:
<?php $cc = "<MTEntryCommentCount>"; ?>
<?php
if($cc == "0") { echo 'add a comment'; }
if($cc == "1") { echo '1 comment'; }
if ($cc > "1") { echo '<MTEntryCommentCount> comments'; }
?>(Non-PHP method: MTEntryIfComments.)
- The "random entry" link is generated by outputting this template to random.php (originally by orange haired boy).
- RSS feeds for new comments on individual entries were adapted from Phil Ringnalda's post for a prior version of RSS.
- MTCommentAuthorLink has an undocumented "no_redirect" argument that needed to be set when "nofollow" was turned off.
Plugins
- Page display:
- Sub-Category Counting provides the numbers within each sub-category on the sidebar, and on the all-categories page.
- FirstNWords lets me list just the first word of an entry's title in the "recently commented" portion of the sidebar.
- ArchiveYear provides the yearly archives (under 2005/ , etc.).
- MTResolveURLs expands relative URLs in my syndication feeds so that links don't break.
- Anti-spam:
- Comment E-Mail Filter gets frequent commenters through the spam filters automatically based on their e-mail address.
- Spam Firewall reduces the load on the server by blocking very common spam before it's processed by MT.
- AcceptCommentsPings allows easy disabling of comments on selected entries.
- Administrative convenience:
Prior Implementations
- MT Dynamic Publishing: When I first switched to MT in September 2005, I published the blog dynamically. I moved hosts in April 2006 and dropped dynamic publishing when I couldn't get it to work again. (There really wasn't much reason for me to do so; see this pros and cons article.) The only implementation differences were (a) the above plugins only work on static pages, so I had to selectively publish some things statically; and (b) I had the option of using code demonstrated at Don't Back Down to get proper grammar on the comment links.
- Blogger: This site was originally published by Blogger back in the days when it didn't have its own comments, so I used first YACCS and then BlogKomm for comments. Thanks to Michael Bruce for writing the script to import comments from Blogkomm.