There’s been plenty of attempts at writing a Squid “configuration manual” (including the visolve documentation) which serves a good purpose (how do I do X?) but aren’t kept up to date when configuration options grow, change or die.
I whipped up a quick hacky bit of Perl which takes the squid.conf.default file (the “canonical” description of each configuration option, hopefully with examples!) and breaks it out into more manageable HTML pages. The result is available here for Squid-2.6 and here for Squid-3.0. All possible Squid configuration options are listed on the front page with each option populating its own page. This is so much easier to read than the squid.conf.default file. They’re updated whenever the squid configuration file is updated to reflect new, changed and deleted configuration options.
It does require the configuration file to be kept up to date, and there might be a t-shirt in it for you if you’re willing to spend some time tidying up the configuration file (cf.data.pre in the Squid release source tree) and expanding on various options. Some are well documented (see acl) whislt some aren’t documented at all..