opendevsecops-jekyll 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. checksums.yaml +7 -0
  2. data/CHANGELOG.md +1755 -0
  3. data/LICENSE.txt +21 -0
  4. data/README.md +110 -0
  5. data/Rakefile +1 -0
  6. data/_includes/components/aux_nav.html +15 -0
  7. data/_includes/components/breadcrumbs.html +144 -0
  8. data/_includes/components/children_nav.html +33 -0
  9. data/_includes/components/footer.html +34 -0
  10. data/_includes/components/header.html +11 -0
  11. data/_includes/components/mermaid.html +45 -0
  12. data/_includes/components/nav.html +75 -0
  13. data/_includes/components/search_footer.html +7 -0
  14. data/_includes/components/search_header.html +9 -0
  15. data/_includes/components/sidebar.html +32 -0
  16. data/_includes/components/site_nav.html +67 -0
  17. data/_includes/css/activation.scss.liquid +332 -0
  18. data/_includes/css/callouts.scss.liquid +93 -0
  19. data/_includes/css/custom.scss.liquid +1 -0
  20. data/_includes/css/just-the-docs.scss.liquid +12 -0
  21. data/_includes/favicon.html +23 -0
  22. data/_includes/fix_linenos.html +73 -0
  23. data/_includes/footer_custom.html +3 -0
  24. data/_includes/head.html +53 -0
  25. data/_includes/head_custom.html +0 -0
  26. data/_includes/header_custom.html +0 -0
  27. data/_includes/icons/code_copy.html +15 -0
  28. data/_includes/icons/document.html +6 -0
  29. data/_includes/icons/expand.html +6 -0
  30. data/_includes/icons/external_link.html +5 -0
  31. data/_includes/icons/icons.html +13 -0
  32. data/_includes/icons/link.html +6 -0
  33. data/_includes/icons/menu.html +6 -0
  34. data/_includes/icons/search.html +6 -0
  35. data/_includes/js/custom.js +0 -0
  36. data/_includes/lunr/custom-data.json +0 -0
  37. data/_includes/lunr/custom-index.js +0 -0
  38. data/_includes/mermaid_config.js +1 -0
  39. data/_includes/nav_footer_custom.html +0 -0
  40. data/_includes/search_placeholder_custom.html +1 -0
  41. data/_includes/sorted_pages.html +109 -0
  42. data/_includes/title.html +5 -0
  43. data/_includes/toc_heading_custom.html +1 -0
  44. data/_layouts/about.html +5 -0
  45. data/_layouts/default.html +41 -0
  46. data/_layouts/home.html +5 -0
  47. data/_layouts/minimal.html +34 -0
  48. data/_layouts/page.html +5 -0
  49. data/_layouts/post.html +5 -0
  50. data/_layouts/table_wrappers.html +7 -0
  51. data/_sass/base.scss +113 -0
  52. data/_sass/buttons.scss +127 -0
  53. data/_sass/code.scss +246 -0
  54. data/_sass/color_schemes/dark.scss +18 -0
  55. data/_sass/color_schemes/legacy_light.scss +208 -0
  56. data/_sass/color_schemes/light.scss +16 -0
  57. data/_sass/content.scss +239 -0
  58. data/_sass/custom/custom.scss +1 -0
  59. data/_sass/custom/setup.scss +1 -0
  60. data/_sass/labels.scss +37 -0
  61. data/_sass/layout.scss +209 -0
  62. data/_sass/modules.scss +17 -0
  63. data/_sass/navigation.scss +235 -0
  64. data/_sass/print.scss +40 -0
  65. data/_sass/search.scss +324 -0
  66. data/_sass/skiptomain.scss +30 -0
  67. data/_sass/support/_variables.scss +117 -0
  68. data/_sass/support/mixins/_buttons.scss +29 -0
  69. data/_sass/support/mixins/_layout.scss +33 -0
  70. data/_sass/support/mixins/_typography.scss +84 -0
  71. data/_sass/support/mixins/mixins.scss +3 -0
  72. data/_sass/support/support.scss +2 -0
  73. data/_sass/tables.scss +56 -0
  74. data/_sass/typography.scss +63 -0
  75. data/_sass/utilities/_colors.scss +237 -0
  76. data/_sass/utilities/_layout.scss +101 -0
  77. data/_sass/utilities/_lists.scss +15 -0
  78. data/_sass/utilities/_spacing.scss +162 -0
  79. data/_sass/utilities/_typography.scss +85 -0
  80. data/_sass/utilities/utilities.scss +5 -0
  81. data/assets/css/just-the-docs-dark.scss +3 -0
  82. data/assets/css/just-the-docs-default.scss +8 -0
  83. data/assets/css/just-the-docs-head-nav.css +24 -0
  84. data/assets/css/just-the-docs-light.scss +3 -0
  85. data/assets/js/just-the-docs.js +616 -0
  86. data/assets/js/zzzz-search-data.json +74 -0
  87. data/bin/just-the-docs +16 -0
  88. data/favicon.ico +0 -0
  89. data/lib/tasks/search.rake +88 -0
  90. metadata +201 -0
data/bin/just-the-docs ADDED
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ gem_dir = File.expand_path("..",File.dirname(__FILE__))
4
+ $LOAD_PATH.unshift gem_dir # Look in gem directory for resources first.
5
+ exec_type = ARGV[0]
6
+
7
+ if exec_type == 'rake' then
8
+ require 'rake'
9
+ require 'pp'
10
+ pwd=Dir.pwd
11
+ Dir.chdir(gem_dir) # We'll load rakefile from the gem's dir.
12
+ Rake.application.init
13
+ Rake.application.load_rakefile
14
+ Dir.chdir(pwd) # Revert to original pwd for any path args passed to task.
15
+ Rake.application.invoke_task(ARGV[1])
16
+ end
data/favicon.ico ADDED
Binary file
@@ -0,0 +1,88 @@
1
+ namespace :search do
2
+ desc 'Generate the files needed for search functionality'
3
+ task :init do
4
+ puts 'Creating search data json file...'
5
+ mkdir_p 'assets/js'
6
+ touch 'assets/js/zzzz-search-data.json'
7
+ puts 'Done.'
8
+ puts 'Generating content...'
9
+
10
+ File.open('assets/js/zzzz-search-data.json', 'w') do |f|
11
+ f.puts '---
12
+ permalink: /assets/js/search-data.json
13
+ ---
14
+ {
15
+ {%- assign i = 0 -%}
16
+ {%- assign pages_array = "" | split: "" -%}
17
+ {%- assign pages_array = pages_array | push: site.html_pages -%}
18
+ {%- if site.just_the_docs.collections -%}
19
+ {%- for collection_entry in site.just_the_docs.collections -%}
20
+ {%- assign collection_key = collection_entry[0] -%}
21
+ {%- assign collection_value = collection_entry[1] -%}
22
+ {%- assign collection = site[collection_key] -%}
23
+ {%- if collection_value.search_exclude != true -%}
24
+ {%- assign pages_array = pages_array | push: collection -%}
25
+ {%- endif -%}
26
+ {%- endfor -%}
27
+ {%- endif -%}
28
+ {%- for pages in pages_array -%}
29
+ {%- for page in pages -%}
30
+ {%- if page.title and page.search_exclude != true -%}
31
+ {%- assign page_content = page.content -%}
32
+ {%- assign heading_level = site.search.heading_level | default: 2 -%}
33
+ {%- for j in (2..heading_level) -%}
34
+ {%- assign tag = \'<h\' | append: j -%}
35
+ {%- assign closing_tag = \'</h\' | append: j -%}
36
+ {%- assign page_content = page_content | replace: tag, \'<h1\' | replace: closing_tag, \'</h1\' -%}
37
+ {%- endfor -%}
38
+ {%- assign parts = page_content | split: \'<h1\' -%}
39
+ {%- assign title_found = false -%}
40
+ {%- for part in parts offset: 1 -%}
41
+ {%- assign titleAndContent = part | split: \'</h1>\' -%}
42
+ {%- assign title = titleAndContent[0] | replace_first: \'>\', \'<h1>\' | split: \'<h1>\' -%}
43
+ {%- assign title = title[1] | strip_html -%}
44
+ {%- assign content = titleAndContent[1] -%}
45
+ {%- assign url = page.url -%}
46
+ {%- if title == page.title and parts[0] == \'\' -%}
47
+ {%- assign title_found = true -%}
48
+ {%- else -%}
49
+ {%- assign id = titleAndContent[0] -%}
50
+ {%- assign id = id | split: \'id="\' -%}
51
+ {%- if id.size == 2 -%}
52
+ {%- assign id = id[1] -%}
53
+ {%- assign id = id | split: \'"\' -%}
54
+ {%- assign id = id[0] -%}
55
+ {%- capture url -%}{{ url | append: \'#\' | append: id }}{%- endcapture -%}
56
+ {%- endif -%}
57
+ {%- endif -%}
58
+ {%- unless i == 0 -%},{%- endunless -%}
59
+ "{{ i }}": {
60
+ "doc": {{ page.title | jsonify }},
61
+ "title": {{ title | jsonify }},
62
+ "content": {{ content | replace: \'</h\', \' . </h\' | replace: \'<hr\', \' . <hr\' | replace: \'</p\', \' . </p\' | replace: \'<ul\', \' . <ul\' | replace: \'</ul\', \' . </ul\' | replace: \'<ol\', \' . <ol\' | replace: \'</ol\', \' . </ol\' | replace: \'</tr\', \' . </tr\' | replace: \'<li\', \' | <li\' | replace: \'</li\', \' | </li\' | replace: \'</td\', \' | </td\' | replace: \'<td\', \' | <td\' | replace: \'</th\', \' | </th\' | replace: \'<th\', \' | <th\' | strip_html | remove: \'Table of contents\' | normalize_whitespace | replace: \'. . .\', \'.\' | replace: \'. .\', \'.\' | replace: \'| |\', \'|\' | append: \' \' | jsonify }},
63
+ "url": "{{ url | relative_url }}",
64
+ {% include lunr/custom-data.json page=page %}
65
+ "relUrl": "{{ url }}"
66
+ }
67
+ {%- assign i = i | plus: 1 -%}
68
+ {%- endfor -%}
69
+ {%- unless title_found -%}
70
+ {%- unless i == 0 -%},{%- endunless -%}
71
+ "{{ i }}": {
72
+ "doc": {{ page.title | jsonify }},
73
+ "title": {{ page.title | jsonify }},
74
+ "content": {{ parts[0] | replace: \'</h\', \' . </h\' | replace: \'<hr\', \' . <hr\' | replace: \'</p\', \' . </p\' | replace: \'<ul\', \' . <ul\' | replace: \'</ul\', \' . </ul\' | replace: \'<ol\', \' . <ol\' | replace: \'</ol\', \' . </ol\' | replace: \'</tr\', \' . </tr\' | replace: \'<li\', \' | <li\' | replace: \'</li\', \' | </li\' | replace: \'</td\', \' | </td\' | replace: \'<td\', \' | <td\' | replace: \'</th\', \' | </th\' | replace: \'<th\', \' | <th\' | strip_html | remove: \'Table of contents\' | normalize_whitespace | replace: \'. . .\', \'.\' | replace: \'. .\', \'.\' | replace: \'| |\', \'|\' | append: \' \' | jsonify }},
75
+ "url": "{{ page.url | relative_url }}",
76
+ {% include lunr/custom-data.json page=page %}
77
+ "relUrl": "{{ page.url }}"
78
+ }
79
+ {%- assign i = i | plus: 1 -%}
80
+ {%- endunless -%}
81
+ {%- endif -%}
82
+ {%- endfor -%}
83
+ {%- endfor %}
84
+ }'
85
+ end
86
+ puts 'Done.'
87
+ end
88
+ end
metadata ADDED
@@ -0,0 +1,201 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: opendevsecops-jekyll
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Eric Kim
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2024-04-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 2.3.5
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 2.3.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: jekyll
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 3.8.5
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.8.5
41
+ - !ruby/object:Gem::Dependency
42
+ name: jekyll-seo-tag
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '2.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '2.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: jekyll-include-cache
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: 12.3.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: 12.3.1
83
+ description:
84
+ email:
85
+ - kim2000@uw.edu
86
+ executables: []
87
+ extensions: []
88
+ extra_rdoc_files: []
89
+ files:
90
+ - CHANGELOG.md
91
+ - LICENSE.txt
92
+ - README.md
93
+ - Rakefile
94
+ - _includes/components/aux_nav.html
95
+ - _includes/components/breadcrumbs.html
96
+ - _includes/components/children_nav.html
97
+ - _includes/components/footer.html
98
+ - _includes/components/header.html
99
+ - _includes/components/mermaid.html
100
+ - _includes/components/nav.html
101
+ - _includes/components/search_footer.html
102
+ - _includes/components/search_header.html
103
+ - _includes/components/sidebar.html
104
+ - _includes/components/site_nav.html
105
+ - _includes/css/activation.scss.liquid
106
+ - _includes/css/callouts.scss.liquid
107
+ - _includes/css/custom.scss.liquid
108
+ - _includes/css/just-the-docs.scss.liquid
109
+ - _includes/favicon.html
110
+ - _includes/fix_linenos.html
111
+ - _includes/footer_custom.html
112
+ - _includes/head.html
113
+ - _includes/head_custom.html
114
+ - _includes/header_custom.html
115
+ - _includes/icons/code_copy.html
116
+ - _includes/icons/document.html
117
+ - _includes/icons/expand.html
118
+ - _includes/icons/external_link.html
119
+ - _includes/icons/icons.html
120
+ - _includes/icons/link.html
121
+ - _includes/icons/menu.html
122
+ - _includes/icons/search.html
123
+ - _includes/js/custom.js
124
+ - _includes/lunr/custom-data.json
125
+ - _includes/lunr/custom-index.js
126
+ - _includes/mermaid_config.js
127
+ - _includes/nav_footer_custom.html
128
+ - _includes/search_placeholder_custom.html
129
+ - _includes/sorted_pages.html
130
+ - _includes/title.html
131
+ - _includes/toc_heading_custom.html
132
+ - _layouts/about.html
133
+ - _layouts/default.html
134
+ - _layouts/home.html
135
+ - _layouts/minimal.html
136
+ - _layouts/page.html
137
+ - _layouts/post.html
138
+ - _layouts/table_wrappers.html
139
+ - _sass/base.scss
140
+ - _sass/buttons.scss
141
+ - _sass/code.scss
142
+ - _sass/color_schemes/dark.scss
143
+ - _sass/color_schemes/legacy_light.scss
144
+ - _sass/color_schemes/light.scss
145
+ - _sass/content.scss
146
+ - _sass/custom/custom.scss
147
+ - _sass/custom/setup.scss
148
+ - _sass/labels.scss
149
+ - _sass/layout.scss
150
+ - _sass/modules.scss
151
+ - _sass/navigation.scss
152
+ - _sass/print.scss
153
+ - _sass/search.scss
154
+ - _sass/skiptomain.scss
155
+ - _sass/support/_variables.scss
156
+ - _sass/support/mixins/_buttons.scss
157
+ - _sass/support/mixins/_layout.scss
158
+ - _sass/support/mixins/_typography.scss
159
+ - _sass/support/mixins/mixins.scss
160
+ - _sass/support/support.scss
161
+ - _sass/tables.scss
162
+ - _sass/typography.scss
163
+ - _sass/utilities/_colors.scss
164
+ - _sass/utilities/_layout.scss
165
+ - _sass/utilities/_lists.scss
166
+ - _sass/utilities/_spacing.scss
167
+ - _sass/utilities/_typography.scss
168
+ - _sass/utilities/utilities.scss
169
+ - assets/css/just-the-docs-dark.scss
170
+ - assets/css/just-the-docs-default.scss
171
+ - assets/css/just-the-docs-head-nav.css
172
+ - assets/css/just-the-docs-light.scss
173
+ - assets/js/just-the-docs.js
174
+ - assets/js/zzzz-search-data.json
175
+ - bin/just-the-docs
176
+ - favicon.ico
177
+ - lib/tasks/search.rake
178
+ homepage: https://github.com/open-devsecops/opendevsecops-jekyll-theme
179
+ licenses:
180
+ - MIT
181
+ metadata: {}
182
+ post_install_message:
183
+ rdoc_options: []
184
+ require_paths:
185
+ - lib
186
+ required_ruby_version: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ required_rubygems_version: !ruby/object:Gem::Requirement
192
+ requirements:
193
+ - - ">="
194
+ - !ruby/object:Gem::Version
195
+ version: '0'
196
+ requirements: []
197
+ rubygems_version: 3.5.7
198
+ signing_key:
199
+ specification_version: 4
200
+ summary: An extension of just-the-docs theme for the open-devsecops curriculumn.
201
+ test_files: []