card-mod-script 0.12.0 → 0.13.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/README.md +6 -0
- data/db/migrate_core_cards/20200804112348_add_mod_script_assets_type.rb +30 -0
- data/file/mod_script_script_decko_machine_output/file.js +2710 -0
- data/file/mod_script_script_jquery_machine_output/file.js +12924 -0
- data/set/abstract/{script.rb → 00_script.rb} +7 -3
- data/set/abstract/01_asset_script.rb +25 -0
- data/set/abstract/01_java_script.rb +9 -0
- data/set/abstract/02_coffee_script.rb +25 -0
- data/set/abstract/03_asset_java_script.rb +4 -0
- data/set/abstract/04_asset_coffee_script.rb +4 -0
- data/set/abstract/script_asset_list.rb +32 -0
- data/set/all/head_javascript.rb +75 -0
- data/set/right/script.rb +18 -7
- data/set/type/coffee_script.rb +1 -23
- data/set/type/java_script.rb +1 -7
- data/set/type/local_script_folder_group.rb +2 -0
- data/set/type/local_script_manifest_group.rb +2 -0
- data/set/type/mod_script_assets.rb +21 -0
- metadata +38 -48
- data/lib/javascript/decko/autosave.js.coffee +0 -30
- data/lib/javascript/decko/bridge.js.coffee +0 -31
- data/lib/javascript/decko/card_menu.js.coffee +0 -26
- data/lib/javascript/decko/components.js.coffee +0 -51
- data/lib/javascript/decko/decko.js.coffee +0 -100
- data/lib/javascript/decko/doubleclick.js.coffee +0 -30
- data/lib/javascript/decko/editor.js.coffee +0 -55
- data/lib/javascript/decko/filter.js.coffee +0 -176
- data/lib/javascript/decko/filter_items.js.coffee +0 -128
- data/lib/javascript/decko/filter_links.js.coffee +0 -81
- data/lib/javascript/decko/follow.js.coffee +0 -22
- data/lib/javascript/decko/layout.js.coffee +0 -76
- data/lib/javascript/decko/link_editor.js.coffee +0 -61
- data/lib/javascript/decko/mod.js.coffee +0 -85
- data/lib/javascript/decko/modal.js.coffee +0 -113
- data/lib/javascript/decko/name_editor.js.coffee +0 -59
- data/lib/javascript/decko/navbox.js.coffee +0 -74
- data/lib/javascript/decko/nest_editor.js.coffee +0 -166
- data/lib/javascript/decko/nest_editor_name.js.coffee +0 -102
- data/lib/javascript/decko/nest_editor_options.js.coffee +0 -93
- data/lib/javascript/decko/nest_editor_rules.js.coffee +0 -3
- data/lib/javascript/decko/overlay.js.coffee +0 -57
- data/lib/javascript/decko/recaptcha.js.coffee +0 -19
- data/lib/javascript/decko/selectable_filtered_content.js.coffee +0 -12
- data/lib/javascript/decko/slot.js.coffee +0 -178
- data/lib/javascript/decko/slot_ready.js.coffee +0 -11
- data/lib/javascript/decko/slotter.js.coffee +0 -276
- data/lib/javascript/decko/upload.js.coffee +0 -57
- data/lib/javascript/jquery-ui.js +0 -10
- data/lib/javascript/jquery.autosize.js +0 -274
- data/lib/javascript/script_pointer_config.js.coffee +0 -80
- data/lib/javascript/script_pointer_list_editor.js.coffee +0 -67
- data/set/self/01_script_libraries.rb +0 -1
- data/set/self/script_decko.rb +0 -12
- data/set/self/script_editors.rb +0 -1
- data/set/self/script_jquery.rb +0 -10
- data/set/self/script_jquery_helper.rb +0 -14
- data/set/self/script_pointer_config.rb +0 -9
@@ -13,7 +13,7 @@ end
|
|
13
13
|
|
14
14
|
def standard_machine_input
|
15
15
|
js = format(:js)._render_core
|
16
|
-
js =
|
16
|
+
js = compress js if compress?
|
17
17
|
comment_with_source js
|
18
18
|
end
|
19
19
|
|
@@ -21,7 +21,7 @@ def comment_with_source js
|
|
21
21
|
"//#{name}\n#{js}"
|
22
22
|
end
|
23
23
|
|
24
|
-
def
|
24
|
+
def compress input
|
25
25
|
Uglifier.compile input
|
26
26
|
rescue StandardError => e
|
27
27
|
# CoffeeScript is compiled in a view
|
@@ -39,7 +39,7 @@ def compression_error_message e
|
|
39
39
|
end
|
40
40
|
end
|
41
41
|
|
42
|
-
def
|
42
|
+
def compress?
|
43
43
|
Cardio.config.compress_javascript
|
44
44
|
end
|
45
45
|
|
@@ -76,6 +76,10 @@ format :html do
|
|
76
76
|
process_content highlight(script)
|
77
77
|
end
|
78
78
|
|
79
|
+
view :javascript_include_tag do
|
80
|
+
javascript_include_tag card.machine_output_url # path(format: :js)
|
81
|
+
end
|
82
|
+
|
79
83
|
def highlight script
|
80
84
|
::CodeRay.scan(script, :js).div
|
81
85
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
require "coffee-script"
|
4
|
+
|
5
|
+
include_set Abstract::AssetFile
|
6
|
+
|
7
|
+
def compress?
|
8
|
+
@minimize
|
9
|
+
end
|
10
|
+
|
11
|
+
format :js do
|
12
|
+
view :source do
|
13
|
+
if @local
|
14
|
+
card.machine_output_url
|
15
|
+
else
|
16
|
+
source
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
format :html do
|
22
|
+
view :javascript_include_tag do
|
23
|
+
javascript_include_tag card.machine_output_url
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
|
3
|
+
require "coffee-script"
|
4
|
+
|
5
|
+
include_set Abstract::Script
|
6
|
+
|
7
|
+
format :html do
|
8
|
+
def ace_mode
|
9
|
+
:coffee
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
format do
|
14
|
+
view :core do
|
15
|
+
compile_coffee _render_raw
|
16
|
+
end
|
17
|
+
|
18
|
+
def compile_coffee script
|
19
|
+
::CoffeeScript.compile script
|
20
|
+
rescue StandardError => e
|
21
|
+
line_nr = e.to_s.match(/\[stdin\]:(\d*)/)&.capture(0)&.to_i
|
22
|
+
line = script.lines[line_nr - 1] if line_nr
|
23
|
+
raise Card::Error, "CoffeeScript::Error (#{card.name}): #{e.message}: #{line}"
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
include_set Abstract::Machine
|
2
|
+
include_set Abstract::MachineInput
|
3
|
+
include_set Abstract::AssetList
|
4
|
+
|
5
|
+
machine_input { standard_machine_input }
|
6
|
+
store_machine_output filetype: "js"
|
7
|
+
|
8
|
+
def new_asset_constants path
|
9
|
+
if path.ends_with? ".js.coffee"
|
10
|
+
coffeescript_constants
|
11
|
+
elsif path.ends_with? ".js"
|
12
|
+
javascript_constants
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
def coffeescript_constants
|
17
|
+
{ type_id: CoffeeScriptID, set_module: Abstract::AssetCoffeeScript }
|
18
|
+
end
|
19
|
+
|
20
|
+
def javascript_constants
|
21
|
+
{ type_id: JavaScriptID, set_module: Abstract::AssetJavaScript }
|
22
|
+
end
|
23
|
+
|
24
|
+
def standard_machine_input
|
25
|
+
render_items_and_compress :js
|
26
|
+
end
|
27
|
+
|
28
|
+
format :html do
|
29
|
+
view :javascript_include_tag do
|
30
|
+
javascript_include_tag card.machine_output_url
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,75 @@
|
|
1
|
+
format :html do
|
2
|
+
def views_in_head
|
3
|
+
super + %w[
|
4
|
+
decko_script_variables
|
5
|
+
head_javascript
|
6
|
+
html5shiv_tag
|
7
|
+
script_config_and_initiation
|
8
|
+
]
|
9
|
+
end
|
10
|
+
|
11
|
+
view :decko_script_variables, unknown: true, cache: :never, perms: :none do
|
12
|
+
javascript_tag do
|
13
|
+
decko_script_variables.each_with_object("") do |(k, v), string|
|
14
|
+
string << "#{k}=#{script_variable_to_js v};\n"
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
view :head_javascript, unknown: true, cache: :never, perms: :none do
|
20
|
+
Array.wrap(head_javascript_paths).reject(&:empty?).join("\n")
|
21
|
+
end
|
22
|
+
|
23
|
+
view :html5shiv_tag, unknown: true, perms: :none do
|
24
|
+
nest :script_html5shiv_printshiv, view: :script_tag
|
25
|
+
end
|
26
|
+
|
27
|
+
view :script_config_and_initiation, unknown: true, perms: :none do
|
28
|
+
javascript_tag do
|
29
|
+
(mod_js_configs << trigger_slot_ready).join "\n\n"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
view :javascript_include_tag, unknown: true, perms: :none do
|
34
|
+
"\n<!-- javascript_include_tag not overridden for #{card.name} -->\n"
|
35
|
+
end
|
36
|
+
|
37
|
+
def decko_script_variables
|
38
|
+
{
|
39
|
+
"window.decko": { rootUrl: card_url("") },
|
40
|
+
"decko.doubleClick": Card.config.double_click,
|
41
|
+
"decko.cssPath": head_stylesheet_path,
|
42
|
+
"decko.currentUserId": (Auth.current_id if Auth.signed_in?)
|
43
|
+
}
|
44
|
+
end
|
45
|
+
|
46
|
+
def head_javascript_paths
|
47
|
+
return unless (asset_card = param_or_rule_card :script)
|
48
|
+
|
49
|
+
asset_card.item_cards.map do |script|
|
50
|
+
script.format(:html).render :javascript_include_tag
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
private
|
55
|
+
|
56
|
+
def trigger_slot_ready
|
57
|
+
"$('document').ready(function() { $('.card-slot').trigger('slotReady'); })"
|
58
|
+
end
|
59
|
+
|
60
|
+
def script_variable_to_js value
|
61
|
+
return "'#{value}'" unless value.is_a? Hash
|
62
|
+
|
63
|
+
vars = value.each_with_object("") do |(k, v), string|
|
64
|
+
string << "#{k}: #{script_variable_to_js v}"
|
65
|
+
end
|
66
|
+
"{ #{vars} }"
|
67
|
+
end
|
68
|
+
|
69
|
+
def mod_js_configs
|
70
|
+
mod_js_config.map do |codename, js_decko_function|
|
71
|
+
config_json = escape_javascript Card::Rule.global_setting(codename)
|
72
|
+
"decko.#{js_decko_function}('#{config_json}')"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
data/set/right/script.rb
CHANGED
@@ -1,18 +1,29 @@
|
|
1
|
-
include_set Abstract::
|
2
|
-
|
3
|
-
store_machine_output filetype: "js"
|
1
|
+
include_set Abstract::Pointer
|
4
2
|
|
5
3
|
def ok_to_read
|
6
4
|
true
|
7
5
|
end
|
8
6
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
def refresh_output force: false
|
8
|
+
item_cards.each do |item_card|
|
9
|
+
# puts "refreshing #{item_card.name}".yellow
|
10
|
+
item_card.try :refresh_output, force: force
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
def regenerate_machine_output
|
15
|
+
item_cards.each do |item_card|
|
16
|
+
item_card.try :regenerate_machine_output
|
17
|
+
end
|
13
18
|
end
|
14
19
|
|
15
20
|
format :html do
|
21
|
+
view :javascript_include_tag do
|
22
|
+
card.item_cards.map do |script|
|
23
|
+
script.format(:html).render :javascript_include_tag
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
16
27
|
def raw_help_text
|
17
28
|
"JavaScript (or CoffeeScript) for card's page."
|
18
29
|
end
|
data/set/type/coffee_script.rb
CHANGED
@@ -1,25 +1,3 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
include_set Abstract::Script
|
6
|
-
|
7
|
-
format :html do
|
8
|
-
def ace_mode
|
9
|
-
:coffee
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
format do
|
14
|
-
view :core do
|
15
|
-
compile_coffee _render_raw
|
16
|
-
end
|
17
|
-
|
18
|
-
def compile_coffee script
|
19
|
-
::CoffeeScript.compile script
|
20
|
-
rescue StandardError => e
|
21
|
-
line_nr = e.to_s.match(/\[stdin\]:(\d*)/)&.capture(0)&.to_i
|
22
|
-
line = script.lines[line_nr - 1] if line_nr
|
23
|
-
raise Card::Error, "CoffeeScript::Error (#{card.name}): #{e.message}: #{line}"
|
24
|
-
end
|
25
|
-
end
|
3
|
+
include_set Abstract::CoffeeScript
|
data/set/type/java_script.rb
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
include_set Abstract::ModAssets
|
2
|
+
|
3
|
+
def subpath
|
4
|
+
"script"
|
5
|
+
end
|
6
|
+
|
7
|
+
def local_folder_group_type_id
|
8
|
+
::Card::LocalScriptFolderGroupID
|
9
|
+
end
|
10
|
+
|
11
|
+
def local_manifest_group_type_id
|
12
|
+
::Card::LocalScriptManifestGroupID
|
13
|
+
end
|
14
|
+
|
15
|
+
format :html do
|
16
|
+
view :javascript_include_tag do
|
17
|
+
card.item_cards.map do |icard|
|
18
|
+
nest icard, view: :javascript_include_tag
|
19
|
+
end.join("\n")
|
20
|
+
end
|
21
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: card-mod-script
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ethan McCutchen
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2021-
|
13
|
+
date: 2021-08-06 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: card
|
@@ -18,42 +18,56 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: 1.103.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 1.
|
28
|
+
version: 1.103.0
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: card-mod-machines
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.13.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.13.0
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: card-mod-assets
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - '='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.13.0
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - '='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.13.0
|
43
57
|
- !ruby/object:Gem::Dependency
|
44
58
|
name: card-mod-list
|
45
59
|
requirement: !ruby/object:Gem::Requirement
|
46
60
|
requirements:
|
47
61
|
- - '='
|
48
62
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
63
|
+
version: 0.13.0
|
50
64
|
type: :runtime
|
51
65
|
prerelease: false
|
52
66
|
version_requirements: !ruby/object:Gem::Requirement
|
53
67
|
requirements:
|
54
68
|
- - '='
|
55
69
|
- !ruby/object:Gem::Version
|
56
|
-
version: 0.
|
70
|
+
version: 0.13.0
|
57
71
|
description: ''
|
58
72
|
email:
|
59
73
|
- info@decko.org
|
@@ -61,54 +75,30 @@ executables: []
|
|
61
75
|
extensions: []
|
62
76
|
extra_rdoc_files: []
|
63
77
|
files:
|
64
|
-
-
|
65
|
-
-
|
66
|
-
-
|
67
|
-
-
|
68
|
-
- lib/javascript/decko/decko.js.coffee
|
69
|
-
- lib/javascript/decko/doubleclick.js.coffee
|
70
|
-
- lib/javascript/decko/editor.js.coffee
|
71
|
-
- lib/javascript/decko/filter.js.coffee
|
72
|
-
- lib/javascript/decko/filter_items.js.coffee
|
73
|
-
- lib/javascript/decko/filter_links.js.coffee
|
74
|
-
- lib/javascript/decko/follow.js.coffee
|
75
|
-
- lib/javascript/decko/layout.js.coffee
|
76
|
-
- lib/javascript/decko/link_editor.js.coffee
|
77
|
-
- lib/javascript/decko/mod.js.coffee
|
78
|
-
- lib/javascript/decko/modal.js.coffee
|
79
|
-
- lib/javascript/decko/name_editor.js.coffee
|
80
|
-
- lib/javascript/decko/navbox.js.coffee
|
81
|
-
- lib/javascript/decko/nest_editor.js.coffee
|
82
|
-
- lib/javascript/decko/nest_editor_name.js.coffee
|
83
|
-
- lib/javascript/decko/nest_editor_options.js.coffee
|
84
|
-
- lib/javascript/decko/nest_editor_rules.js.coffee
|
85
|
-
- lib/javascript/decko/overlay.js.coffee
|
86
|
-
- lib/javascript/decko/recaptcha.js.coffee
|
87
|
-
- lib/javascript/decko/selectable_filtered_content.js.coffee
|
88
|
-
- lib/javascript/decko/slot.js.coffee
|
89
|
-
- lib/javascript/decko/slot_ready.js.coffee
|
90
|
-
- lib/javascript/decko/slotter.js.coffee
|
91
|
-
- lib/javascript/decko/upload.js.coffee
|
92
|
-
- lib/javascript/jquery-ui.js
|
93
|
-
- lib/javascript/jquery.autosize.js
|
78
|
+
- README.md
|
79
|
+
- db/migrate_core_cards/20200804112348_add_mod_script_assets_type.rb
|
80
|
+
- file/mod_script_script_decko_machine_output/file.js
|
81
|
+
- file/mod_script_script_jquery_machine_output/file.js
|
94
82
|
- lib/javascript/jquery.iframe-transport.js
|
95
83
|
- lib/javascript/script_html5shiv_printshiv.js
|
96
|
-
- lib/javascript/script_pointer_config.js.coffee
|
97
|
-
- lib/javascript/script_pointer_list_editor.js.coffee
|
98
84
|
- lib/javascript/theme-textmate.js
|
99
|
-
- set/abstract/
|
85
|
+
- set/abstract/00_script.rb
|
86
|
+
- set/abstract/01_asset_script.rb
|
87
|
+
- set/abstract/01_java_script.rb
|
88
|
+
- set/abstract/02_coffee_script.rb
|
89
|
+
- set/abstract/03_asset_java_script.rb
|
90
|
+
- set/abstract/04_asset_coffee_script.rb
|
91
|
+
- set/abstract/script_asset_list.rb
|
92
|
+
- set/all/head_javascript.rb
|
100
93
|
- set/right/script.rb
|
101
|
-
- set/self/01_script_libraries.rb
|
102
94
|
- set/self/script.rb
|
103
|
-
- set/self/script_decko.rb
|
104
|
-
- set/self/script_editors.rb
|
105
95
|
- set/self/script_html5shiv_printshiv.rb
|
106
|
-
- set/self/script_jquery.rb
|
107
|
-
- set/self/script_jquery_helper.rb
|
108
96
|
- set/self/script_mods.rb
|
109
|
-
- set/self/script_pointer_config.rb
|
110
97
|
- set/type/coffee_script.rb
|
111
98
|
- set/type/java_script.rb
|
99
|
+
- set/type/local_script_folder_group.rb
|
100
|
+
- set/type/local_script_manifest_group.rb
|
101
|
+
- set/type/mod_script_assets.rb
|
112
102
|
- vendor/jquery_file_upload/CONTRIBUTING.md
|
113
103
|
- vendor/jquery_file_upload/LICENSE.txt
|
114
104
|
- vendor/jquery_file_upload/README.md
|
@@ -210,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
210
200
|
- !ruby/object:Gem::Version
|
211
201
|
version: '0'
|
212
202
|
requirements: []
|
213
|
-
rubygems_version: 3.
|
203
|
+
rubygems_version: 3.1.6
|
214
204
|
signing_key:
|
215
205
|
specification_version: 4
|
216
206
|
summary: JavaScript, CoffeeScript, etc.
|