Unified · Split
| @@ -0,0 +1,43 @@ | |||
| 1 | module Docs | ||
| 2 | class Cmake | ||
| 3 | class CleanHtmlFilter < Filter | ||
| 4 | # since each property category has its own entry redirect to that one instead | ||
| 5 | URL_MAPPING = { | ||
| 6 | '/manual/cmake-properties.7#properties-of-global-scope' => '/../cmake-properties-of-global-scope/', | ||
| 7 | '/manual/cmake-properties.7#properties-on-directories' => '/../cmake-properties-on-directories/', | ||
| 8 | '/manual/cmake-properties.7#target-properties' => '/../cmake-properties-on-targets/', | ||
| 9 | '/manual/cmake-properties.7.html#properties-on-tests' => '/../cmake-properties-on-tests/', | ||
| 10 | '/manual/cmake-properties.7.html#properties-on-source-files' => '/../cmake-properties-on-source-files/', | ||
| 11 | '/manual/cmake-properties.7.html#properties-on-cache-entries' => '/../cmake-properties-on-cache-entries/', | ||
| 12 | '/manual/cmake-properties.7.html#properties-on-installed-files' => '/../cmake-properties-on-installed-files/', | ||
| 13 | '/manual/cmake-properties.7.html#deprecated-properties-on-directories' => '/../cmake-deprecated-properties-on-directories/', | ||
| 14 | '/manual/cmake-properties.7.html#deprecated-properties-on-targets' => '/../cmake-deprecated-properties-on-targets/', | ||
| 15 | '/manual/cmake-properties.7.html#deprecated-properties-on-source-files' => '/../cmake-deprecated-properties-on-source-files/' | ||
| 16 | } | ||
| 17 | |||
| 18 | def call | ||
| 19 | css('.headerlink').remove | ||
| 20 | if root_page? | ||
| 21 | css('#release-notes').remove | ||
| 22 | css('#index-and-search').remove | ||
| 23 | return doc | ||
| 24 | end | ||
| 25 | css('.toc-backref').each do |link| | ||
| 26 | link.replace(link.text) | ||
| 27 | end | ||
| 28 | css('#contents').remove | ||
| 29 | |||
| 30 | # change urls pointing to entries which don't have a default entry | ||
| 31 | css('a').each do |link| | ||
| 32 | URL_MAPPING.each do |key, value| | ||
| 33 | if link['href'].end_with? key | ||
| 34 | link['href'] = link['href'][0..-(key.length + 1)] + value | ||
| 35 | end | ||
| 36 | end | ||
| 37 | end | ||
| 38 | |||
| 39 | doc | ||
| 40 | end | ||
| 41 | end | ||
| 42 | end | ||
| 43 | end | ||
| @@ -0,0 +1,64 @@ | |||
| 1 | module Docs | ||
| 2 | class Cmake | ||
| 3 | class EntriesFilter < Docs::EntriesFilter | ||
| 4 | MISCELLANEOUS = { | ||
| 5 | 'manual/cmake.1' => 'CMake', | ||
| 6 | 'manual/ctest.1' => 'CTest', | ||
| 7 | 'manual/cpack.1' => 'CPack', | ||
| 8 | 'manual/cmake-gui.1' => 'CMake GUI', | ||
| 9 | 'manual/ccmake.1' => 'CCMake', | ||
| 10 | 'manual/cmake-buildsystem.7' => 'Buildsystem', | ||
| 11 | 'manual/cmake-commands.7' => 'Commands', | ||
| 12 | 'manual/cmake-compile-features.7' => 'Compile Features', | ||
| 13 | 'manual/cmake-developer.7' => 'Developer', | ||
| 14 | 'manual/cmake-generator-expressions.7' => 'Generator Expressions', | ||
| 15 | 'manual/cmake-generators.7' => 'Generators', | ||
| 16 | 'manual/cmake-language.7' => 'Language', | ||
| 17 | 'manual/cmake-modules.7' => 'Modules', | ||
| 18 | 'manual/cmake-packages.7' => 'Packages', | ||
| 19 | 'manual/cmake-policies.7' => 'Policies', | ||
| 20 | 'manual/cmake-properties.7' => 'Properties', | ||
| 21 | 'manual/cmake-qt.7' => 'Qt', | ||
| 22 | 'manual/cmake-toolchains.7' => 'Toolchains', | ||
| 23 | 'manual/cmake-variables.7' => 'Variables' } | ||
| 24 | |||
| 25 | GROUPS = { | ||
| 26 | 'command' => 'Commands', | ||
| 27 | 'policy' => 'Policies', | ||
| 28 | 'prop_gbl' => 'Properties of Global Scope', | ||
| 29 | 'prop_dir' => 'Properties on Directories', | ||
| 30 | 'prop_tgt' => 'Properties on Targets', | ||
| 31 | 'prop_test' => 'Properties on Tests', | ||
| 32 | 'prop_sf' => 'Properties on Source Files', | ||
| 33 | 'prop_cache' => 'Properties on Cache Entries', | ||
| 34 | 'prop_inst' => 'Properties on Installed Files', | ||
| 35 | 'variable' => 'Variables' } | ||
| 36 | |||
| 37 | def get_name | ||
| 38 | if MISCELLANEOUS.key?(slug) | ||
| 39 | return MISCELLANEOUS[slug] | ||
| 40 | end | ||
| 41 | parts = slug.split('/') | ||
| 42 | name = parts.drop(1).first | ||
| 43 | if name == '' | ||
| 44 | return slug | ||
| 45 | end | ||
| 46 | if parts.first == 'command' | ||
| 47 | name += '()' | ||
| 48 | end | ||
| 49 | name | ||
| 50 | end | ||
| 51 | |||
| 52 | def get_type | ||
| 53 | if MISCELLANEOUS.key?(slug) | ||
| 54 | return 'Miscellaneous' | ||
| 55 | end | ||
| 56 | parts = slug.split('/') | ||
| 57 | if GROUPS.key?(parts.first) | ||
| 58 | return GROUPS[parts.first] | ||
| 59 | end | ||
| 60 | slug | ||
| 61 | end | ||
| 62 | end | ||
| 63 | end | ||
| 64 | end | ||
| @@ -0,0 +1,32 @@ | |||
| 1 | module Docs | ||
| 2 | class Cmake < UrlScraper | ||
| 3 | self.name = 'CMake' | ||
| 4 | self.slug = 'cmake' | ||
| 5 | self.type = 'cmake' | ||
| 6 | self.release = '3.5' | ||
| 7 | self.base_url = 'https://cmake.org/cmake/help/v3.5/' | ||
| 8 | |||
| 9 | options[:skip] = %w( | ||
| 10 | release/index.html | ||
| 11 | genindex.html | ||
| 12 | search.html | ||
| 13 | ) | ||
| 14 | |||
| 15 | options[:only_patterns] = [ | ||
| 16 | /manual/, | ||
| 17 | /command/, | ||
| 18 | /policy/, | ||
| 19 | /prop_/, | ||
| 20 | /variable/ | ||
| 21 | ] | ||
| 22 | |||
| 23 | options[:container] = '.body' | ||
| 24 | |||
| 25 | html_filters.push 'cmake/clean_html', 'cmake/entries' | ||
| 26 | |||
| 27 | options[:attribution] = <<-HTML | ||
| 28 | © 2000–2016 Kitware, Inc.<br> | ||
| 29 | Licensed under the BSD 3-clause License. | ||
| 30 | HTML | ||
| 31 | end | ||
| 32 | end | ||