ezii-os 1.0.0 → 1.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.
- 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>
|