tailwindcss.rb 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. module Docs
  2. class Tailwindcss < UrlScraper
  3. self.name = 'Tailwind CSS'
  4. self.type = 'tailwindcss'
  5. self.slug = 'tailwindcss'
  6. self.root_path = '/'
  7. self.links = {
  8. home: 'https://tailwindcss.com/',
  9. code: 'https://github.com/tailwindlabs/tailwindcss'
  10. }
  11. html_filters.push 'tailwindcss/entries', 'tailwindcss/clean_html'
  12. # Disable the clean text filter which removes empty nodes - we'll do it ourselves more selectively
  13. text_filters.replace("clean_text", "tailwindcss/noop")
  14. options[:skip_patterns] = [
  15. # Skip setup instructions
  16. /\/browser-support$/,
  17. /\/editor-setup$/,
  18. /\/installation$/,
  19. /\/optimizing-for-production$/,
  20. /\/upgrade-guide/,
  21. /\/using-with-preprocessors/
  22. ]
  23. #Obtainable from https://github.com/tailwindlabs/tailwindcss/blob/master/LICENSE
  24. options[:attribution] = <<-HTML
  25. &copy; Tailwind Labs Inc.
  26. HTML
  27. version do
  28. self.release = '4.1.11'
  29. self.base_url = 'https://tailwindcss.com/docs'
  30. # Fix redirects
  31. options[:fix_urls] = lambda do |url|
  32. if url.include? "installation/"
  33. break "/docs/installation"
  34. end
  35. if url.end_with? "text-color"
  36. break "/docs/color"
  37. end
  38. end
  39. end
  40. version '3' do
  41. self.release = '3.4.17'
  42. self.base_url = 'https://v3.tailwindcss.com/docs'
  43. # Fix redirects from older tailwind 2 docs
  44. options[:fix_urls] = lambda do |url|
  45. if url.include? "installation/"
  46. break "/docs/installation"
  47. end
  48. if url.end_with? "/breakpoints"
  49. break "/docs/screens#{/#.*$/.match(url)}"
  50. end
  51. if url.end_with? "/adding-base-styles"
  52. break "/docs/adding-custom-styles#adding-base-styles"
  53. end
  54. if url.end_with? "/ring-opacity"
  55. break "/docs/ring-color#changing-the-opacity"
  56. end
  57. if url.match(/\/colors#?/)
  58. break "/docs/customizing-colors#{/#.*$/.match(url)}"
  59. end
  60. end
  61. end
  62. def get_latest_version(opts)
  63. get_latest_github_release('tailwindlabs', 'tailwindcss', opts)
  64. end
  65. end
  66. end