card-mod-format 0.17.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4b0ff2d377bf5c92b381014dfde8b3ac4f2bc62567bad7a83a152fbe21b63d5a
4
- data.tar.gz: '09619cfd84f48a855c3b18e0f126bf4b02ecaaf26f995d3930b98934357597dd'
3
+ metadata.gz: cab523b20f35c8ea7c8107b3d8b1cadcb9607fd100bc2141be6d7d621661c693
4
+ data.tar.gz: 827196f633de45d6c34ad8e28055f167d37ec5385fd047c40adbe30487a37d48
5
5
  SHA512:
6
- metadata.gz: abb03121966bc5bb5e764034547882bcfcb49b0275d5df26521fa706ece8d70f52e2125bd60e802d1c936fe9f97f932f1de5c375b55a7326c047ba082e89541e
7
- data.tar.gz: f72af9bc82fe9ad28b41bc04ffe03f754838467f3956d0ed443940331129dfe49b91b340f0f1a69e45f8993a2b4a494315e612c96da43df10c7b07062661249a
6
+ metadata.gz: f1e207c0f720a853add22b1c07d82d61caa2c295793e49c960394c83fb59a92495adb61a270b1a94f3c131889fdf13f2f099d6b86f98ec1ee456e5b68c0d9cf4
7
+ data.tar.gz: 20e3f3063a4f1a108ba2a05a6cea6c62054a6794f79b673a2cdd7615b403600f7656234feeb9bfa20ebb74c37910f474a9572353c396c04dd38e26a0eb4c4fd2
@@ -7,6 +7,9 @@
7
7
  right: 8px;
8
8
  top: 5px;
9
9
  width: auto;
10
+ > a {
11
+ text-decoration: none !important;
12
+ }
10
13
  }
11
14
 
