ansible.rb 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. module Docs
  2. class Ansible < UrlScraper
  3. self.name = 'Ansible'
  4. self.type = 'sphinx'
  5. self.links = {
  6. home: 'https://www.ansible.com/',
  7. code: 'https://github.com/ansible/ansible'
  8. }
  9. html_filters.push 'ansible/entries', 'sphinx/clean_html', 'ansible/clean_html'
  10. options[:attribution] = <<-HTML
  11. &copy; 2012&ndash;2018 Michael DeHaan<br>
  12. &copy; 2018&ndash;2019 Red Hat, Inc.<br>
  13. Licensed under the GNU General Public License version 3.
  14. HTML
  15. options[:skip] = %w(
  16. installation_guide/index.html
  17. reference_appendices/glossary.html
  18. reference_appendices/faq.html
  19. reference_appendices/tower.html
  20. user_guide/quickstart.html
  21. modules/modules_by_category.html
  22. modules/list_of_all_modules.html)
  23. options[:skip_patterns] = [
  24. /\Acommunity.*/i,
  25. /\Adev_guide.*/i,
  26. /\Aroadmap.*/i,
  27. ]
  28. version '2.8' do
  29. self.release = '2.8.3'
  30. self.base_url = 'https://docs.ansible.com/ansible/2.7/'
  31. end
  32. version '2.7' do
  33. self.release = '2.7.12'
  34. self.base_url = 'https://docs.ansible.com/ansible/2.7/'
  35. end
  36. version '2.6' do
  37. self.release = '2.6.18'
  38. self.base_url = 'https://docs.ansible.com/ansible/2.6/'
  39. end
  40. version '2.5' do
  41. self.release = '2.5.15'
  42. self.base_url = 'https://docs.ansible.com/ansible/2.5/'
  43. end
  44. version '2.4' do
  45. self.release = '2.4.6'
  46. self.base_url = 'https://docs.ansible.com/ansible/2.4/'
  47. options[:skip] = %w(
  48. glossary.html
  49. faq.html
  50. community.html
  51. tower.html
  52. quickstart.html
  53. list_of_all_modules.html)
  54. options[:skip_patterns] = []
  55. end
  56. def get_latest_version(opts)
  57. doc = fetch_doc('https://docs.ansible.com/ansible/latest/index.html', opts)
  58. doc.at_css('.DocSiteProduct-CurrentVersion').content.strip
  59. end
  60. end
  61. end