ezii-os 1.0.0 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Aptfile +2 -0
- data/Gemfile +3 -1
- data/Gemfile.lock +27 -0
- data/Procfile +2 -1
- data/app/assets/stylesheets/banal/brainstorms.scss +3 -0
- data/app/assets/stylesheets/banal/projects.scss +3 -0
- data/app/assets/stylesheets/tasks.scss +3 -0
- data/app/controllers/application_controller.rb +9 -0
- data/app/controllers/banal/brainstorms_controller.rb +74 -0
- data/app/controllers/banal/projects_controller.rb +74 -0
- data/app/controllers/directories_controller.rb +2 -2
- data/app/controllers/ezii_os_files_controller.rb +17 -0
- data/app/controllers/tasks_controller.rb +74 -0
- data/app/helpers/banal/brainstorms_helper.rb +2 -0
- data/app/helpers/banal/projects_helper.rb +2 -0
- data/app/helpers/tasks_helper.rb +2 -0
- data/app/models/banal/brainstorm.rb +2 -0
- data/app/models/banal/project.rb +4 -0
- data/app/models/banal.rb +5 -0
- data/app/models/ezii_os_path.rb +2 -1
- data/app/models/task.rb +2 -0
- data/app/views/application/_navbar.html.erb +20 -0
- data/app/views/banal/brainstorms/_banal_brainstorm.json.jbuilder +2 -0
- data/app/views/banal/brainstorms/_form.html.erb +47 -0
- data/app/views/banal/brainstorms/edit.html.erb +6 -0
- data/app/views/banal/brainstorms/index.html.erb +37 -0
- data/app/views/banal/brainstorms/index.json.jbuilder +1 -0
- data/app/views/banal/brainstorms/new.html.erb +5 -0
- data/app/views/banal/brainstorms/show.html.erb +34 -0
- data/app/views/banal/brainstorms/show.json.jbuilder +1 -0
- data/app/views/banal/projects/_banal_project.json.jbuilder +2 -0
- data/app/views/banal/projects/_form.html.erb +22 -0
- data/app/views/banal/projects/edit.html.erb +6 -0
- data/app/views/banal/projects/index.html.erb +27 -0
- data/app/views/banal/projects/index.json.jbuilder +1 -0
- data/app/views/banal/projects/new.html.erb +5 -0
- data/app/views/banal/projects/show.html.erb +9 -0
- data/app/views/banal/projects/show.json.jbuilder +1 -0
- data/app/views/directories/show.html.erb +8 -4
- data/app/views/ezii_os_files/_entity_visual_selection.html.erb +66 -0
- data/app/views/ezii_os_files/_wit_ai_widget.html.erb +80 -72
- data/app/views/layouts/application.html.erb +26 -197
- data/app/views/layouts/application_legacy.html.erb +212 -0
- data/app/views/tasks/_form.html.erb +37 -0
- data/app/views/tasks/_task.json.jbuilder +2 -0
- data/app/views/tasks/edit.html.erb +6 -0
- data/app/views/tasks/index.html.erb +33 -0
- data/app/views/tasks/index.json.jbuilder +1 -0
- data/app/views/tasks/new.html.erb +5 -0
- data/app/views/tasks/show.html.erb +12 -0
- data/app/views/tasks/show.json.jbuilder +1 -0
- data/config/routes.rb +7 -0
- data/db/development.sqlite3 +0 -0
- data/db/migrate/20190912113509_create_tasks.rb +12 -0
- data/db/migrate/20190912173649_create_banal_projects.rb +9 -0
- data/db/migrate/20190912173916_create_banal_brainstorms.rb +14 -0
- data/db/seeds.rb +7 -0
- data/ezii-os.gemspec +1 -1
- data/lib/tasks/rgeo_supports_geos.rake +6 -0
- data/lib/tasks/task.rake +5 -5
- data/log/development.log +8016 -0
- data/test/controllers/banal/brainstorms_controller_test.rb +48 -0
- data/test/controllers/banal/projects_controller_test.rb +48 -0
- data/test/controllers/tasks_controller_test.rb +48 -0
- data/test/fixtures/banal/brainstorms.yml +17 -0
- data/test/fixtures/banal/projects.yml +7 -0
- data/test/fixtures/tasks.yml +13 -0
- data/test/models/banal/brainstorm_test.rb +7 -0
- data/test/models/banal/project_test.rb +7 -0
- data/test/models/task_test.rb +7 -0
- data/test/system/banal/brainstorms_test.rb +53 -0
- data/test/system/banal/projects_test.rb +43 -0
- data/test/system/tasks_test.rb +49 -0
- metadata +58 -4
- data/app/assets/stylesheets/scaffolds.scss +0 -84
- data/ezii-os-0.0.0.0.1.gem +0 -0
- data/ezii-os-0.0.0.1.0.gem +0 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
2
|
+
|
3
|
+
<h1>Banal Projects</h1>
|
4
|
+
|
5
|
+
<table>
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Name</th>
|
9
|
+
<th colspan="3"></th>
|
10
|
+
</tr>
|
11
|
+
</thead>
|
12
|
+
|
13
|
+
<tbody>
|
14
|
+
<% @banal_projects.each do |banal_project| %>
|
15
|
+
<tr>
|
16
|
+
<td><%= banal_project.name %></td>
|
17
|
+
<td><%= link_to 'Show', banal_project %></td>
|
18
|
+
<td><%= link_to 'Edit', edit_banal_project_path(banal_project) %></td>
|
19
|
+
<td><%= link_to 'Destroy', banal_project, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
20
|
+
</tr>
|
21
|
+
<% end %>
|
22
|
+
</tbody>
|
23
|
+
</table>
|
24
|
+
|
25
|
+
<br>
|
26
|
+
|
27
|
+
<%= link_to 'New Banal Project', new_banal_project_path %>
|
@@ -0,0 +1 @@
|
|
1
|
+
json.array! @banal_projects, partial: "banal_projects/banal_project", as: :banal_project
|
@@ -0,0 +1 @@
|
|
1
|
+
json.partial! "banal_projects/banal_project", banal_project: @banal_project
|
@@ -1,6 +1,6 @@
|
|
1
|
-
<ul>
|
1
|
+
<ul class="list-group">
|
2
2
|
<% @paths.each do |path| %>
|
3
|
-
<li>
|
3
|
+
<li class="list-group-item">
|
4
4
|
<%= path %>
|
5
5
|
<% if path.modified_at.present? %>
|
6
6
|
was modified
|
@@ -11,13 +11,17 @@
|
|
11
11
|
<% end %>
|
12
12
|
|
13
13
|
<% if path.file? %>
|
14
|
-
<%= link_to('Show INLINE (admin only)', ezii_os_file_path(path.global_path, admin: true)) %>
|
15
|
-
|
16
14
|
<% case File.extname(path.file_system_path) %>
|
15
|
+
<% when '.shp' %>
|
16
|
+
<%= link_to 'View', ezii_os_file_path(path.global_path) %>
|
17
|
+
<% when '.xlsx' %>
|
18
|
+
<%= link_to 'View', ezii_os_file_path(path.global_path) %>
|
17
19
|
<% when '.pdf' %>
|
18
20
|
<%= link_to 'View', ezii_os_file_path(path.global_path) %>
|
19
21
|
<% when '.jpg' %>
|
20
22
|
<%= link_to 'View', ezii_os_file_path(path.global_path) %>
|
23
|
+
<% when '.erb' %>
|
24
|
+
<%= link_to('Show INLINE (admin only)', ezii_os_file_path(path.global_path, admin: true)) %>
|
21
25
|
<% end %>
|
22
26
|
<% else %>
|
23
27
|
<%= link_to 'Change directory (cd)', directory_path(path.global_path) %>
|
@@ -0,0 +1,66 @@
|
|
1
|
+
|
2
|
+
<div id="entity-value-marking" style="display: none;">
|
3
|
+
<%=
|
4
|
+
File.read(file_path.global_path)
|
5
|
+
|
6
|
+
res = ""
|
7
|
+
|
8
|
+
Dir.mktmpdir do |dir|
|
9
|
+
Docsplit.extract_text([file_path.global_path], :ocr => false, :output => dir)
|
10
|
+
|
11
|
+
res = Dir.glob('*.txt', base: dir).map { |f| File.read(File.join(dir, f)) }
|
12
|
+
end
|
13
|
+
|
14
|
+
raw_text = res[0]
|
15
|
+
|
16
|
+
raw_text.each_char.with_index.map { |char,i| "<span data-index=#{i}>#{char}</span>" }.join('').gsub("\n", "<br />").html_safe
|
17
|
+
%>
|
18
|
+
</div>
|
19
|
+
|
20
|
+
|
21
|
+
<dl>
|
22
|
+
|
23
|
+
<p>
|
24
|
+
Specify an entity you want to annotate (either select previous or create a new one) and click the Search button.
|
25
|
+
|
26
|
+
Then you will see the raw text from the PDF and can select one occurence of the entity.
|
27
|
+
|
28
|
+
Just mark the text like you would mark text before copy & pasting something.
|
29
|
+
|
30
|
+
Once you confirm the text selection, the training data example will be automagically created for you.
|
31
|
+
</p>
|
32
|
+
<% 1.times do %>
|
33
|
+
<%= form_with model: WitAiParseModelExample.new do |f| %>
|
34
|
+
<%= f.hidden_field :parsable_resource, value: file_path %>
|
35
|
+
<%= f.hidden_field :parsable_resource_text, value: raw_text %>
|
36
|
+
<%= f.hidden_field :parsable_resource_entity_value_start_index %>
|
37
|
+
<%= f.hidden_field :parsable_resource_entity_value_end_index %>
|
38
|
+
|
39
|
+
<dt>
|
40
|
+
<b>Property name</b>
|
41
|
+
<i>Either select from previously used entity names or type to add a new one.</i>
|
42
|
+
<%= f.text_field :entity_name,
|
43
|
+
list: "entity_names"
|
44
|
+
%>
|
45
|
+
|
46
|
+
<datalist id="entity_names">
|
47
|
+
<% WitAiParseModelExample.pluck(:entity_name).uniq.each do |entity_name| %>
|
48
|
+
<option value="<%= entity_name %>">
|
49
|
+
<% end %>
|
50
|
+
</datalist>
|
51
|
+
</dt>
|
52
|
+
<dd>
|
53
|
+
<div style="display: none;">
|
54
|
+
Search for the property
|
55
|
+
<%= f.text_field :parsable_resource_query %>
|
56
|
+
</div>
|
57
|
+
|
58
|
+
<div style="display: none;">
|
59
|
+
What is the correct value for this file?
|
60
|
+
<%= f.text_field :entity_value %>
|
61
|
+
</div>
|
62
|
+
</dd>
|
63
|
+
<%= f.submit "Search" %>
|
64
|
+
<% end %>
|
65
|
+
<% end %>
|
66
|
+
</dl>
|
@@ -7,8 +7,8 @@
|
|
7
7
|
|
8
8
|
<% if params[:admin].present? %>
|
9
9
|
<textarea
|
10
|
-
onclick="$.post('/cookie_changes', {cookie_change: {identifier: 'erb_dummy_data', value: event.target.value}}, (data, status)=> {
|
11
|
-
|
10
|
+
onclick="$.post('/cookie_changes', {cookie_change: {identifier: 'erb_dummy_data', value: event.target.value}}, (data, status)=> { alert(this.value); });">
|
11
|
+
<%= cookies[:erb_dummy_data] %>
|
12
12
|
</textarea>
|
13
13
|
|
14
14
|
<pre><code>
|
@@ -17,6 +17,83 @@
|
|
17
17
|
<% end %>
|
18
18
|
|
19
19
|
<% case File.extname(file_path.global_path) %>
|
20
|
+
<% when '.shp' %>
|
21
|
+
<%
|
22
|
+
require 'rgeo/shapefile'
|
23
|
+
str = ""
|
24
|
+
leafletScript_geojson_features = []
|
25
|
+
str += RGeo::Shapefile::Reader.open(file_path.global_path) do |file|
|
26
|
+
str += "File contains #{file.num_records} records."
|
27
|
+
file.each do |record|
|
28
|
+
|
29
|
+
geojson_ruby_hash = RGeo::GeoJSON.encode(record.geometry)
|
30
|
+
geojson_ruby_hash["coordinates"][0][0].map! do |coordinates|
|
31
|
+
[coordinates[0] / 100000, coordinates[1] / 100000]
|
32
|
+
end
|
33
|
+
|
34
|
+
leafletScript_geojson_features.push("L.geoJSON(#{geojson_ruby_hash.to_json}).addTo(map);")
|
35
|
+
str += "Record number #{record.index}:"
|
36
|
+
str += " Geometry: #{record.geometry.as_text}"
|
37
|
+
str += " Attributes: #{record.attributes.inspect}"
|
38
|
+
end
|
39
|
+
file.rewind
|
40
|
+
record = file.next
|
41
|
+
str += "First record geometry was: #{record.geometry.as_text}"
|
42
|
+
end
|
43
|
+
str
|
44
|
+
|
45
|
+
|
46
|
+
|
47
|
+
leafletScript = """
|
48
|
+
setTimeout(function() {
|
49
|
+
var map = L.map('map', { center: [37.0, 45.0], zoom: 0 });
|
50
|
+
#{leafletScript_geojson_features.join("\n")}
|
51
|
+
}, 1500)
|
52
|
+
"""
|
53
|
+
|
54
|
+
%>
|
55
|
+
<div id="map" style="height: 200px"></div>
|
56
|
+
|
57
|
+
<script><%= leafletScript.html_safe %></script>
|
58
|
+
|
59
|
+
<% when '.xlsx' %>
|
60
|
+
<%
|
61
|
+
b = Workbook::Book.open(file_path.global_path)
|
62
|
+
%>
|
63
|
+
|
64
|
+
<h3><%= b.title %></h3>
|
65
|
+
<!--
|
66
|
+
<ul class="list-group">
|
67
|
+
<% b.each do |sheet| %>
|
68
|
+
<li class="list-group-item">
|
69
|
+
<a href="#"><%= sheet.name %></a>
|
70
|
+
</li>
|
71
|
+
<% end %>
|
72
|
+
</ul>
|
73
|
+
-->
|
74
|
+
|
75
|
+
<div class="accordion" id="accordionXLSX">
|
76
|
+
<% b.each.with_index do |sheet, i| %>
|
77
|
+
<div class="card">
|
78
|
+
<div class="card-header" id="heading<%= i %>">
|
79
|
+
<h2 class="mb-0">
|
80
|
+
<button class="btn btn-link collapsed" type="button" data-toggle="collapse" data-target="#collapse<%= i %>" aria-expanded="false" aria-controls="collapse<%= i %>">
|
81
|
+
<%= sheet.name %>
|
82
|
+
</button>
|
83
|
+
</h2>
|
84
|
+
</div>
|
85
|
+
<div id="collapse<%= i %>" class="collapse" aria-labelledby="heading<%= i %>" data-parent="#accordionXLSX">
|
86
|
+
<div class="card-body">
|
87
|
+
<pre><code>
|
88
|
+
<%= sheet.table.to_html.html_safe %>
|
89
|
+
</pre></code>
|
90
|
+
</div>
|
91
|
+
</div>
|
92
|
+
</div>
|
93
|
+
<% end %>
|
94
|
+
</div>
|
95
|
+
|
96
|
+
|
20
97
|
<% when '.erb' %>
|
21
98
|
<% if params[:admin].present? %>
|
22
99
|
<h3>ERB output</h3>
|
@@ -66,7 +143,7 @@
|
|
66
143
|
# characters, it's just a MUST, that they don't appear in the string or
|
67
144
|
# ar properly escaped if they appear in the string
|
68
145
|
|
69
|
-
dummy_binding = Object.new.
|
146
|
+
dummy_binding = Object.new.instance_eval(erb_dummy_data + ';binding');
|
70
147
|
template = ::ERB.new @last_file_input
|
71
148
|
template.result(dummy_binding).html_safe
|
72
149
|
|
@@ -81,76 +158,7 @@
|
|
81
158
|
</pre>
|
82
159
|
<% end %>
|
83
160
|
<% when '.pdf' %>
|
84
|
-
<br />
|
85
|
-
|
86
161
|
<iframe src="data:application/pdf;base64,<%= Base64.encode64(open(file_path.global_path) { |io| io.read }) %>" width="600" height="780" style="border: none;"> </iframe>
|
87
|
-
|
88
|
-
# TODO: should be a partial
|
89
|
-
<div id="entity-value-marking" style="display: none;">
|
90
|
-
<%=
|
91
|
-
File.read(file_path.global_path)
|
92
|
-
|
93
|
-
res = ""
|
94
|
-
|
95
|
-
Dir.mktmpdir do |dir|
|
96
|
-
Docsplit.extract_text([file_path.global_path], :ocr => false, :output => dir)
|
97
|
-
|
98
|
-
res = Dir.glob('*.txt', base: dir).map { |f| File.read(File.join(dir, f)) }
|
99
|
-
end
|
100
|
-
|
101
|
-
raw_text = res[0]
|
102
|
-
|
103
|
-
raw_text.each_char.with_index.map { |char,i| "<span data-index=#{i}>#{char}</span>" }.join('').gsub("\n", "<br />").html_safe
|
104
|
-
%>
|
105
|
-
</div>
|
106
|
-
|
107
|
-
|
108
|
-
<dl>
|
109
|
-
|
110
|
-
<p>
|
111
|
-
Specify an entity you want to annotate (either select previous or create a new one) and click the Search button.
|
112
|
-
|
113
|
-
Then you will see the raw text from the PDF and can select one occurence of the entity.
|
114
|
-
|
115
|
-
Just mark the text like you would mark text before copy & pasting something.
|
116
|
-
|
117
|
-
Once you confirm the text selection, the training data example will be automagically created for you.
|
118
|
-
</p>
|
119
|
-
<% 1.times do %>
|
120
|
-
<%= form_with model: WitAiParseModelExample.new do |f| %>
|
121
|
-
<%= f.hidden_field :parsable_resource, value: file_path %>
|
122
|
-
<%= f.hidden_field :parsable_resource_text, value: raw_text %>
|
123
|
-
<%= f.hidden_field :parsable_resource_entity_value_start_index %>
|
124
|
-
<%= f.hidden_field :parsable_resource_entity_value_end_index %>
|
125
|
-
|
126
|
-
<dt>
|
127
|
-
<b>Property name</b>
|
128
|
-
<i>Either select from previously used entity names or type to add a new one.</i>
|
129
|
-
<%= f.text_field :entity_name,
|
130
|
-
list: "entity_names"
|
131
|
-
%>
|
132
|
-
|
133
|
-
<datalist id="entity_names">
|
134
|
-
<% WitAiParseModelExample.pluck(:entity_name).uniq.each do |entity_name| %>
|
135
|
-
<option value="<%= entity_name %>">
|
136
|
-
<% end %>
|
137
|
-
</datalist>
|
138
|
-
</dt>
|
139
|
-
<dd>
|
140
|
-
<div style="display: none;">
|
141
|
-
Search for the property
|
142
|
-
<%= f.text_field :parsable_resource_query %>
|
143
|
-
</div>
|
144
|
-
|
145
|
-
<div style="display: none;">
|
146
|
-
What is the correct value for this file?
|
147
|
-
<%= f.text_field :entity_value %>
|
148
|
-
</div>
|
149
|
-
</dd>
|
150
|
-
<%= f.submit "Search" %>
|
151
|
-
<% end %>
|
152
|
-
<% end %>
|
153
|
-
</dl>
|
154
162
|
<% when '.jpg' %>
|
155
163
|
<img
|
156
164
|
usemap="#planetmap"
|
@@ -1,212 +1,41 @@
|
|
1
1
|
<!DOCTYPE html>
|
2
2
|
<html>
|
3
3
|
<head>
|
4
|
-
<title>
|
4
|
+
<title>Banal Data</title>
|
5
5
|
<%= csrf_meta_tags %>
|
6
6
|
<%= csp_meta_tag %>
|
7
|
-
|
7
|
+
|
8
8
|
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
9
|
-
|
9
|
+
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
10
|
+
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.5.1/dist/leaflet.css" />
|
10
11
|
</head>
|
11
|
-
<% if Time.now.strftime('%M').to_i < 5 %>
|
12
|
-
|
13
|
-
<% if cookies['level'].to_s == '2' || (ENV['ALLOWED_LISTED_FOR_SECOND_LEVEL'] || '').split(',').include?(request.remote_ip) %>
|
14
|
-
|
15
12
|
|
16
13
|
<body>
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
<h4 style="background-color: yellow; color: black">FIRST SIMULATE, THEN DEPLOY A PASSIVE (EXTREMELY PASSIVE) SYSTEM TO REAL WORLD, FINALLY MAKE IT ACTIVE IN A <b>SECURE</b> WAY</h4>
|
21
|
-
<h3 style="background-color: red; color: white">If you don't know what this is please only take the survey if you want to help and then leave this site again, thanks.</h3>
|
22
|
-
<script>(function(t,e,s,o){var n,a,c;t.SMCX=t.SMCX||[],e.getElementById(o)||(n=e.getElementsByTagName(s),a=n[n.length-1],c=e.createElement(s),c.type="text/javascript",c.async=!0,c.id=o,c.src=["https:"===location.protocol?"https://":"http://","widget.surveymonkey.com/collect/website/js/tRaiETqnLgj758hTBazgd1xa5A9y8yPlVJPl45ILXuqWKd1oAWzR0gaU37YaYtdR.js"].join(""),a.parentNode.insertBefore(c,a))})(window,document,"script","smcx-sdk");</script>
|
14
|
+
<header style="margin-bottom: 100px;">
|
15
|
+
<%= render 'navbar' %>
|
16
|
+
</header>
|
23
17
|
|
24
|
-
<
|
25
|
-
|
26
|
-
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
27
|
-
|
28
|
-
</header>
|
29
|
-
|
30
|
-
<main>
|
31
|
-
<%= yield %>
|
32
|
-
</main>
|
33
|
-
|
34
|
-
|
35
|
-
<script>
|
36
|
-
Turbolinks.__visit = Turbolinks.visit
|
37
|
-
Turbolinks.visit = false;
|
38
|
-
</script>
|
39
|
-
<textarea
|
40
|
-
id="story" name="story"
|
41
|
-
rows="5" cols="33"
|
42
|
-
|
43
|
-
onClick="if(!confirm()) { return; };$.post('/code_change_requests', {code_change_request: {text: this.value}}, (data, status)=> { this.value = data;alert(this.value) });"
|
44
|
-
>
|
45
|
-
</textarea>
|
46
|
-
|
47
|
-
<div>
|
48
|
-
<button style="background-color: blue; color: white;" onclick="alert('Button 1')">Button 1</button>
|
49
|
-
<button style="background-color: black; color: white;" onclick="alert('Button 2')">Button 2</button>
|
50
|
-
<button style="background-color: yellow" onclick="alert('Button 3')">Button 3</button>
|
51
|
-
<button style="background-color: pink; color: red;" onclick="alert('Button 4')">Button 4</button>
|
52
|
-
</div>
|
53
|
-
<%- if ENV['HEROKU_FEATURE_SWITCH_GLITCH_APP_LAYOUT_EMBED'] == '1' %>
|
54
|
-
<!-- Copy and Paste Me -->
|
55
|
-
<!-- Copy and Paste Me -->
|
56
|
-
<div class="glitch-embed-wrap" style="height: 420px; width: 100%;">
|
57
|
-
<iframe
|
58
|
-
src="https://glitch.com/embed/#!/embed/like-bladder?path=views/index.html&previewSize=100"
|
59
|
-
title="like-bladder on Glitch"
|
60
|
-
allow="geolocation; microphone; camera; midi; vr; encrypted-media"
|
61
|
-
style="height: 100%; width: 100%; border: 0;">
|
62
|
-
</iframe>
|
63
|
-
</div>
|
64
|
-
<% end %>
|
65
|
-
</br>
|
66
|
-
</br>
|
67
|
-
</br>
|
68
|
-
</br>
|
69
|
-
</br>
|
70
|
-
|
71
|
-
</br>
|
72
|
-
</br>
|
73
|
-
</br>
|
74
|
-
</br>
|
75
|
-
</br>
|
76
|
-
</br>
|
77
|
-
</br>
|
78
|
-
</br>
|
79
|
-
</br>
|
80
|
-
</br>
|
81
|
-
</br>
|
82
|
-
</br>
|
83
|
-
</br>
|
84
|
-
</br>
|
85
|
-
</br>
|
86
|
-
<footer>
|
87
|
-
<img src="data:image/png;base64,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" />
|
88
|
-
|
89
|
-
<script
|
90
|
-
src="https://code.jquery.com/jquery-3.4.1.js"
|
91
|
-
integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
|
92
|
-
crossorigin="anonymous"></script>
|
18
|
+
<main class="container" role="main">
|
19
|
+
<br />
|
93
20
|
|
21
|
+
<%= yield %>
|
94
22
|
|
95
|
-
|
23
|
+
<br />
|
24
|
+
<br />
|
25
|
+
<br />
|
26
|
+
<br />
|
27
|
+
<br />
|
28
|
+
<br />
|
96
29
|
|
97
|
-
|
98
|
-
|
99
|
-
alert('Do u want to work? Write an email to manu@korfmann.info and ask for our Discord')
|
100
|
-
fetch('/code_change_requests/1')
|
101
|
-
"
|
102
|
-
class="pickaxe" style="font-size: 10em;">⛏️
|
103
|
-
</span>
|
104
|
-
|
105
|
-
<span
|
106
|
-
onclick="alert('Do u want to work? Write an email to manu@korfmann.info and ask for our Discord')
|
107
|
-
fetch('/code_change_requests/1')"
|
108
|
-
>
|
109
|
-
By using this website, you agree to the following: We show you your ip
|
110
|
-
</span>
|
111
|
-
|
112
|
-
<span
|
113
|
-
style="background-color: red"
|
114
|
-
onclick="confirm('Do you want peace? Peaceeful eliminations are a key, non-lethal weapons, like a drone that tasers, but without 80000 volt which could kill a being.');fetch('/code_change_requests/1');">
|
115
|
-
Do you want to get to the next level?
|
116
|
-
</span>
|
117
|
-
|
118
|
-
<div>
|
119
|
-
<span class="level-slider" style="font-size: 10em;">
|
120
|
-
🎚️<%= cookies['level'] %>
|
121
|
-
</span>
|
122
|
-
|
123
|
-
<span>
|
124
|
-
<input
|
125
|
-
type="range"
|
126
|
-
name="level"
|
127
|
-
min="0"
|
128
|
-
max="10"
|
129
|
-
onchange="$.post('/cookie_changes', {cookie_change: {identifier: 'level', value: event.target.value}}, (data, status)=> { this.value = data;alert(this.value); });"
|
130
|
-
>
|
131
|
-
</span>
|
132
|
-
</div>
|
133
|
-
<%# RUSSIAN DOLL %>
|
134
|
-
YOUR IP
|
135
|
-
|
136
|
-
<%= request.remote_ip %>
|
137
|
-
<span class='yellow' style="background-color: yellow">
|
138
|
-
<% case cookies['level'] %>
|
139
|
-
<% when nil %>
|
140
|
-
Please select a level
|
141
|
-
<% when '1' %>
|
142
|
-
<p> Landing Page (glitch + discord) </p>
|
143
|
-
<% when '2' %>
|
144
|
-
<p>eZii OS</p>
|
145
|
-
<% when '3' %>
|
146
|
-
<p>GAM download (github.com/ezii123/gam)</p>
|
147
|
-
<% when '4' %>
|
148
|
-
<p>DEVIL IS IMPOSSIBLE TO UNDERSTAND</p>
|
149
|
-
|
150
|
-
<span>BRAINFREEZER VIA NEURALINK</span>
|
151
|
-
|
152
|
-
<span>Understanding ideas is often simple, translate it to your native language</span>
|
153
|
-
<% when '5' %>
|
154
|
-
<p>GAM in browser via artichoke</p>
|
155
|
-
<% when '6' %>
|
156
|
-
<p>GOD IS IMPOSSIBLE TO UNDERSTAND</p>
|
157
|
-
<% when '7' %>
|
158
|
-
<p>LIFE IS IMPOSSIBLE TO UNDERSTAND</p>
|
159
|
-
<% when '8' %>
|
160
|
-
<p>IMPOSSIBLE BURGER</p>
|
161
|
-
<% when '9' %>
|
162
|
-
<p>MAC DONALDS</p>
|
163
|
-
<% when '10' %>
|
164
|
-
<p>eZii</p>
|
165
|
-
<% end %>
|
166
|
-
</span>
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
<!-- I wish i could render the following in the web browser somehow and then display it with an erb conditional -->
|
171
|
-
<!-- Maybe it could work using artichoke -->
|
172
|
-
<!--
|
173
|
-
<widgetbot
|
174
|
-
server="<%= ENV['DISCORD_SERVER_ID'] %>"
|
175
|
-
channel="<%= ENV['DISCORD_CHANNEL_ID'] %>"
|
176
|
-
width="800"
|
177
|
-
height="600"
|
178
|
-
shard="https://disweb.deploys.io"
|
179
|
-
>
|
180
|
-
</widgetbot>
|
181
|
-
<script src="https://cdn.jsdelivr.net/npm/@widgetbot/html-embed"></script>
|
182
|
-
-->
|
183
|
-
</footer>
|
30
|
+
</main>
|
31
|
+
</body>
|
184
32
|
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
src="https://
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
</div>
|
33
|
+
<foot>
|
34
|
+
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
|
35
|
+
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
36
|
+
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
37
|
+
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
38
|
+
<script src="https://unpkg.com/leaflet@1.5.1/dist/leaflet.js"></script>
|
39
|
+
</foot>
|
40
|
+
</html>
|
194
41
|
|
195
|
-
<widgetbot
|
196
|
-
server="<%= ENV['DISCORD_SERVER_ID'] %>"
|
197
|
-
channel="<%= ENV['DISCORD_CHANNEL_ID'] %>"
|
198
|
-
width="800"
|
199
|
-
height="600"
|
200
|
-
shard="https://disweb.deploys.io"
|
201
|
-
>
|
202
|
-
</widgetbot>
|
203
|
-
<script src="https://cdn.jsdelivr.net/npm/@widgetbot/html-embed"></script>
|
204
|
-
<% end %>
|
205
|
-
</div>
|
206
|
-
</body>
|
207
|
-
<% else %>
|
208
|
-
<body>
|
209
|
-
<h1>Get back to work</h1>
|
210
|
-
</body>
|
211
|
-
<% end %>
|
212
|
-
</html>
|