ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Add utm-tool.html and utm-tool.js for UTM URL generation
- Live URL generation as user types (no button required)
- Support for all standard UTM parameters plus custom parameters
- Add UTM Builder to nav dropdown and index.html tools section
- Pre-generate all PDFs for faster Docker builds
- Update git hooks for PDF generation
- Add red asterisks (*) for unwritten stories in navigation
- Add green asterisks (*) for written stories in navigation
- Update CSS with specific selectors and !important flags for visibility
- Update integrity hashes for styles.css across all HTML files
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Install Chromium and required system libraries (nss, freetype, harfbuzz, etc.)
- Set PUPPETEER_SKIP_CHROMIUM_DOWNLOAD to use system Chromium
- Add additional Chrome args for better compatibility in container
- Configure package.json to skip Chromium download
- Fixes 'Failed to launch the browser process' error
- Update Dockerfile to install npm and run PDF generation during build
- Move generate-pdfs.js and package.json to docker/resume/ for Docker context
- Update generate-pdfs.js to work from /srv directory in container
- PDFs are now generated automatically during Docker build before deployment
- PDFs will be available at /pdfs/ path matching HTML file structure
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Add generate-pdfs.js script using Puppeteer to render HTML pages to PDF
- Update package.json with puppeteer dependency and npm script
- Add dynamic PDF download link to footer (checks if PDF exists, shows link)
- Add docker/resume/pdfs/ to .gitignore (generated at deploy time)
Run 'npm install && npm run generate-pdfs' during deployment
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Added Meet link to main navigation pointing to meet.colinknapp.com
- Includes title attribute describing it as a no-account web meetings tool
- Opens in new tab with proper security attributes
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Simplified Matomo code in header.html to use standard tracking configuration
- Removed tracking-limiting settings (setDocumentTitle, setCookieDomain, setDomains, disableCookies)
- Fixed matomo.js script source to load from metrics.nixc.us domain
- All pages using includes system now have full Matomo tracking enabled
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Updated meta descriptions and titles for all HTML pages with concise, keyword-rich content
- Optimized main pages (index.html, stories/index.html) with compelling descriptions
- Enhanced all 15 story pages with unique, SEO-optimized meta tags
- Improved CSV tool page SEO description
- Updated generate-sitemap.sh to use production domain (https://colinknapp.com)
- Regenerated sitemap.xml with production URLs and current timestamps
- Verified and updated all integrity hashes using update-csp-hashes.sh
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Added skip-to-content link at top of header partial
- Added CSS styling for hidden-by-default, visible-on-focus behavior
- Added id='main-content' to all HTML pages for skip link target
- Improves keyboard navigation and screen reader accessibility
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Added Windows File Explorer connection instructions
- Changed technical terms to simpler language (e.g., 'web file server' instead of 'network endpoint')
- Added Windows compatibility to the benefits list
- Updated technology list to include Windows integration
- Kept the clear URL references and simple instructions
- Removed all technical WebDAV details and jargon
- Made the URL http://192.168.0.119:9876 more prominent
- Simplified the page to focus on how to use the scanner service
- Added clear step-by-step instructions for connecting and scanning
- Removed unnecessary code examples and technical implementation details
- Completely removed the ScanSnap WebDAV Service project section from the main index.html page
- The detailed project page in stories/scansnap-webdav.html still exists for reference if needed
- Deleted convert-favicon.sh, generate-favicon.js, update-favicon.js - unused favicon generation scripts
- Deleted convert-to-includes.js - utility for converting HTML to use includes system
- Updated documentation to remove references to deleted scripts
- These were development utilities that are no longer needed for the site
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Deleted index-with-includes.html as it was just an incomplete template
- Updated documentation to remove references to the deleted file
- The main index.html file is the complete, production resume
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Corrected URL from 192.168.1.119 to 192.168.0.119:9876
- Simplified technical explanations to focus on user experience
- Added direct URL prominently in project descriptions
- Removed complex WebDAV implementation details
- Maintained key functionality information (fast scanning, auto-cleanup at 3am)
ci/woodpecker/push/woodpecker Pipeline was successfulDetails
- Transformed from technical documentation to compelling project story
- Added buildersclub.ca member access link (http://192.168.1.119:9876)
- Included real-world problem solving and decision-making narrative
- Emphasized practical impact and time savings
- Maintained technical depth while improving readability
- Added 'Lessons Learned' section for authenticity
- Added comprehensive project entry to portfolio
- Created detailed story page with technical implementation details
- Highlights high-performance receipt digitization capabilities
- Documents macOS Finder WebDAV compatibility solutions
- Includes performance metrics and business impact analysis