meonkeys commented on code in PR #56: URL: https://github.com/apache/fineract-site/pull/56#discussion_r2963447247
########## scripts/run_whimsy_checks.rb: ########## @@ -0,0 +1,73 @@ +#!/usr/bin/env ruby +# Extracted from https://github.com/apache/whimsy/blob/master/tools/site-scan.rb +# Only includes site parsing logic - no ASF/LDAP/committee dependencies + +require 'net/http' +require 'nokogiri' +require 'uri' +require 'json' + +# Copied directly from site-scan.rb +def squash(text) + text.scrub.gsub(/[[:space:]]+/, ' ').strip +end + +# Copied directly from site-scan.rb +def get_link_text(anode) + bits = [] + anode.traverse do |node| + if node.name == 'text' + bits << node.text unless node.parent.name == 'span' and + node.parent.attribute('class')&.value&.end_with?('sr-only') + end + end + squash(bits.join(' ')) +end + +# Copied from sitestandards.rb COMMON_CHECKS patterns +CHECKS = { + 'foundation' => { url: /apache\.org/, text: nil }, + 'license' => { url: /^https?:\/\/.*apache\.org\/licenses\/?$/, text: /^license$/i }, + 'thanks' => { url: nil, text: /^(thanks|sponsors|thanks to our sponsors)$/i }, + 'security' => { url: nil, text: /^security$/i }, + 'sponsorship' => { url: nil, text: /^(sponsorship|sponsor|donate)$/i }, + 'privacy' => { url: nil, text: /^privacy$/i }, + 'events' => { url: /apache\.org\/events\/current-event/, text: nil }, +} Review Comment: oh wait, there might be a bug/feature in Whimsy itself. :thinking: Maybe the first `<span>` in the `<a>` is a problem? ```html <!-- I added some whitespace for readability --> <a class="ref-link waves-effect waves-light" href=https://www.apache.org/foundation/thanks.html target=_blank rel=noopener> <span class="material-icons icon-sr-only" aria-hidden=true>favorite</span> <span>Thanks</span> </a> ``` Maybe the whimsy checks started failing after I merged #46 ... Anyway, thank you again for working on this. This is exactly why I want some check we can run on our own to try to know when our checks are failing before they fail on <https://whimsy.apache.org/site/project/fineract>! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
