- Update image lazy load plugin
- Fix image map link
- Improve paragraph and blockquote padding consistency
- Remove deprecated CSSNano Gulp plugin
- Change layout
- Simplify category selector (remove JavaScript)
- Remove Google Analytics (unnecessary privacy invasion)
- Remove Facebook "Like" button
- Remove Twitter link and API
- Update Google API and other dependencies
- Adjust design for more white space
- Update jQuery version
- Update dependencies and copyright date
- Improve layout for mobile
- Shorten threshold for block quoting and make condition stricter for poem formatting
- Fix block quote when it's the entire caption (issue #131)
- Fix external map links
- Update copyright date
- Fix lens name normalization
- Fix post category icon
- Increase post cache capacity
- Use secure YouTube link
- Fix navigation ordering (was reversed)
- Fix Mapbox pin image reference to use HTTPS
- Add option to require an SSL connection
- Fix unhandled error for missing GPX
- Fix GPX download
- Rewrite as separate modules
- Update dependencies
- Update dependencies
- Update dependencies
- Switch to Yarn package manager
- Update dependencies
- Fix exposure time always showing one second
- Fix alignment in map legend
- Enable mobile map rotate to allow mobile zoom
- Enlarge mobile photo buttons
- Fix video link button
- Change map provider to Mapbox
- Add map view of all posts
- Remove some web fonts (performance)
- Convert codebase to TypeScript
- Fix bad GPX caching in Redis
- Update dependencies
- Use memory instead of Redis to cache views
- Fix missing JSON-LD @type for blog entries
- Update Google tokens and fix authorization views
- Use in-memory caching rather than Redis for views
- Update dependencies
- Adjust layout for iPad
- Remove "Photography" from title
- Update to latest jQuery
- Fix RSS feed
- Make lightbox image draggable for mobile
- Update dependencies
- Retry track load after deleting post cache
- Handle unmatched photo tag searches
- Upgrade to latest Google APIs
- Rewrite with Promises and functional style
- Upgrade to latest Google APIs
- Missing URL in og:image meta tag
- Handle missing primary image in Flickr set and fix poetry formatting
- Wrong travel mode icons in top menu
- Post tags broken in mobile menu (regression)
- Tag category page for breadcrumb SEO
- Make default post tag configurable
- Switch to JSON-LD
- Switch from gulp-minify-css to gulp-cssnano
- Removed view details from models
- Optimized post tag controller to avoid model interrogations when view is cached
- Make logged URLs live links
- Incorporate PDF work-to-date
- Legitimate photo not found being retried as if it's a failure
- Logging host URL as client URL
- Incorrect slug for some photo tags causing 404s
- Better logging for Flickr connectivity issues
- Trailing return in footnotes breaks formatting
- Admin screen regression causing map item NPE
- Refactor Google OAuth to support different APIs
- Use indexing modules (namespaces) to remove module require paths
- Incorrect date check causing unecessary downloads of domain spam list
- Add page for internal server errors
- Circular module dependency was creating NPEs
- Correct mapping for old blog URL
- Allow icons in log entries
- Map back button overlapped map type menu
- Reloading map doesn't reload track when caching is disabled
- Memory cache log reference NPE
- Post tag page may render before all post description are loaded
- Several new tests
- Block analytics referral spam
- Link names are shortened incorrectly if they end with an anchor (test created)
- Refresh Google Drive access token before it expires
- Haiku formatting error
- Correct logging of GPX download error message
- Trying to zoom an image with no larger size does nothing
- Failing to format poetry (Robert Limbert in "Across Swan Falls Dam")
- Don't shorten link names that aren't URLs
- URL decode displayed link names
- Bottom mobile nav items overlapped other elements
- Google Drive credentials not refreshing
- Post descriptions not refreshing when cache is invalidated
- Unable to refresh library or photo tags
- Minor layout tweaks
- Unable to reload cached GPX track
- Remove media summary from post description
- Show progress while GPX file is downloaded and parsed
- Change footer to show GitHub version
- Tweak map track and point colors
- Can't delete cached map for post series
- Remove debug code that was forcing Redis cache
- Don't sort null array in admin view
- Remove IDE workspace settings from source control
- Correct error logging for GPX download
- Upgrade engine dependency to Node 5.x from 4.x
- Add unit tests (partial)
- Refactor data modules as dependency injected providers
- Add semantic attributes to HTML
- Create classes to support GeoJSON structures
- Common OAuth2 methods for providers
- Upgrade to jQuery 2.x
- Javascript zoom on post images instead of link to Flickr size
- Lazy-load GPX files from cloud drive instead of uploading
- Separate management of cached GeoJSON
- Trailing quote wasn't converted to curly quote if preceded by a comma
- Search page is broken
- Fail-over cache to in-memory if unable to access web-based provider
- Re-position map overlays to avoid overlaps
A few years of work