History

added Kubectl documentation

Fouad committed 4 years ago

Commit f7c8c8a1 parent 216a9d88 files · +98 −-2Browse files

Unified · Split

8 files
  1. assets/stylesheets/application.css.scss +1 −0
  2. assets/stylesheets/pages/_kubectl.scss +4 −0
  3. lib/docs/filters/kubectl/clean_html.rb +11 −0
  4. lib/docs/filters/kubectl/entries.rb +38 −0
  5. lib/docs/scrapers/kubectl.rb +45 −0
  6. public/icons/docs/kubectl/16.png +0 −0
  7. public/icons/docs/kubectl/16@2x.png +0 −0
  8. public/icons/docs/kubectl/SOURCE +1 −0
assets/stylesheets/application.css.scss+1−0
@@ -74,6 +74,7 @@ · 73 unmodified lines
74 'pages/julia',74 'pages/julia',
75 'pages/knockout',75 'pages/knockout',
76 'pages/kotlin',76 'pages/kotlin',
77 'pages/kubectl',
77 'pages/kubernetes',78 'pages/kubernetes',
78 'pages/laravel',79 'pages/laravel',
79 'pages/liquid',80 'pages/liquid',
assets/stylesheets/pages/_kubectl.scss+4−0
@@ -0,0 +1,4 @@
1._kubectl {
2 @extend %simple;
3
4}
lib/docs/filters/kubectl/clean_html.rb+11−0
@@ -0,0 +1,11 @@
1module Docs
2 class Kubectl
3 class CleanHtmlFilter < Filter
4
5 def call
6 doc
7 end
8
9 end
10 end
11end
lib/docs/filters/kubectl/entries.rb+38−0
@@ -0,0 +1,38 @@
1module Docs
2 class Kubectl
3 class EntriesFilter < Docs::EntriesFilter
4
5 def get_name
6 name
7 end
8
9 def get_type
10 name
11 end
12
13 def additional_entries
14 entries = []
15 group = 'kubectl'
16 commands = css('h1').to_a()
17 commands.map do |node|
18 # handle titles differnetly by converting them into sidebar groups (types)
19 new_group = at_css("##{node['id']} > strong")
20 if new_group
21 group = new_group.content.titleize
22 else
23 # prepend kubectl before every command
24 command_name = 'kubectl ' + node.content
25 entries << [command_name, node['id'], group]
26 end
27
28 end
29
30 entries
31 end
32
33 def include_default_entry?
34 false
35 end
36 end
37 end
38end
lib/docs/scrapers/kubectl.rb+45−0
@@ -0,0 +1,45 @@
1module Docs
2 class Kubectl < UrlScraper
3 self.name = 'Kubectl'
4 self.type = 'kubectl'
5 self.root_path = ''
6 self.links = {
7 home: 'https://kubernetes.io/docs/reference/kubectl/',
8 code: 'https://github.com/kubernetes/kubernetes'
9 }
10 self.release = "1.23"
11 self.base_url = "https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands"
12
13 html_filters.push 'kubectl/entries', 'kubectl/clean_html'
14
15 options[:container] = '#page-content-wrapper'
16
17 options[:attribution] = <<-HTML
18 &copy; 2022 The Kubernetes Authors | Documentation Distributed under CC BY 4.0 <br>
19 Copyright &copy; 2022 The Linux Foundation ®. All rights reserved.
20 HTML
21
22 # latest version has a special URL that does not include the version identifier
23 version '1.23' do
24 self.release = "#{version}"
25 self.base_url = "https://kubernetes.io/docs/reference/generated/kubectl/kubectl-commands"
26 end
27
28 version '1.20' do
29 self.release = "#{version}"
30 verStr = version.sub('.', '-')
31 self.base_url = "https://v#{verStr}.docs.kubernetes.io/docs/reference/generated/kubectl/kubectl-commands"
32 end
33
34 version '1.19' do
35 self.release = "#{version}"
36 verStr = version.sub('.', '-')
37 self.base_url = "https://v#{verStr}.docs.kubernetes.io/docs/reference/generated/kubectl/kubectl-commands"
38 end
39
40 def get_latest_version(opts)
41 get_latest_github_release('kubernetes', 'kubernetes', opts)
42 end
43
44 end
45end
public/icons/docs/kubectl/16.png+0−0

Binary file not shown.

public/icons/docs/kubectl/16@2x.png+0−0

Binary file not shown.

public/icons/docs/kubectl/SOURCE+1−0
@@ -0,0 +1 @@
1https://cncf-branding.netlify.app/projects/kubernetes/