mirror of
https://github.com/freeCodeCamp/devdocs
synced 2024-11-16 19:48:10 +01:00
Add Linux man pages documentation
This commit is contained in:
parent
bc530daf7f
commit
2a5fbccaf2
4 changed files with 71 additions and 0 deletions
|
@ -142,6 +142,13 @@ $GS = '/usr/local/opt/ghostscript/bin/gs'; # GhostScript
|
|||
```
|
||||
</details>
|
||||
|
||||
## Man
|
||||
|
||||
```sh
|
||||
wget --recursive --no-parent https://man7.org/linux/man-pages/
|
||||
mv man7.org/linux/man-pages/ docs/man/
|
||||
```
|
||||
|
||||
## NumPy
|
||||
|
||||
```sh
|
||||
|
|
19
lib/docs/filters/man/clean_html.rb
Normal file
19
lib/docs/filters/man/clean_html.rb
Normal file
|
@ -0,0 +1,19 @@
|
|||
module Docs
|
||||
class Man
|
||||
class CleanHtmlFilter < Filter
|
||||
def call
|
||||
css('.page-top').remove
|
||||
css('.nav-bar').remove
|
||||
css('.nav-end').remove
|
||||
css('.sec-table').remove
|
||||
css('a[href="#top_of_page"]').remove
|
||||
css('.end-man-text').remove
|
||||
css('.start-footer').remove
|
||||
css('.footer').remove
|
||||
css('.end-footer').remove
|
||||
css('form[action="https://www.google.com/search"]').remove
|
||||
doc
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
29
lib/docs/filters/man/entries.rb
Normal file
29
lib/docs/filters/man/entries.rb
Normal file
|
@ -0,0 +1,29 @@
|
|||
module Docs
|
||||
class Man
|
||||
class EntriesFilter < Docs::EntriesFilter
|
||||
|
||||
def get_name
|
||||
at_css('h1').content.sub(' — Linux manual page', '')
|
||||
end
|
||||
|
||||
def get_type
|
||||
'Linux manual page'
|
||||
end
|
||||
|
||||
def entries
|
||||
return super unless slug == 'dir_by_project'
|
||||
type0 = nil
|
||||
return css('*').each_with_object [] do |node, entries|
|
||||
if node.name == 'h2'
|
||||
type0 = node.content
|
||||
elsif node.name == 'a' and node['href'] and node['href'].start_with?('man') and type0
|
||||
name = node.content + node.next_sibling.content
|
||||
path = node['href']
|
||||
entries << Entry.new(name, path, type0)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
16
lib/docs/scrapers/man.rb
Normal file
16
lib/docs/scrapers/man.rb
Normal file
|
@ -0,0 +1,16 @@
|
|||
module Docs
|
||||
class Man < FileScraper
|
||||
self.name = 'Linux man pages'
|
||||
self.type = 'simple'
|
||||
self.slug = 'man'
|
||||
self.base_url = "https://man7.org/linux/man-pages/"
|
||||
self.initial_paths = %w(dir_by_project.html)
|
||||
self.links = {
|
||||
home: 'https://man7.org/linux/man-pages/',
|
||||
}
|
||||
html_filters.push 'man/entries', 'man/clean_html'
|
||||
options[:attribution] = <<-HTML
|
||||
...
|
||||
HTML
|
||||
end
|
||||
end
|
Loading…
Reference in a new issue