12
15
  .d0-card-content, .titled-view > .d0-card-header {
@@ -21,7 +21,9 @@
21
21
  font-weight: bold;
22
22
  font-style: italic;
23
23
  text-align: center;
24
- margin: 0 0 4px 0;
24
+ > div {
25
+ margin: 1em;
26
+ }
25
27
 
26
28
  .card-error-msg {
27
29
  text-align: left;
@@ -6,7 +6,11 @@ class Card
6
6
  register :csv
7
7
 
8
8
  def mime_type
9
- "text/comma-separated-values"
9
+ if params[:disposition] == "inline"
10
+ "text/plain"
11
+ else
12
+ "text/comma-separated-values"
13
+ end
10
14
  end
11
15
 
12
16
  def self.view_caching?
data/set/all/demo.rb CHANGED
@@ -12,7 +12,7 @@ format :html do
12
12
  end
13
13
 
14
14
  def view_list
15
- %i[content titled labeled bar box open closed content_panel]
15
+ %i[content titled labeled bar box open closed]
16
16
  end
17
17
 
18
18
  def demo_view
data/set/all/html/head.rb CHANGED
@@ -1,9 +1,17 @@
1
1
  basket[:head_views] =
2
2
  %i[page_title_tag meta_tags favicon_tag
3
- head_remote_stylesheets head_stylesheet
3
+ stylesheet_tags
4
4
  universal_edit_button rss_links]
5
5
  # TODO: the last two should be in mods
6
6
 
7
+ basket[:cache_seed_names] += [
8
+ %i[all head],
9
+ %i[all style],
10
+ %i[all style asset_output],
11
+ %i[all script],
12
+ %i[script right content_options]
13
+ ]
14
+
7
15
  format do
8
16
  view :page_title, unknown: true, perms: :none do
9
17
  title_parts = [Card::Rule.global_setting(:title)]
@@ -13,7 +21,7 @@ format do
13
21
  end
14
22
 
15
23
  format :html do
16
- view :head, unknown: true, perms: :none do
24
+ view :head, unknown: true, perms: :none, cache: :yes do
17
25
  basket[:head_views].map { |viewname| render viewname }.flatten.compact.join "\n"
18
26
  end
19
27
 
@@ -27,6 +35,7 @@ format :html do
27
35
  nest :favicon, view: :link_tag
28
36
  end
29
37
 
38
+ # TODO: move to mod
30
39
  view :universal_edit_button, unknown: :blank, denial: :blank, perms: :update do
31
40
  return if card.new?
32
41
 
@@ -34,61 +43,31 @@ format :html do
34
43
  title: "Edit this page!", href: path(view: :edit)
35
44
  end
36
45
 
46
+ # TODO: move to rss mod
47
+ view :rss_links, unknown: true, perms: :none do
48
+ render :rss_link_tag if rss_link?
49
+ end
50
+
37
51
  # these should render a view of the rule card
38
52
  # it would then be safe to cache if combined with param handling
39
53
  # (but note that machine clearing would need to reset card cache...)
40
- view :head_stylesheet, unknown: true, cache: :never, perms: :none do
41
- return unless (href = head_stylesheet_path)
42
-
43
- tag("link", href: href, media: "all", rel: "stylesheet", type: "text/css")
54
+ view :stylesheet_tags, cache: :never, unknown: true, perms: :none do
55
+ [nest(:style_mods, view: :remote_style_tags), head_stylesheet_path]
44
56
  end
45
57
 
46
- view :head_remote_stylesheets, unknown: true, cache: :never, perms: :none do
47
- remote_style_tags
58
+ def head_stylesheet_path
59
+ @head_stylesheet_path ||=
60
+ tag "link", media: "all",
61
+ rel: "stylesheet",
62
+ type: "text/css",
63
+ href: nest(param_or_rule_card(:style), view: :stylesheet_path)
48
64
  end
49
65
 
50
66
  def param_or_rule_card setting
51
- if params[setting]
52
- Card[params[setting]]
53
- else
54
- root.card.rule_card setting
55
- end
56
- end
57
-
58
- def debug_or_machine_path setting, debug_lambda, machine_path_lambda
59
- return unless (asset_card = param_or_rule_card setting)
60
- debug_path(setting, asset_card, &debug_lambda) ||
61
- machine_path_lambda.call(asset_card.asset_output_url)
62
- end
63
-
64
- def debug_path setting, asset_card
65
- return unless params[:debug] == setting.to_s
66
-
67
- yield asset_card
68
- end
69
-
70
- # TODO: move to rss mod
71
- view :rss_links, unknown: true, perms: :none do
72
- render :rss_link_tag if rss_link?
67
+ params[setting]&.card || root.card.rule_card(setting)
73
68
  end
74
69
 
75
70
  def rss_link?
76
71
  Card.config.rss_enabled && respond_to?(:rss_link_tag)
77
72
  end
78
-
79
- def remote_style_tags
80
- return unless (asset_card = Card[:style_mods])
81
-
82
- asset_card.item_cards.map do |mod_style_card|
83
- nest mod_style_card, view: :remote_include_tags
84
- end.select(&:present?)
85
- end
86
-
87
- def head_stylesheet_path
88
- debug_or_machine_path(
89
- :style,
90
- ->(style_card) { path mark: style_card.name, item: :import, format: :css },
91
- ->(machine_path) { machine_path }
92
- )
93
- end
94
73
  end
data/set/all/html/show.rb CHANGED
@@ -25,7 +25,15 @@ format :html do
25
25
  render! view, args
26
26
  end
27
27
 
28
+ def default_page_view
29
+ default_nest_view
30
+ end
31
+
28
32
  def show_method
29
33
  "show_#{show_layout? ? :with : :without}_page_layout"
30
34
  end
35
+
36
+ def show_layout?
37
+ !Env.ajax? || params[:layout]
38
+ end
31
39
  end
@@ -7,7 +7,7 @@ format :html do
7
7
 
8
8
  before(:content) { prepare_content_slot }
9
9
 
10
- view :content do
10
+ view :content, cache: :yes do
11
11
  wrap do
12
12
  [
13
13
  render_menu(optional: :hide),
@@ -52,7 +52,7 @@ format :html do
52
52
  end
53
53
  end
54
54
 
55
- view :titled do
55
+ view :titled, cache: :yes do
56
56
  @content_body = true
57
57
  wrap do
58
58
  [
@@ -64,7 +64,7 @@ format :html do
64
64
  end
65
65
 
66
66
  # unlike unknown: true, unknown: (same view) can be overridden
67
- view :labeled, unknown: :labeled do
67
+ view :labeled, unknown: :labeled, cache: :yes do
68
68
  @content_body = true
69
69
  wrap(true, class: "row") do
70
70
  [labeled(render_title, wrap_body { render_labeled_content }), render_menu]
@@ -76,7 +76,7 @@ format :html do
76
76
  end
77
77
 
78
78
  def labeled_field field, item_view=:name, opts={}
79
- opts[:title] ||= Card.fetch_name field
79
+ opts[:title] ||= field.cardname
80
80
  field_nest field, opts.merge(view: :labeled,
81
81
  items: (opts[:items] || {}).merge(view: item_view))
82
82
  end
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.17.0
4
+ version: 0.18.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: 2024-06-12 00:00:00.000000000 Z
13
+ date: 2024-10-31 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.107.0
21
+ version: 1.108.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.107.0
28
+ version: 1.108.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.17.0
35
+ version: 0.18.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.17.0
42
+ version: 0.18.0
43
43
  description: ''
44
44
  email:
45
45
  - info@decko.org
@@ -207,7 +207,7 @@ files:
207
207
  - vendor/jquery_rails/vendor/assets/javascripts/jquery_ujs.js
208
208
  homepage: https://decko.org
209
209
  licenses:
210
- - GPL-3.0
210
+ - GPL-3.0-or-later
211
211
  metadata:
212
212
  source_code_uri: https://github.com/decko-commons/decko
213
213
  homepage_uri: https://decko.org
@@ -231,7 +231,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
231
231
  - !ruby/object:Gem::Version
232
232
  version: '0'
233
233
  requirements: []
234
- rubygems_version: 3.5.10
234
+ rubygems_version: 3.5.7
235
235
  signing_key:
236
236
  specification_version: 4
237
237
  summary: format