Code to format event listings as HTML, email, RSS, and iCalendar using XSLT.
JavaScript PHP
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Cache
_private
functions
templates
.gitignore
LICENSE
README.md
amc-trips-to-amc-xml.xsl
amc-trips-to-boston-hb-page.xsl
amc-trips-to-boston-intro-page.xsl
amc-trips-to-boston-page.xsl
amc-trips-to-html-email-custom.xsl
amc-trips-to-html-email.xsl
amc-trips-to-html-inc.xsl
amc-trips-to-html-page.xsl
amc-trips-to-ical.xsl
amc-trips-to-new-boston-page.xsl
amc-trips-to-rss.xsl
amc-trips-to-worcester-page.xsl
bostonym-upload.php
empty.xsl
formats.php
index.php
sendmail.php
trip-rating.inc.xsl
trip_list.css
trip_list.js
ymStyle.css

README.md

AMC Trip Listings

This is the code used to format the trip listings for several chapters of the Appalachian Mountain Club, publishing updates regularly to the web and sending a weekly HTML and text email to several thousand recipients.

You can see sample output at the AMC Boston Young Members Trip Listings.

It also outputs iCalendar format files and RSS feeds, so you can subscribe to see a chapter’s trip listings in your calendar or in a newsreader.

It’s been sending out regular emails and publishing trip listings since 2004, with some maintenance to keep up with changes to the source trip format.

As sample code, it demonstrates:

  • Complex formatting with XSLT, including grouping using the Muenchian method.

  • Date formatting with EXSLT.

  • Server-side caching of a dynamically generated page.

  • Automated FTP and SFTP uploads of a dynamically-generated file from a PHP script.

  • Generating an HTML email.

  • XSLT code to create an RSS feed.

  • XSLT code to create an iCalendar file.

  • Automation of DadaMail, a program designed for manual one-off mailings, by simulating a browser user. (DadaMail was the available mailing list software on the server, and sending mail through it lets us take advantage of its list management, rate-limited batching, and reporting.)

License

BSD 2-clause license. See LICENSE file.

Contact

Find this project on GitHub.

Written by Andrew Shearer. Email / Web site.