Created
November 5, 2015 04:55
-
-
Save knice/84fd62c8e8ad23ec2a0e to your computer and use it in GitHub Desktop.
Jekyll Rakefile from jekyll-template
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| task :default => :server | |
| desc 'Clean up generated site' | |
| task :clean do | |
| cleanup | |
| end | |
| desc 'Build site with Jekyll' | |
| task :build => :clean do | |
| jekyll('build') | |
| end | |
| desc 'Start server with --watch' | |
| task :server => :clean do | |
| jekyll('serve --watch') | |
| 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment