overrides_tracker 0.2.3 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/Gemfile.lock +1 -1
  4. data/README.md +23 -118
  5. data/bin/overrides_tracker +1 -0
  6. data/lib/external/require_all.rb +5 -2
  7. data/lib/html/assets/fonts/RedHatText-Italic-VariableFont_wght.ttf +0 -0
  8. data/lib/html/assets/fonts/RedHatText-VariableFont_wght.ttf +0 -0
  9. data/lib/html/assets/fonts/materialdesignicons-webfont.eot +0 -0
  10. data/lib/html/assets/fonts/materialdesignicons-webfont.ttf +0 -0
  11. data/lib/html/assets/fonts/materialdesignicons-webfont.woff +0 -0
  12. data/lib/html/assets/fonts/materialdesignicons-webfont.woff2 +0 -0
  13. data/lib/html/assets/logo/android-chrome-192x192.png +0 -0
  14. data/lib/html/assets/logo/android-chrome-512x512.png +0 -0
  15. data/lib/html/assets/logo/apple-touch-icon.png +0 -0
  16. data/lib/html/assets/logo/browserconfig.xml +9 -0
  17. data/lib/html/assets/logo/favicon-16x16.png +0 -0
  18. data/lib/html/assets/logo/favicon-32x32.png +0 -0
  19. data/lib/html/assets/logo/favicon.ico +0 -0
  20. data/lib/html/assets/logo/icon.png +0 -0
  21. data/lib/html/assets/logo/logo.svg +3 -0
  22. data/lib/html/assets/logo/mstile-150x150.png +0 -0
  23. data/lib/html/assets/logo/safari-pinned-tab.svg +58 -0
  24. data/lib/html/assets/logo/site.webmanifest +19 -0
  25. data/lib/html/assets/logo.svg +3 -0
  26. data/lib/html/assets/materialdesignicons.css +25 -0
  27. data/lib/html/assets/script.js +64 -0
  28. data/lib/html/assets/style.css +104 -0
  29. data/lib/html/compare.html +115 -0
  30. data/lib/html/summary.html +155 -0
  31. data/lib/overrides_tracker/comparer.rb +137 -19
  32. data/lib/overrides_tracker/methods_collector.rb +149 -1
  33. data/lib/overrides_tracker/version.rb +1 -1
  34. data/overrides_tracker/assets/fonts/RedHatText-Italic-VariableFont_wght.ttf +0 -0
  35. data/overrides_tracker/assets/fonts/RedHatText-VariableFont_wght.ttf +0 -0
  36. data/overrides_tracker/assets/fonts/materialdesignicons-webfont.eot +0 -0
  37. data/overrides_tracker/assets/fonts/materialdesignicons-webfont.ttf +0 -0
  38. data/overrides_tracker/assets/fonts/materialdesignicons-webfont.woff +0 -0
  39. data/overrides_tracker/assets/fonts/materialdesignicons-webfont.woff2 +0 -0
  40. data/overrides_tracker/assets/logo/android-chrome-192x192.png +0 -0
  41. data/overrides_tracker/assets/logo/android-chrome-512x512.png +0 -0
  42. data/overrides_tracker/assets/logo/apple-touch-icon.png +0 -0
  43. data/overrides_tracker/assets/logo/browserconfig.xml +9 -0
  44. data/overrides_tracker/assets/logo/favicon-16x16.png +0 -0
  45. data/overrides_tracker/assets/logo/favicon-32x32.png +0 -0
  46. data/overrides_tracker/assets/logo/favicon.ico +0 -0
  47. data/overrides_tracker/assets/logo/icon.png +0 -0
  48. data/overrides_tracker/assets/logo/logo.svg +3 -0
  49. data/overrides_tracker/assets/logo/mstile-150x150.png +0 -0
  50. data/overrides_tracker/assets/logo/safari-pinned-tab.svg +58 -0
  51. data/overrides_tracker/assets/logo/site.webmanifest +19 -0
  52. data/overrides_tracker/assets/logo.svg +3 -0
  53. data/overrides_tracker/assets/materialdesignicons.css +25 -0
  54. data/overrides_tracker/assets/script.js +64 -0
  55. data/overrides_tracker/assets/style.css +104 -0
  56. data/overrides_tracker/branch_name#last_commit_id.otf +1 -1
  57. data/overrides_tracker/compare.html +115 -0
  58. data/overrides_tracker/summary.html +173 -0
  59. data/spec/overrides_tracker/methods_collector_spec.rb +27 -0
  60. metadata +50 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b86f564c126feb046fac5729c3f145c95012a7c13fb0e5aedffa8b54f6f69e48
4
- data.tar.gz: 34d3666bd2e2561f033cc65c8cf25b830b7faab9dd1dd08bd1de7c06a86eaac8
3
+ metadata.gz: 7df2d3a56350af2e8e155c8d85a54e465c5ff25a1fc014026e88dc4b9232a2e1
4
+ data.tar.gz: 351e3129eddc20d1b501d7747b4f437eba3c07a48f3cb4dd86f1613134f9d989
5
5
  SHA512:
6
- metadata.gz: 7dd9ae84a57ebd5eaf9a0e4486d88addbb715672564295345e34080840617b5c5d018539818fee703cbd31ba909bbcc5a9fd437dfa3c97fb6442a6727c3dd31a
7
- data.tar.gz: faa22948fef3f19d057723ccd2263e814002b9f1188e14be2955d7ec6947540cb64dd5c4b2543b8b88b2d37721a7cdc9068c6352f60d35218caedf3a267c7f06
6
+ metadata.gz: 917e19a23e228cc504c30f870fcc682b7149528870f05bd0adb4eda9feaf148f9c5849598dd29188de4fdeb66f15d2733b9be2ddf3234f8b12b39501ec619852
7
+ data.tar.gz: fd594e45dd70fdc85dda646063748c4c2ab30f8f09e12979bf9d723d97958b09f4ad0375993acf4b2aa8cc04b6fc89ef8aea6fee6bae055637fd00558a4c2c0c
data/CHANGELOG.md CHANGED
@@ -1,2 +1,5 @@
1
+ # v0.3.0
2
+ This version comes with a html report on tracking and comparison.
3
+
1
4
  # Overrides Tracker
2
5
  Overrides Tracker keeps track of all overriding methods in your project and allows for comparison across branches.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- overrides_tracker (0.2.0)
4
+ overrides_tracker (0.2.3)
5
5
  activesupport
6
6
  method_source
7
7
 
data/README.md CHANGED
@@ -1,5 +1,5 @@
1
1
  # Overrides Tracker
2
- Overrides Tracker keeps track of all overriding methods in your project and allows for comparison across branches.
2
+ Overrides Tracker keeps track of all overriding methods and their originals inside and outside of your codebase and allows for comparison across branches.
3
3
 
4
4
  [![Gem Version](https://badge.fury.io/rb/overrides_tracker.svg)](https://badge.fury.io/rb/overrides_tracker)
5
5
  [![Coverage Status](https://coveralls.io/repos/github/SyborgStudios/overrides_tracker/badge.svg?branch=master)](https://coveralls.io/github/SyborgStudios/overrides_tracker?branch=master)
@@ -20,148 +20,53 @@ Getting started
20
20
  ```ruby
21
21
  gem 'overrides_tracker', group: [:test, :development]
22
22
  ```
23
- 2. Add `overrides_tracker/*.otf` to your .gitignore file because you want to keep hold of your report file when switching branches.
23
+ 2. Add `overrides_tracker/*` to your .gitignore file because you want to keep hold of your report file when switching branches.
24
24
 
25
- 3. Track you overrides by running:
25
+ 3. Track your overrides by running:
26
26
  ```ruby
27
27
  bundle exec overrides_tracker track
28
28
  ```
29
29
 
30
- The output will look like this.
30
+ This will print out all overrides on the terminal as well as generate a nice and clean HTML summary.
31
+ That summary can be found under overrides_tracker/summary.html and will look somewhat like this:
31
32
 
32
- ```
33
- Reading all methods...
34
- Checking...AClass
35
- Checking...BClass
36
- Method is a new instance method: AClass#a_new_method
37
- Method is instance override: AClass#a_instance_method_override
38
- .
39
- .
40
- .
41
- Checking...YClass
42
- Method is a new singleton method: YClass#a_new_method
43
- Method is singleton override: YClass#a_singelton_method_override
44
- Checking...ZClass
45
-
46
- ===========
47
- Report saved to /PATH_TO_PROJECT/overrides_tracker/BRANCH_NAME#LAST_COMMIT_ID.otf
48
- ```
33
+ <p float="left">
34
+ <img width="800" alt="" src="https://user-images.githubusercontent.com/9799974/219690881-40c44093-70d1-4326-aa7b-8196b2f1742b.png">
35
+ </p>
49
36
 
50
37
  4. This will create a folder called overrides_tracker and a file containing all methods you override as well as your overrides in that branch.
51
38
 
52
39
  5. Switch branch and follow steps 1-3 again. If you want to compare multiple branches you need to redo these steps for every branch.
53
40
 
54
- 6. Now you have at least 2 files in the overrides_tracker folder
41
+ 6. Now you have at least 2 otf-files in the overrides_tracker folder
55
42
 
56
43
  7. It's time to compare these overrides accross branches.
57
44
  ```ruby
58
45
  bundle exec overrides_tracker compare
59
46
  ````
60
47
 
61
- 8. The result gives you an overview on what has changed and what not.
62
-
63
- ```
64
- ===========================================================================================
65
-
66
- 1) Override: OrdinaryGem::AnotherTypicalClass#a_singleton_method_that_stays_the_same
67
-
68
- ...........................................................................................
69
-
70
- main#cc5a31dc4833734a177f01bd161047f8c7909e16.otf
71
- -------------------------------------------------------------------------------------------
72
-
73
- Original:
74
-
75
- def self.a_singleton_method_that_stays_the_same
76
- "This is the implementation of a simple singleton method."
77
- "This method will stay the same in the next version."
78
- end
79
-
80
-
81
- in BUNDLE_PATH/bundler/gems/ordinary-gem-e67e062189bb/lib/ordinary_gem/another_typical_class.rb:19
82
-
83
-
84
- -------------------------------------------------------------------------------------------
85
-
86
- Override:
87
-
88
- def self.a_singleton_method_that_stays_the_same
89
- "This is our override of a simple singleton method."
90
- "This method should stay the same in the next version."
91
- end
92
-
93
-
94
- in: APP_PATH/app/models/ordinary_gem/another_typical_class_monkey_patch.rb:2
95
-
96
-
97
-
98
- ...........................................................................................
99
-
100
- attached-to-next-version#a7231014c006a4a5848eb4d92bb465eb5c89ee01.otf
101
- -------------------------------------------------------------------------------------------
102
-
103
- Original:
48
+ 8. The result will be printed on the terminal as well as written as nice and clean HTML.
49
+ That comparison can be found under overrides_tracker/compare.html and will look somewhat like this:
104
50
 
105
- def self.a_singleton_method_that_stays_the_same
106
- "This is the implementation of a simple singleton method."
107
- "This method will stay the same in the next version."
108
- end
109
-
110
-
111
- in BUNDLE_PATH/bundler/gems/ordinary-gem-f92e5a1a70a6/lib/ordinary_gem/another_typical_class.rb:13
112
-
113
-
114
- -------------------------------------------------------------------------------------------
115
-
116
- Override:
117
-
118
- def self.a_singleton_method_that_stays_the_same
119
- "This is our override of a simple singleton method."
120
- "This method should stay the same in the next version."
121
- end
122
-
123
-
124
- in: APP_PATH/app/models/ordinary_gem/another_typical_class_monkey_patch.rb:2
125
-
126
-
127
-
128
- ...........................................................................................
129
-
130
- main#1d279724b26c9491e6e5a01e9711b61a73e9f7e0.otf
131
- Method not available
132
-
133
-
134
-
135
-
136
-
137
- ...........................................................................................
138
- .
139
- .
140
- .
141
- .
142
- ===========================================================================================
143
-
144
- Summary:
145
-
146
- Investigated methods: 70
147
- Diffences on overrides: 42
148
- Diffences on added methods: 28
149
-
150
- ```
51
+ <p float="left">
52
+ <img width="800" alt="" src="https://user-images.githubusercontent.com/9799974/219691633-b270db0f-8587-4b2b-91b7-8aecc36501dc.png">
53
+ </p>
151
54
 
152
- ## Overrides.io integration
153
- <img width="1000" alt="Bildschirm­foto 2023-01-10 um 21 39 42" src="https://user-images.githubusercontent.com/9799974/211657428-c2a7e272-ae86-4c1c-8e77-0a07acc1a4a0.png">
55
+ ## Integrate Overrides Tracker into your CI/CD pipeline with Overrides.io
154
56
 
155
57
  Overrides.io is a service that monitors code you override for changes. It notifies you whenever those changes occur.
156
58
  Additionally it gives you a beautiful overview of all the methods you have overridden as well as your overrides side by side.
157
59
  <p float="left">
158
- <img width="500" alt="Bildschirm­foto 2023-01-10 um 21 39 15" src="https://user-images.githubusercontent.com/9799974/211658325-60c21057-1a07-4b55-a4d5-3d82470fb3ee.png">
159
- <img width="500" alt="Bildschirm­foto 2023-01-10 um 21 39 28" src="https://user-images.githubusercontent.com/9799974/211658362-f50435dd-56c5-498b-9038-f702addb0717.png">
60
+ <img width="500" alt="Project View" src="https://user-images.githubusercontent.com/9799974/211658325-60c21057-1a07-4b55-a4d5-3d82470fb3ee.png">
61
+ <img width="500" alt="Build View" src="https://user-images.githubusercontent.com/9799974/211658362-f50435dd-56c5-498b-9038-f702addb0717.png">
62
+ <img width="500" alt="Comparison View" src="https://user-images.githubusercontent.com/9799974/219853892-988d8c81-01ba-4d95-a335-cd9ceeddcf67.png">
160
63
  </p>
161
- Overrides Tracker can easily be integrated into you CI/CD pipeline and configured to send the result files to overrides.io.
162
64
 
163
- You basically just have to set OVERRIDES_API_TOKEN environment variable and call 'bundle exec overrides_tracker track'.
164
- To push it to overrides.io locally you could also just call 'bundle exec overrides_tracker track YOUR_OVERRIDES_API_TOKEN'.
65
+ Overrides Tracker can easily be integrated into your CI/CD pipeline.
66
+ Just sign up at Overrides.io and setup your project within a view seconds and you will receive an OVERRIDES_API_TOKEN.
67
+
68
+ Now just set OVERRIDES_API_TOKEN environment variable with the value of that token and call 'bundle exec overrides_tracker track'.
69
+ To push the result file to overrides.io manually you could also just call 'bundle exec overrides_tracker track YOUR_OVERRIDES_API_TOKEN'.
165
70
 
166
71
  You can find a detailed description how to integrate it with CircleCI, GitHub Action and Jenkins here:
167
72
 
@@ -30,6 +30,7 @@ if ARGV[0] == 'track'
30
30
 
31
31
  OverridesTracker::MethodsCollector.instance.build_overrides_hash
32
32
  OverridesTracker::MethodsCollector.instance.summarize_overrides
33
+ OverridesTracker::MethodsCollector.instance.write_html_report
33
34
  OverridesTracker::MethodsCollector.instance.save_to_file
34
35
 
35
36
  if ENV['OVERRIDES_API_TOKEN']
@@ -96,7 +96,7 @@ module RequireAll
96
96
  files.map { |file_| File.expand_path file_ }.sort.each do |file_|
97
97
  begin
98
98
  __require(options[:method], file_)
99
- rescue NameError => e
99
+ rescue
100
100
  # Only wrap NameError exceptions for uninitialized constants
101
101
  #raise e unless e.instance_of?(NameError) && e.message.include?('uninitialized constant')
102
102
  #raise LoadError, "Could not require #{file_} (#{e}). Please require the necessary files"
@@ -205,7 +205,10 @@ module RequireAll
205
205
  private
206
206
 
207
207
  def __require(method, file)
208
- Kernel.send(method, file)
208
+ begin
209
+ Kernel.send(method, file)
210
+ rescue LoadError => e
211
+ end
209
212
  end
210
213
 
211
214
  def __autoload(file, full_path, options)
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <browserconfig>
3
+ <msapplication>
4
+ <tile>
5
+ <square150x150logo src="/mstile-150x150.png"/>
6
+ <TileColor>#da532c</TileColor>
7
+ </tile>
8
+ </msapplication>
9
+ </browserconfig>
Binary file
Binary file
@@ -0,0 +1,3 @@
1
+ <svg width="1029" height="173" viewBox="0 0 1029 173" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M177.966 86.719C177.985 85.9578 177.995 85.1939 177.995 84.4275C177.995 37.3927 140.368 0 92.8623 0C45.5923 0 8.19961 37.3927 8.19961 84.4275C8.19961 91.859 9.12382 99.0522 10.8653 105.898L51.1969 101.269C49.2471 96.1824 48.1792 90.6595 48.1792 84.8979C48.1792 60.2046 68.169 39.0389 93.0975 39.0389C117.556 39.0389 138.016 60.2046 138.016 84.8979C138.016 87.0892 137.858 89.2461 137.553 91.3575L177.966 86.719ZM359.798 65.8488L305.203 72.1151V3.52761H407.738V42.3314H345.182V65.8488H359.798ZM470.017 4.46831C496.602 7.40046 517.175 23.4935 523.363 47.0751L482.071 51.8145C477.041 44.2327 466.713 41.1555 455.201 41.1555H454.731V54.9525L414.751 59.5413V3.52761H440.621C459.905 3.52761 465.079 3.99797 470.017 4.46831ZM635.751 34.1755C626.51 17.7173 609.005 6.82866 587.604 4.46831C582.666 3.99797 577.492 3.52761 558.208 3.52761H532.339V46.0449L572.318 41.4562V41.1555H572.788C573.426 41.1555 574.06 41.1649 574.689 41.184L635.751 34.1755ZM649.926 32.5486L689.905 27.9598V3.52761H649.926V32.5486ZM786.745 16.8447L697.006 27.1447V3.52761H725.227C740.514 3.52761 751.332 4.23314 757.917 5.40901C767.839 7.09796 777.741 11.0191 786.745 16.8447ZM828.833 12.0141L902.771 3.52761H828.833V12.0141ZM297.271 73.0254L255.984 77.7642C257.54 70.5159 258.278 62.5208 258.278 53.8549V3.52761H298.258V54.7956C298.258 61.1611 297.923 67.2363 297.271 73.0254ZM183.022 86.1386L223.002 81.5499V3.52761H183.022V86.1386ZM817.808 16.3212L897.259 7.20206H920.344V46.0058H857.788V69.5232H900.119V107.151H857.788V130.669H920.344V169.472H817.808V16.3212ZM685.982 31.4519L776.543 21.0576C797.227 34.7903 812.976 58.6439 812.976 88.5723C812.976 125.73 788.753 153.951 759.121 164.063C748.774 167.591 735.839 169.472 714.203 169.472H685.982V31.4519ZM726.432 46.0058H725.962V130.669H726.432C756.77 130.669 772.997 110.679 772.997 88.5723C772.997 66.466 756.77 46.0058 726.432 46.0058ZM678.881 32.2669L638.902 36.8557V169.472H678.881V32.2669ZM521.315 50.352V169.472H561.294V125.965H561.764C580.108 125.965 593.513 140.781 593.513 158.889V169.472H633.493V158.889C633.493 135.842 625.026 118.675 610.21 107.857C623.85 98.6848 631.846 84.5744 631.846 65.9956C631.846 55.7451 629.419 46.4507 625.056 38.4448L567.256 45.079C581.001 46.3713 591.867 52.812 591.867 67.1715C591.867 83.3985 577.991 88.3372 561.764 88.3372H561.294V45.7633L521.315 50.352ZM403.727 169.472V63.8484L443.707 59.2597V88.3372H444.177C460.404 88.3372 474.28 83.3985 474.28 67.1715C474.28 62.75 473.249 59.0793 471.422 56.0786L512.497 51.3641C513.651 55.974 514.259 60.865 514.259 65.9956C514.259 84.5744 506.263 98.6848 492.623 107.857C507.439 118.675 515.905 135.842 515.905 158.889V169.472H475.926V158.889C475.926 140.781 462.521 125.965 444.177 125.965H443.707V169.472H403.727ZM294.178 76.4222L354.286 69.5232H376.489V107.151H334.158V130.669H396.714V169.472H294.178V76.4222ZM286.174 77.341L244.818 82.0877C240.46 101.646 230.051 115.682 211.978 122.673V85.857L171.998 90.4457V169.472C233.234 169.472 278.766 140.615 286.174 77.341ZM-4.57764e-05 110.187C9.54409 146.571 42.2224 173 81.8382 173C128.359 173 165.407 136.915 166.923 91.0282L126.431 95.6759C122.991 117.272 104.162 133.961 82.0734 133.961C63.1359 133.961 47.0486 122.153 40.4099 105.549L-4.57764e-05 110.187ZM926.433 169.472H978.877C1006.16 169.472 1028.5 149.482 1028.5 119.38C1028.5 105.975 1024.03 93.2758 1014.39 84.8095C1005.45 77.0488 993.693 73.5212 976.525 68.5825C969.235 66.466 965.942 61.9977 965.942 56.1183C965.942 50.4741 969.941 46.0058 978.407 46.0058H1008.51V7.20206H986.638C975.82 7.20206 968.765 7.20206 961.944 8.61312C940.073 13.0814 925.963 31.1898 925.963 55.8831C925.963 69.0529 929.961 80.5764 938.662 89.513C946.442 97.5214 955.78 100.632 975.773 107.292L977.466 107.857C983.11 109.738 988.519 113.971 988.519 120.321C988.519 125.965 984.051 130.669 974.174 130.669H926.433V169.472Z" fill="#F2D51E"/>
3
+ </svg>
@@ -0,0 +1,58 @@
1
+ <?xml version="1.0" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
3
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
4
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg"
5
+ width="830.000000pt" height="830.000000pt" viewBox="0 0 830.000000 830.000000"
6
+ preserveAspectRatio="xMidYMid meet">
7
+ <metadata>
8
+ Created by potrace 1.14, written by Peter Selinger 2001-2017
9
+ </metadata>
10
+ <g transform="translate(0.000000,830.000000) scale(0.100000,-0.100000)"
11
+ fill="#000000" stroke="none">
12
+ <path d="M3958 7705 c-2 -2 -35 -6 -73 -10 -71 -5 -141 -13 -184 -20 -13 -2
13
+ -45 -7 -70 -11 -25 -3 -86 -15 -136 -26 -49 -11 -101 -21 -114 -24 -92 -19
14
+ -397 -113 -466 -144 -11 -5 -54 -23 -95 -41 -847 -359 -1515 -1034 -1866
15
+ -1884 -59 -143 -149 -426 -168 -525 -2 -14 -14 -68 -24 -120 -20 -95 -25 -122
16
+ -37 -215 -4 -27 -9 -61 -11 -75 -26 -161 -25 -714 1 -849 2 -10 6 -42 10 -72
17
+ 14 -116 65 -364 80 -389 3 -6 10 -8 13 -6 4 2 34 7 67 10 33 4 71 8 85 11 22
18
+ 3 86 11 170 20 14 1 59 6 100 9 41 4 82 9 90 11 8 2 44 7 80 10 36 4 76 8 90
19
+ 10 24 3 56 7 175 20 28 3 66 7 85 10 35 5 85 10 183 21 28 3 63 7 77 9 22 3
20
+ 87 11 185 21 101 11 236 27 248 30 4 1 14 2 21 3 13 1 13 6 0 38 -31 73 -71
21
+ 223 -89 328 -4 22 -9 51 -11 65 -10 52 -12 398 -3 460 5 36 12 83 15 105 30
22
+ 213 127 472 253 680 261 430 676 741 1150 861 89 23 112 27 194 38 167 23 335
23
+ 23 482 1 17 -3 48 -7 70 -10 22 -4 58 -11 80 -17 22 -5 49 -12 60 -14 101 -19
24
+ 323 -112 460 -191 183 -106 410 -299 517 -438 12 -16 28 -36 35 -43 7 -7 46
25
+ -64 87 -125 172 -258 276 -538 314 -842 9 -74 8 -386 -1 -437 -4 -20 -3 -39 1
26
+ -42 4 -2 39 -1 77 4 39 5 97 12 130 15 33 4 73 9 90 11 16 3 52 7 80 9 27 3
27
+ 66 7 85 9 19 3 60 8 90 11 30 4 66 8 80 10 14 2 52 7 85 10 33 3 76 7 95 10
28
+ 79 9 137 16 175 20 22 2 60 6 85 9 25 4 63 8 85 10 22 2 63 7 90 10 92 12 110
29
+ 14 170 21 33 3 74 8 90 10 17 2 60 7 98 10 59 7 68 10 73 30 6 24 -2 335 -10
30
+ 390 -3 17 -10 77 -17 135 -9 85 -36 238 -65 375 -13 62 -79 288 -105 358 -194
31
+ 525 -449 927 -828 1308 -375 375 -847 668 -1351 839 -126 42 -391 113 -465
32
+ 124 -22 3 -62 10 -90 16 -27 5 -68 12 -90 14 -82 10 -131 16 -170 22 -45 6
33
+ -611 14 -617 9z"/>
34
+ <path d="M7898 3983 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
35
+ <path d="M7270 3916 c-3 -2 -34 -7 -70 -10 -36 -3 -74 -8 -85 -10 -11 -2 -54
36
+ -7 -95 -11 -41 -4 -84 -9 -94 -11 -11 -2 -44 -6 -75 -9 -31 -3 -72 -7 -91 -10
37
+ -19 -2 -60 -7 -90 -10 -30 -4 -66 -8 -80 -10 -14 -2 -52 -6 -85 -10 -33 -3
38
+ -78 -8 -100 -11 -22 -3 -60 -7 -85 -9 -42 -4 -86 -9 -170 -20 -19 -2 -60 -7
39
+ -90 -10 -48 -5 -98 -11 -253 -30 -20 -2 -65 -7 -100 -11 -90 -10 -92 -10 -93
40
+ -20 -6 -98 -84 -349 -155 -499 -36 -77 -140 -255 -173 -297 -12 -14 -32 -41
41
+ -46 -59 -178 -236 -489 -477 -745 -579 -33 -13 -64 -26 -70 -30 -5 -4 -19 -10
42
+ -30 -13 -11 -3 -58 -17 -105 -31 -47 -15 -94 -28 -105 -30 -239 -44 -269 -47
43
+ -420 -46 -137 1 -173 4 -305 26 -200 34 -324 75 -517 170 -330 163 -628 446
44
+ -799 760 -20 38 -40 74 -44 79 -4 6 -20 41 -35 78 l-29 69 -65 -7 c-36 -3 -79
45
+ -8 -96 -10 -33 -4 -200 -24 -255 -30 -19 -2 -57 -6 -85 -10 -27 -3 -68 -8 -90
46
+ -10 -22 -2 -58 -6 -80 -9 -22 -3 -65 -8 -95 -11 -30 -3 -89 -9 -130 -15 -108
47
+ -13 -180 -22 -220 -25 -19 -2 -53 -6 -75 -9 -40 -5 -80 -10 -190 -21 -33 -3
48
+ -71 -8 -85 -10 -14 -2 -50 -7 -80 -10 -83 -9 -135 -16 -138 -20 -4 -4 39 -150
49
+ 75 -255 142 -413 357 -787 656 -1145 62 -73 282 -293 362 -362 349 -298 754
50
+ -530 1160 -665 219 -72 380 -112 580 -142 61 -10 121 -19 135 -22 74 -12 231
51
+ -19 440 -19 243 0 409 10 520 30 14 3 45 7 70 11 25 3 53 8 63 10 10 3 30 7
52
+ 45 9 15 2 68 13 117 25 50 12 99 23 109 26 31 6 215 63 289 90 186 66 410 170
53
+ 572 264 50 29 99 58 110 64 11 6 56 36 100 65 564 382 1004 913 1268 1532 66
54
+ 154 146 387 172 499 1 8 10 42 18 75 9 33 21 88 27 122 11 61 15 84 25 141 3
55
+ 15 8 54 11 87 4 33 8 62 10 65 4 8 17 191 18 250 1 33 -3 46 -14 48 -9 1 -18
56
+ 1 -20 -2z"/>
57
+ </g>
58
+ </svg>
@@ -0,0 +1,19 @@
1
+ {
2
+ "name": "",
3
+ "short_name": "",
4
+ "icons": [
5
+ {
6
+ "src": "/android-chrome-192x192.png",
7
+ "sizes": "192x192",
8
+ "type": "image/png"
9
+ },
10
+ {
11
+ "src": "/android-chrome-512x512.png",
12
+ "sizes": "512x512",
13
+ "type": "image/png"
14
+ }
15
+ ],
16
+ "theme_color": "#ffffff",
17
+ "background_color": "#ffffff",
18
+ "display": "standalone"
19
+ }
@@ -0,0 +1,3 @@
1
+ <svg width="1029" height="173" viewBox="0 0 1029 173" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M177.966 86.719C177.985 85.9578 177.995 85.1939 177.995 84.4275C177.995 37.3927 140.368 0 92.8623 0C45.5923 0 8.19961 37.3927 8.19961 84.4275C8.19961 91.859 9.12382 99.0522 10.8653 105.898L51.1969 101.269C49.2471 96.1824 48.1792 90.6595 48.1792 84.8979C48.1792 60.2046 68.169 39.0389 93.0975 39.0389C117.556 39.0389 138.016 60.2046 138.016 84.8979C138.016 87.0892 137.858 89.2461 137.553 91.3575L177.966 86.719ZM359.798 65.8488L305.203 72.1151V3.52761H407.738V42.3314H345.182V65.8488H359.798ZM470.017 4.46831C496.602 7.40046 517.175 23.4935 523.363 47.0751L482.071 51.8145C477.041 44.2327 466.713 41.1555 455.201 41.1555H454.731V54.9525L414.751 59.5413V3.52761H440.621C459.905 3.52761 465.079 3.99797 470.017 4.46831ZM635.751 34.1755C626.51 17.7173 609.005 6.82866 587.604 4.46831C582.666 3.99797 577.492 3.52761 558.208 3.52761H532.339V46.0449L572.318 41.4562V41.1555H572.788C573.426 41.1555 574.06 41.1649 574.689 41.184L635.751 34.1755ZM649.926 32.5486L689.905 27.9598V3.52761H649.926V32.5486ZM786.745 16.8447L697.006 27.1447V3.52761H725.227C740.514 3.52761 751.332 4.23314 757.917 5.40901C767.839 7.09796 777.741 11.0191 786.745 16.8447ZM828.833 12.0141L902.771 3.52761H828.833V12.0141ZM297.271 73.0254L255.984 77.7642C257.54 70.5159 258.278 62.5208 258.278 53.8549V3.52761H298.258V54.7956C298.258 61.1611 297.923 67.2363 297.271 73.0254ZM183.022 86.1386L223.002 81.5499V3.52761H183.022V86.1386ZM817.808 16.3212L897.259 7.20206H920.344V46.0058H857.788V69.5232H900.119V107.151H857.788V130.669H920.344V169.472H817.808V16.3212ZM685.982 31.4519L776.543 21.0576C797.227 34.7903 812.976 58.6439 812.976 88.5723C812.976 125.73 788.753 153.951 759.121 164.063C748.774 167.591 735.839 169.472 714.203 169.472H685.982V31.4519ZM726.432 46.0058H725.962V130.669H726.432C756.77 130.669 772.997 110.679 772.997 88.5723C772.997 66.466 756.77 46.0058 726.432 46.0058ZM678.881 32.2669L638.902 36.8557V169.472H678.881V32.2669ZM521.315 50.352V169.472H561.294V125.965H561.764C580.108 125.965 593.513 140.781 593.513 158.889V169.472H633.493V158.889C633.493 135.842 625.026 118.675 610.21 107.857C623.85 98.6848 631.846 84.5744 631.846 65.9956C631.846 55.7451 629.419 46.4507 625.056 38.4448L567.256 45.079C581.001 46.3713 591.867 52.812 591.867 67.1715C591.867 83.3985 577.991 88.3372 561.764 88.3372H561.294V45.7633L521.315 50.352ZM403.727 169.472V63.8484L443.707 59.2597V88.3372H444.177C460.404 88.3372 474.28 83.3985 474.28 67.1715C474.28 62.75 473.249 59.0793 471.422 56.0786L512.497 51.3641C513.651 55.974 514.259 60.865 514.259 65.9956C514.259 84.5744 506.263 98.6848 492.623 107.857C507.439 118.675 515.905 135.842 515.905 158.889V169.472H475.926V158.889C475.926 140.781 462.521 125.965 444.177 125.965H443.707V169.472H403.727ZM294.178 76.4222L354.286 69.5232H376.489V107.151H334.158V130.669H396.714V169.472H294.178V76.4222ZM286.174 77.341L244.818 82.0877C240.46 101.646 230.051 115.682 211.978 122.673V85.857L171.998 90.4457V169.472C233.234 169.472 278.766 140.615 286.174 77.341ZM-4.57764e-05 110.187C9.54409 146.571 42.2224 173 81.8382 173C128.359 173 165.407 136.915 166.923 91.0282L126.431 95.6759C122.991 117.272 104.162 133.961 82.0734 133.961C63.1359 133.961 47.0486 122.153 40.4099 105.549L-4.57764e-05 110.187ZM926.433 169.472H978.877C1006.16 169.472 1028.5 149.482 1028.5 119.38C1028.5 105.975 1024.03 93.2758 1014.39 84.8095C1005.45 77.0488 993.693 73.5212 976.525 68.5825C969.235 66.466 965.942 61.9977 965.942 56.1183C965.942 50.4741 969.941 46.0058 978.407 46.0058H1008.51V7.20206H986.638C975.82 7.20206 968.765 7.20206 961.944 8.61312C940.073 13.0814 925.963 31.1898 925.963 55.8831C925.963 69.0529 929.961 80.5764 938.662 89.513C946.442 97.5214 955.78 100.632 975.773 107.292L977.466 107.857C983.11 109.738 988.519 113.971 988.519 120.321C988.519 125.965 984.051 130.669 974.174 130.669H926.433V169.472Z" fill="#F2D51E"/>
3
+ </svg>
@@ -0,0 +1,25 @@
1
+ /* MaterialDesignIcons.com */
2
+
3
+
4
+ @font-face {
5
+ font-family: "Material Design Icons";
6
+ src: url("./fonts/materialdesignicons-webfont.eot");
7
+ src: url("./fonts/materialdesignicons-webfont.eot?#iefix") format("embedded-opentype"), url("./fonts/materialdesignicons-webfont.woff2") format("woff2"), url("./fonts/materialdesignicons-webfont.woff") format("woff"), url("./fonts/materialdesignicons-webfont.ttf") format("truetype");
8
+ font-weight: normal;
9
+ font-style: normal;
10
+ }
11
+
12
+ .mdi:before,
13
+ .mdi-set {
14
+ display: inline-block;
15
+ font: normal normal normal 24px/1 "Material Design Icons";
16
+ font-size: inherit;
17
+ text-rendering: auto;
18
+ line-height: inherit;
19
+ -webkit-font-smoothing: antialiased;
20
+ -moz-osx-font-smoothing: grayscale;
21
+ }
22
+
23
+ .mdi-content-copy::before {
24
+ content: "\F18F";
25
+ }
@@ -0,0 +1,64 @@
1
+
2
+ $(document).ready(function() {
3
+ var clipboard = new ClipboardJS('.clipboard-btn');
4
+
5
+ function setTooltip(btn, message) {
6
+ $(btn).attr('title', message)
7
+
8
+ var tooltip = new bootstrap.Tooltip($(btn), {
9
+ });
10
+ tooltip.show();
11
+ }
12
+
13
+ function hideTooltip(btn) {
14
+ setTimeout(function() {
15
+ $(btn).tooltip('hide');
16
+ }, 1000);
17
+ }
18
+
19
+ clipboard.on('success', function(e) {
20
+ setTooltip(e.trigger, 'Copied!');
21
+ hideTooltip(e.trigger);
22
+ });
23
+
24
+ clipboard.on('error', function(e) {
25
+ setTooltip(e.trigger, 'Failed!');
26
+ hideTooltip(e.trigger);
27
+ });
28
+
29
+ $('.nav-link').click(function() {
30
+ $('.nav-link').removeClass('active');
31
+ $(this).addClass('active');
32
+ }
33
+ );
34
+
35
+
36
+
37
+ $("pre code").html(function(index, html) {
38
+ return html.trim().replace(/^(.*)$/mg, "<span class=\"line\">$1</span>");
39
+ });
40
+
41
+
42
+ $('.marked_block').each(function( index ) {
43
+ lines_to_mark = $( this ).data('mark-lines');
44
+ for (var i in lines_to_mark) {
45
+ line_index = lines_to_mark[i]+1;
46
+ if($( this ).children().length > line_index){
47
+ $( this ).children('span:nth-child('+line_index+')').addClass('mark');
48
+ }
49
+ }
50
+ });
51
+
52
+
53
+ $(window).resize(function(){
54
+ if($('.scrollbox').length > 0 ){
55
+ $('.scrollbox').height($(window).height()-$('.scrollbox').position().top);
56
+ }
57
+ $('.content-wrapper').css('min-height', $(window).height()+'px');
58
+ });
59
+ if($('.scrollbox').length > 0 ){
60
+ $('.scrollbox').height($(window).height()-$('.scrollbox').position().top);
61
+ }
62
+
63
+
64
+ });
@@ -0,0 +1,104 @@
1
+ @font-face {
2
+ font-family: "RedHatText";
3
+ src: url("fonts/RedHatText-VariableFont_wght.ttf") format('truetype');
4
+ font-weight: normal;
5
+ font-style: normal;
6
+ }
7
+ body{
8
+ background-color: #212529 !important;
9
+ }
10
+ h1,h2,h3,h4,h5,h6{
11
+ font-family: "RedHatText" !important;
12
+ font-weight: 400;
13
+ color: #ffffff !important;
14
+ }
15
+ p{
16
+ color: #ffffff !important;
17
+ }
18
+ code{
19
+ color: #ffffff !important;
20
+ }
21
+ .text-muted{
22
+ color: #888888 !important;
23
+ }
24
+ pre{
25
+ border: 1px solid #F2D51E !important;
26
+ padding: 5px;
27
+ white-space: -moz-pre-wrap;
28
+ white-space: -pre-wrap;
29
+ white-space: -o-pre-wrap;
30
+ white-space: pre-wrap;
31
+ word-wrap: break-word;
32
+ background-color: #343a40 !important;
33
+ }
34
+ .card{
35
+ background-color: #343a40 !important;
36
+ border: 1px solid #F2D51E !important;
37
+ border-radius: 0px !important;
38
+ }
39
+ pre code .line::before {
40
+ content: counter(line-numbering);
41
+ counter-increment: line-numbering;
42
+ padding-right: .8em; /* space after numbers */
43
+ margin-right: 5px;
44
+ width: 1.5em;
45
+ text-align: right;
46
+ opacity: 1;
47
+ color: #F2D51E;
48
+ /*background-color:$yellow;*/
49
+ }
50
+ .logo{
51
+ height: 80px;
52
+ padding-top: 15px;
53
+
54
+ }
55
+ hr{
56
+ color:#ffffff;
57
+ }
58
+ .accordion, .accordion-item, .accordion-button, .accordion-collapse, .accordion-body{
59
+ background-color: #212529 !important;
60
+ transition: none;
61
+ }
62
+ .accordion-body{
63
+ background-color: #212529 !important;
64
+ padding: 0 !important;
65
+ }
66
+ .nav-tabs {
67
+ --bs-nav-tabs-border-width: 1px;
68
+ --bs-nav-tabs-border-color: #dee2e6;
69
+ --bs-nav-tabs-border-radius: 0 !important;
70
+ --bs-nav-tabs-link-hover-border-color: #F2D51E;
71
+ --bs-nav-tabs-link-active-color: #F2D51E;
72
+ --bs-nav-tabs-link-active-bg: #212529;
73
+ --bs-nav-tabs-link-active-border-color: #dee2e6 #dee2e6 #212529;
74
+ border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
75
+ }
76
+ .nav-link{
77
+ color: #ffffff !important;
78
+ }
79
+ .nav-link.active{
80
+ color: #F2D51E !important;
81
+ }
82
+ .nav-link:hover{
83
+ color: #F2D51E !important;
84
+ }
85
+ .bg-yellow{
86
+ background-color: #F2D51E;
87
+ }
88
+ .text-dark{
89
+ color: #212529 !important;
90
+ word-break: break-word;
91
+ }
92
+ .mark{
93
+ background-color: #6c757d !important;
94
+ width: 100%;
95
+ display: inline-block;
96
+ }
97
+ .scrollbox{
98
+ height:100%;
99
+ overflow-y: scroll;
100
+ overflow-x: hidden
101
+ }
102
+ .navbar{
103
+ color: #ffffff !important;
104
+ }