card-mod-format 0.11.5 → 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/lib/card/format/html_format.rb +4 -0
- data/set/all/content.rb +68 -0
- data/set/all/head.rb +11 -74
- data/set/all/json.rb +6 -4
- data/set/all/links.rb +4 -3
- data/set/all/menu.rb +1 -1
- data/set/all/rss.rb +2 -0
- data/set/all/text.rb +2 -0
- data/set/type/json.rb +1 -1
- metadata +8 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0b4d77f208c27acef729baedd337735e80be21270337e26b406d27af14638983
|
4
|
+
data.tar.gz: d299289e4b5dd0b622a614bdebee3d25ec0b9135b0bfe4bd576367b36c7bc745
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6463aa97132bf67c91146a19ee245530497a2c1a7fbe9bd1cfe732e289ff764c9d34df54e64db2f72f0824df487c9f570aa5f837fb4465d81acb343174a999b4
|
7
|
+
data.tar.gz: 0f44f37aab77229428c58dd2e666d4556a67e0a9bf3773b780b014491fcc80c1fb42aa299f9d58c48c69f2ff5d14911b0d11c2d68d5961b3ddee4bf8544e1b95
|
data/set/all/content.rb
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
format do
|
2
|
+
ONE_LINE_CHARACTER_LIMIT = 60
|
3
|
+
|
4
|
+
# override to customize by set
|
5
|
+
def chunk_list
|
6
|
+
:default
|
7
|
+
end
|
8
|
+
|
9
|
+
view :one_line_content do
|
10
|
+
with_nest_mode :compact do
|
11
|
+
one_line_content
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
# DEPRECATED
|
16
|
+
view :closed_content, :one_line_content
|
17
|
+
|
18
|
+
view :raw_one_line_content do
|
19
|
+
raw_one_line_content
|
20
|
+
end
|
21
|
+
|
22
|
+
view :label do
|
23
|
+
card.label.to_s
|
24
|
+
end
|
25
|
+
|
26
|
+
view :smart_label, cache: :never, unknown: true do
|
27
|
+
label_with_description render_label, label_description
|
28
|
+
end
|
29
|
+
|
30
|
+
def label_with_description label, description
|
31
|
+
return label unless description
|
32
|
+
|
33
|
+
"#{label} #{popover_link description}"
|
34
|
+
end
|
35
|
+
|
36
|
+
# TODO: move this into a nest once popovers are stub safe
|
37
|
+
def label_description
|
38
|
+
return unless (desc = card.field :description)
|
39
|
+
|
40
|
+
desc.format.render_core
|
41
|
+
end
|
42
|
+
|
43
|
+
def raw_one_line_content
|
44
|
+
cut_with_ellipsis render_raw
|
45
|
+
end
|
46
|
+
|
47
|
+
def one_line_content
|
48
|
+
Content.smart_truncate render_core
|
49
|
+
end
|
50
|
+
|
51
|
+
def cut_with_ellipsis text, limit=one_line_character_limit
|
52
|
+
if text.size <= limit
|
53
|
+
text
|
54
|
+
else
|
55
|
+
"#{text[0..(limit - 3)]}..."
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def one_line_character_limit
|
60
|
+
voo.size || ONE_LINE_CHARACTER_LIMIT
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
format :html do
|
65
|
+
view :hidden_content_field, unknown: true, cache: :never do
|
66
|
+
hidden_field :content, class: "d0-card-content"
|
67
|
+
end
|
68
|
+
end
|
data/set/all/head.rb
CHANGED
@@ -18,8 +18,6 @@ format :html do
|
|
18
18
|
|
19
19
|
def views_in_head
|
20
20
|
%i[meta_tags page_title_tag favicon_tag head_stylesheet
|
21
|
-
decko_script_variables head_javascript html5shiv_tag
|
22
|
-
script_config_and_initiation
|
23
21
|
universal_edit_button rss_links]
|
24
22
|
end
|
25
23
|
|
@@ -28,10 +26,6 @@ format :html do
|
|
28
26
|
haml :meta_tags
|
29
27
|
end
|
30
28
|
|
31
|
-
view :html5shiv_tag, unknown: true, perms: :none do
|
32
|
-
nest :script_html5shiv_printshiv, view: :script_tag
|
33
|
-
end
|
34
|
-
|
35
29
|
view :page_title_tag, unknown: true, perms: :none do
|
36
30
|
content_tag(:title) { render :page_title }
|
37
31
|
end
|
@@ -56,40 +50,6 @@ format :html do
|
|
56
50
|
tag "link", href: href, media: "all", rel: "stylesheet", type: "text/css"
|
57
51
|
end
|
58
52
|
|
59
|
-
view :head_javascript, unknown: true, cache: :never, perms: :none do
|
60
|
-
Array.wrap(head_javascript_paths).map do |path|
|
61
|
-
javascript_include_tag path
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
view :decko_script_variables, unknown: true, cache: :never, perms: :none do
|
66
|
-
string = ""
|
67
|
-
decko_script_variables.each do |k, v|
|
68
|
-
string += "#{k}=#{script_variable_to_js v};\n"
|
69
|
-
end
|
70
|
-
javascript_tag { string }
|
71
|
-
end
|
72
|
-
|
73
|
-
def decko_script_variables
|
74
|
-
{
|
75
|
-
"window.decko": { rootUrl: card_url("") },
|
76
|
-
"decko.doubleClick": Card.config.double_click,
|
77
|
-
"decko.cssPath": head_stylesheet_path,
|
78
|
-
"decko.currentUserId": (Auth.current_id if Auth.signed_in?)
|
79
|
-
|
80
|
-
}
|
81
|
-
end
|
82
|
-
|
83
|
-
def script_variable_to_js value
|
84
|
-
if value.is_a? Hash
|
85
|
-
string = "{"
|
86
|
-
value.each { |k, v| string += "#{k}:#{script_variable_to_js v}" }
|
87
|
-
"#{string}}"
|
88
|
-
else
|
89
|
-
"'#{value}'"
|
90
|
-
end
|
91
|
-
end
|
92
|
-
|
93
53
|
def param_or_rule_card setting
|
94
54
|
if params[setting]
|
95
55
|
Card[params[setting]]
|
@@ -98,10 +58,10 @@ format :html do
|
|
98
58
|
end
|
99
59
|
end
|
100
60
|
|
101
|
-
def debug_or_machine_path setting,
|
61
|
+
def debug_or_machine_path setting, debug_lambda, machine_path_lambda
|
102
62
|
return unless (asset_card = param_or_rule_card setting)
|
103
|
-
|
104
|
-
|
63
|
+
debug_path(setting, asset_card, &debug_lambda) ||
|
64
|
+
machine_path_lambda.call(asset_card.machine_output_url)
|
105
65
|
end
|
106
66
|
|
107
67
|
def debug_path setting, asset_card
|
@@ -110,37 +70,6 @@ format :html do
|
|
110
70
|
yield asset_card
|
111
71
|
end
|
112
72
|
|
113
|
-
def head_stylesheet_path
|
114
|
-
debug_or_machine_path :style do |style_card|
|
115
|
-
path mark: style_card.name, item: :import, format: :css
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
def head_javascript_paths
|
120
|
-
debug_or_machine_path :script do |script_card|
|
121
|
-
script_card.item_cards.map do |script|
|
122
|
-
script.format(:js).render :source
|
123
|
-
end
|
124
|
-
end
|
125
|
-
end
|
126
|
-
|
127
|
-
view :script_config_and_initiation, unknown: true, perms: :none do
|
128
|
-
javascript_tag do
|
129
|
-
(mod_js_configs << trigger_slot_ready).join "\n\n"
|
130
|
-
end
|
131
|
-
end
|
132
|
-
|
133
|
-
def mod_js_configs
|
134
|
-
mod_js_config.map do |codename, js_decko_function|
|
135
|
-
config_json = escape_javascript Card::Rule.global_setting(codename)
|
136
|
-
"decko.#{js_decko_function}('#{config_json}')"
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
def trigger_slot_ready
|
141
|
-
"$('document').ready(function() { $('.card-slot').trigger('slotReady'); })"
|
142
|
-
end
|
143
|
-
|
144
73
|
# TODO: move to rss mod
|
145
74
|
view :rss_links, unknown: true, perms: :none do
|
146
75
|
render :rss_link_tag if rss_link?
|
@@ -149,4 +78,12 @@ format :html do
|
|
149
78
|
def rss_link?
|
150
79
|
Card.config.rss_enabled && respond_to?(:rss_link_tag)
|
151
80
|
end
|
81
|
+
|
82
|
+
def head_stylesheet_path
|
83
|
+
debug_or_machine_path(
|
84
|
+
:style,
|
85
|
+
->(style_card) { path mark: style_card.name, item: :import, format: :css },
|
86
|
+
->(machine_path) { machine_path }
|
87
|
+
)
|
88
|
+
end
|
152
89
|
end
|
data/set/all/json.rb
CHANGED
@@ -9,7 +9,7 @@ format :json do
|
|
9
9
|
end
|
10
10
|
|
11
11
|
def default_item_view
|
12
|
-
|
12
|
+
:name
|
13
13
|
end
|
14
14
|
|
15
15
|
def max_depth
|
@@ -41,7 +41,7 @@ format :json do
|
|
41
41
|
def page_details obj
|
42
42
|
return obj unless obj.is_a? Hash
|
43
43
|
|
44
|
-
obj.merge url: request_url,
|
44
|
+
obj.merge url: request_url, requested_at: Time.now.to_s
|
45
45
|
end
|
46
46
|
|
47
47
|
view :status, unknown: true, perms: :none do
|
@@ -84,7 +84,7 @@ format :json do
|
|
84
84
|
# NOCACHE because sometimes item_cards is dynamic.
|
85
85
|
# could be safely cached for non-dynamic lists
|
86
86
|
view :items, cache: :never do
|
87
|
-
listing item_cards, view: :atom
|
87
|
+
listing item_cards, view: (voo_items_view || :atom)
|
88
88
|
end
|
89
89
|
|
90
90
|
view :links do
|
@@ -155,7 +155,9 @@ format :json do
|
|
155
155
|
links: _render_links,
|
156
156
|
ancestors: _render_ancestors,
|
157
157
|
html_url: path,
|
158
|
-
type: nest(card.type_card, view: :nucleus)
|
158
|
+
type: nest(card.type_card, view: :nucleus),
|
159
|
+
created_at: card.created_at,
|
160
|
+
updated_at: card.updated_at
|
159
161
|
end
|
160
162
|
end
|
161
163
|
|
data/set/all/links.rb
CHANGED
@@ -63,16 +63,17 @@ format do
|
|
63
63
|
|
64
64
|
def resource_type resource
|
65
65
|
case resource
|
66
|
-
when /^https?:/
|
66
|
+
when /^https?:/ then "external-link"
|
67
67
|
when %r{^/} then "internal-link"
|
68
|
-
when /^mailto:/
|
68
|
+
when /^mailto:/ then "email-link"
|
69
69
|
when RESOURCE_TYPE_REGEXP then "#{Regexp.last_match(1)}-link"
|
70
70
|
end
|
71
71
|
end
|
72
72
|
|
73
73
|
def clean_resource resource, resource_type
|
74
74
|
if resource_type == "internal-link"
|
75
|
-
contextualize_path
|
75
|
+
# remove initial slash; #contextualize_path handles relative root
|
76
|
+
contextualize_path resource.sub(%r{^/}, "")
|
76
77
|
else
|
77
78
|
resource
|
78
79
|
end
|
data/set/all/menu.rb
CHANGED
@@ -102,7 +102,7 @@ format :html do
|
|
102
102
|
|
103
103
|
def edit_link view=:edit, opts={}
|
104
104
|
link_to_view view, opts.delete(:link_text) || menu_icon,
|
105
|
-
edit_link_opts(
|
105
|
+
edit_link_opts(modal: (opts[:modal] || :lg))
|
106
106
|
end
|
107
107
|
|
108
108
|
# @param modal [Symbol] modal size
|
data/set/all/rss.rb
CHANGED
data/set/all/text.rb
CHANGED
data/set/type/json.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: card-mod-format
|
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,28 +18,28 @@ 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-content
|
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
43
|
description: ''
|
44
44
|
email:
|
45
45
|
- info@decko.org
|
@@ -61,6 +61,7 @@ files:
|
|
61
61
|
- lib/card/path/cast_params.rb
|
62
62
|
- set/all/active_card.rb
|
63
63
|
- set/all/base.rb
|
64
|
+
- set/all/content.rb
|
64
65
|
- set/all/css.rb
|
65
66
|
- set/all/csv.rb
|
66
67
|
- set/all/demo.rb
|
@@ -124,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
124
125
|
- !ruby/object:Gem::Version
|
125
126
|
version: '0'
|
126
127
|
requirements: []
|
127
|
-
rubygems_version: 3.1.
|
128
|
+
rubygems_version: 3.1.6
|
128
129
|
signing_key:
|
129
130
|
specification_version: 4
|
130
131
|
summary: format
|