restincode/Rakefile
mauvehed c62b5fd7e6 chore: enable end-of-file-fixer and trailing-whitespace pre-commit hooks
chore: update add-new-person-to-site.md template formatting

The add-new-person-to-site.md template has been updated to improve
readability by aligning the fields. The end-of-file-fixer and
trailing-whitespace pre-commit hooks have been enabled to ensure
consistent file endings and remove trailing whitespace.
2023-07-31 08:52:20 -05: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
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