 e3e8ccef0a
			
		
	
	
		e3e8ccef0a
		
			
		
	
	
	
	
		
			
			- Add caching to make this build faster and less flaky. - Skip the currently flaky URL. - Cache external links for longer.
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # frozen_string_literal: true
 | |
| 
 | |
| require "rake"
 | |
| 
 | |
| task default: :build
 | |
| 
 | |
| desc "Build the site."
 | |
| task :build do
 | |
|   sh "jekyll", "build"
 | |
| end
 | |
| 
 | |
| desc "Run Markdownlint to validate the Markdown style."
 | |
| task :lint do
 | |
|   sh "mdl $(git ls-files '*.md' | grep -v 'Manpage.md')"
 | |
|   sh "grep -L '^last_review_date:' $(git ls-files '*.md' | grep -v 'Manpage.md') | " \
 | |
|      "xargs -I {} echo 'File {} is missing last_review_date frontmatter.'"
 | |
| end
 | |
| 
 | |
| desc "Run HTMLProofer to validate the HTML output."
 | |
| task test: :build do
 | |
|   require "html-proofer"
 | |
|   HTMLProofer.check_directory(
 | |
|     "./_site",
 | |
|     parallel:            { in_threads: 4 },
 | |
|     favicon:             true,
 | |
|     ignore_status_codes: [0, 403],
 | |
|     check_favicon:       true,
 | |
|     check_opengraph:     true,
 | |
|     check_html:          true,
 | |
|     check_img_http:      true,
 | |
|     enforce_https:       true,
 | |
|     ignore_files:        [
 | |
|       /Kickstarter-Supporters/,
 | |
|     ],
 | |
|     ignore_urls:         [
 | |
|       "/",
 | |
|       %r{https://formulae.brew.sh},
 | |
|       %r{https://github.com/},
 | |
|       %r{https://homebrew.1password.com/},
 | |
|       "https://legacy.python.org/dev/peps/pep-0453/#recommendations-for-downstream-distributors",
 | |
|       "https://metacpan.org/pod/local::lib",
 | |
|     ],
 | |
|     cache:               {
 | |
|       timeframe: {
 | |
|         external: "1d",
 | |
|         internal: "1h",
 | |
|       },
 | |
|     },
 | |
|   ).run
 | |
| end
 |