mirror of
https://github.com/Homebrew/brew.git
synced 2026-08-12 22:29:27 +04:00
73 lines
2.0 KiB
Ruby
73 lines
2.0 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require "rake"
|
|
|
|
RUBYDOC_DIR = "#{__dir__}/rubydoc".freeze
|
|
|
|
task default: :build
|
|
|
|
desc "Generate documentation with YARD"
|
|
task :yard do
|
|
cd "#{__dir__}/../Library/Homebrew" do
|
|
sh "bundle exec yard doc --output #{RUBYDOC_DIR}"
|
|
end
|
|
end
|
|
|
|
desc "Build the site."
|
|
task :build do
|
|
sh "bundle exec jekyll build"
|
|
end
|
|
|
|
desc "Run Markdownlint to validate the Markdown style."
|
|
task :lint do
|
|
sh "mdl $(git ls-files '*.md' | grep -v 'Manpage.md' | grep -v '^docs/index.md$' | grep -v '^index.md$')"
|
|
cd(__dir__) { sh "mdl --style index.mdl_style.rb index.md" } if File.exist?("#{__dir__}/index.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"
|
|
|
|
HOMEBREW_USER_AGENT = ENV.fetch("HOMEBREW_USER_AGENT", nil).freeze
|
|
HTMLProofer.check_directory(
|
|
"./_site",
|
|
parallel: { in_threads: 4 },
|
|
typhoeus: {
|
|
headers: {
|
|
"User-Agent" => "#{"#{HOMEBREW_USER_AGENT} " if HOMEBREW_USER_AGENT}HTMLProofer/#{HTMLProofer::VERSION}",
|
|
},
|
|
},
|
|
favicon: true,
|
|
ignore_status_codes: [0, 403, 429],
|
|
check_favicon: true,
|
|
check_opengraph: true,
|
|
check_html: true,
|
|
check_img_http: true,
|
|
enforce_https: true,
|
|
ignore_files: [
|
|
/Kickstarter-Supporters/,
|
|
%r{/rubydoc/},
|
|
],
|
|
ignore_urls: [
|
|
"/",
|
|
%r{https://docs\.brew\.sh/},
|
|
%r{/rubydoc/},
|
|
%r{https://github.com/},
|
|
%r{https://homebrew.1password.com/},
|
|
%r{https://gist.github.com/},
|
|
"https://metacpan.org/pod/local::lib",
|
|
%r{https://www\.virustotal\.com/?},
|
|
%r{https://pypi.org/?},
|
|
"https://itunes.apple.com/us/app/xcode/id497799835",
|
|
],
|
|
cache: {
|
|
timeframe: {
|
|
external: "1d",
|
|
internal: "1h",
|
|
},
|
|
},
|
|
).run
|
|
end
|