restincode/Rakefile
mauvehed 4450ab3a35
Upgrade Ruby from 3.2.0 to 3.3.10
- Update .ruby-version to 3.3.10
- Update all gem dependencies via bundle update
  - github-pages: 228 → 232
  - Jekyll: 3.9.3 → 3.10.0
  - Updated 50+ dependencies for Ruby 3.3 compatibility
- Fix Rakefile build task for Jekyll 3.10.0 compatibility
  - Jekyll now requires explicit subcommand (e.g., 'build')

Verification completed:
- bundle install: All dependencies resolve cleanly
- bundle exec jekyll build: Site builds successfully
- bundle exec jekyll serve: Server runs without errors
- rake build: Build task works correctly
- rake server: Server task works correctly
- Manual testing: Homepage and memorial pages load properly
2025-12-18 14:52:23 -06:00

69 lines
1.5 KiB
Ruby

# Kris Brown
# https://raw.github.com/krisb/jekyll-template/
task :default => :server
desc 'Clean up generated site'
task :clean do
cleanup
end
desc 'Build site with Jekyll'
task :build => :clean do
# compass
jekyll('build')
end
desc 'Start server'
task :server => :clean do
# compass
jekyll('serve -w')
cleanup
end
#desc 'Build and deploy'
#task :deploy => :build do
# sh 'rsync -rtzh --progress --delete _site/ username@servername:/var/www/websitename/'
#end
desc 'Check links for site already running on localhost:4000'
task :check_links do
begin
require 'anemone'
root = 'http://localhost:4000/'
Anemone.crawl(root, :discard_page_bodies => true) do |anemone|
anemone.after_crawl do |pagestore|
broken_links = Hash.new { |h, k| h[k] = [] }
pagestore.each_value do |page|
if page.code != 200
referrers = pagestore.pages_linking_to(page.url)
referrers.each do |referrer|
broken_links[referrer] << page
end
end
end
broken_links.each do |referrer, pages|
puts "#{referrer.url} contains the following broken links:"
pages.each do |page|
puts " HTTP #{page.code} #{page.url}"
end
end
end
end
rescue LoadError
abort 'Install anemone gem: gem install anemone'
end
end
def cleanup
sh 'rm -rf _site'
end
def jekyll(opts = '')
sh 'jekyll ' + opts
end
def compass(opts = '')
# sh 'compass compile -c config.rb --force ' + opts
end