25 lines
		
	
	
		
			651 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			651 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| # typed: true
 | |
| # frozen_string_literal: true
 | |
| 
 | |
| rule "HB034", "Bare unstyled URL used" do
 | |
|   tags :links, :url
 | |
|   aliases "no-bare-unstyled-urls"
 | |
|   check do |doc|
 | |
|     doc.matching_text_element_lines(%r{(?<=\s)https?://})
 | |
|   end
 | |
| end
 | |
| rule "HB100", "Full URL for internal link used" do
 | |
|   tags :links, :url
 | |
|   aliases "no-full-urls-for-internal-links"
 | |
|   check do |doc|
 | |
|     doc.matching_lines(%r{\]\(https://docs.brew.sh/.+?\)})
 | |
|   end
 | |
| end
 | |
| rule "HB101", "File extension missing from internal link" do
 | |
|   tags :links, :url
 | |
|   aliases "file-extension-required-for-internal-links"
 | |
|   check do |doc|
 | |
|     doc.matching_lines(/\]\((?!#|\w+:)(?>[^#.)]+)(?!\.\w+)/)
 | |
|   end
 | |
| end
 | 
