card-mod-style 0.11.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.
Files changed (29) hide show
  1. checksums.yaml +7 -0
  2. data/lib/stylesheets/style_bootstrap_compatible.css +68 -0
  3. data/lib/stylesheets/style_cards.scss +1261 -0
  4. data/lib/stylesheets/style_jquery_ui_smoothness.css +909 -0
  5. data/public/assets/jquery-ui-smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  6. data/public/assets/jquery-ui-smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
  7. data/public/assets/jquery-ui-smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
  8. data/public/assets/jquery-ui-smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  9. data/public/assets/jquery-ui-smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  10. data/public/assets/jquery-ui-smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  11. data/public/assets/jquery-ui-smoothness/ui-icons_222222_256x240.png +0 -0
  12. data/public/assets/jquery-ui-smoothness/ui-icons_2e83ff_256x240.png +0 -0
  13. data/public/assets/jquery-ui-smoothness/ui-icons_454545_256x240.png +0 -0
  14. data/public/assets/jquery-ui-smoothness/ui-icons_888888_256x240.png +0 -0
  15. data/public/assets/jquery-ui-smoothness/ui-icons_cd0a0a_256x240.png +0 -0
  16. data/set/abstract/skin_box.rb +33 -0
  17. data/set/abstract/skin_box/box_bottom.haml +4 -0
  18. data/set/right/style.rb +56 -0
  19. data/set/right/style/input.haml +6 -0
  20. data/set/self/style.rb +4 -0
  21. data/set/self/style_bootstrap_compatible.rb +1 -0
  22. data/set/self/style_cards.rb +1 -0
  23. data/set/self/style_jquery_ui_smoothness.rb +1 -0
  24. data/set/self/style_libraries.rb +1 -0
  25. data/set/self/style_mods.rb +1 -0
  26. data/set/type/css.rb +85 -0
  27. data/set/type/scss.rb +21 -0
  28. data/set/type/skin.rb +10 -0
  29. metadata +115 -0
@@ -0,0 +1,33 @@
1
+ format :html do
2
+ view :box do
3
+ class_up "box-middle", "p-0"
4
+ voo.hide :customize_button, :box_middle
5
+ super()
6
+ end
7
+
8
+ view :box_bottom, template: :haml
9
+
10
+ view :customize_button, cache: :never do
11
+ customize_button
12
+ end
13
+
14
+ def customize_button target: parent&.card, text: "Apply and customize"
15
+ return "" unless card.codename.present?
16
+ theme = card.codename.match(/^(?<theme_name>.+)_skin$/).capture(:theme_name)
17
+ link_to_card target, text,
18
+ path: { action: :update, card: { content: "[[#{card.name}]]" },
19
+ customize: true, theme: theme },
20
+ class: "btn btn-sm btn-outline-primary mr-2"
21
+ end
22
+
23
+ view :box_middle do
24
+ return unless card.field(:image)
25
+ field_nest(:image, view: :full_width, size: :large)
26
+ end
27
+
28
+ def select_button target=parent.card
29
+ link_to_card target, "Apply",
30
+ path: { action: :update, card: { content: "[[#{card.name}]]" } },
31
+ class: "btn btn-sm btn-primary"
32
+ end
33
+ end
@@ -0,0 +1,4 @@
1
+ .d-flex.justify-content-center.align-items-center
2
+ .btn-group
3
+ = select_button
4
+ = render_customize_button
@@ -0,0 +1,56 @@
1
+ require "sassc"
2
+ include_set Abstract::Machine
3
+
4
+ store_machine_output filetype: "css"
5
+
6
+ def ok_to_read
7
+ true
8
+ end
9
+
10
+ format do
11
+ # turn off autodetection of uri's
12
+ def chunk_list
13
+ :nest_only
14
+ end
15
+ end
16
+
17
+ format :html do
18
+ HIDDEN_SKINS = %w[bootstrap_default_skin themeless_bootstrap_skin bootstrap_default_skin
19
+ classic_bootstrap_skin].freeze
20
+
21
+ def default_item_view
22
+ :bar
23
+ end
24
+
25
+ view :input, template: :haml
26
+
27
+ def themes
28
+ card.rule_card(:content_options).item_cards
29
+ end
30
+
31
+ def selectable_themes
32
+ themes.reject do |theme_card|
33
+ theme_card.right&.codename == :stylesheets ||
34
+ theme_card.key.in?(HIDDEN_SKINS)
35
+ end
36
+ end
37
+ end
38
+
39
+ event :customize_theme, :prepare_to_validate, on: :update, when: :customize_theme? do
40
+ skin_name = free_skin_name
41
+ add_subcard skin_name, type_id: CustomizedBootswatchSkinID
42
+ self.content = "[[#{skin_name}]]"
43
+ end
44
+
45
+ def free_skin_name
46
+ name = "#{@theme} skin customized"
47
+ if Card.exist?(name)
48
+ name = "#{name} 1"
49
+ name.next! while Card.exist?(name)
50
+ end
51
+ name
52
+ end
53
+
54
+ def customize_theme?
55
+ Env.params[:customize].present? && (@theme = Env.params[:theme]).present?
56
+ end
@@ -0,0 +1,6 @@
1
+ .album.bg-light
2
+ .container
3
+ .row
4
+ - selectable_themes.each do |theme|
5
+ .col-md-4
6
+ = nest theme, view: :box
data/set/self/style.rb ADDED
@@ -0,0 +1,4 @@
1
+ setting_opts group: :webpage,
2
+ position: 4,
3
+ help_text: "Skin (collection of stylesheets) for card's page. "\
4
+ "[[http://decko.org/skins|more]]"
@@ -0,0 +1 @@
1
+ include_set Abstract::CodeFile
@@ -0,0 +1 @@
1
+ include_set Abstract::CodeFile
@@ -0,0 +1 @@
1
+ include_set Abstract::CodeFile
@@ -0,0 +1 @@
1
+ include_set Abstract::CodePointer
@@ -0,0 +1 @@
1
+ include_set Abstract::CodePointer
data/set/type/css.rb ADDED
@@ -0,0 +1,85 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ require "sassc"
4
+ require "benchmark"
5
+
6
+ include_set Abstract::Machine
7
+ include_set Abstract::MachineInput
8
+
9
+ store_machine_output filetype: "css"
10
+
11
+ machine_input do
12
+ compress_css format(format: :css)._render_core
13
+ end
14
+
15
+ def compress_css input
16
+ compress_css? ? SassC::Engine.new(input, style: :compressed).render : input
17
+ rescue => e
18
+ raise Card::Error, css_compression_error(e)
19
+ end
20
+
21
+ def css_compression_error error
22
+ # scss is compiled in a view
23
+ # If there is a scss syntax error we get the rescued view here
24
+ # and the error that the rescued view is no valid css
25
+ # To get the original error we have to refer to Card::Error.current
26
+ if Card::Error.current
27
+ Card::Error.current.message
28
+ else
29
+ "Sass::SyntaxError (#{name}): #{error.message}"
30
+ end
31
+ end
32
+
33
+ def clean_html?
34
+ false
35
+ end
36
+
37
+ def compress_css?
38
+ return true
39
+ # !Rails.env.development?
40
+ end
41
+
42
+ format do
43
+ # def default_nest_view
44
+ # :raw
45
+ # end
46
+
47
+ def chunk_list # turn off autodetection of uri's
48
+ :references
49
+ end
50
+ end
51
+
52
+ format :html do
53
+ def input_type
54
+ :ace_editor
55
+ end
56
+
57
+ def ace_mode
58
+ :css
59
+ end
60
+
61
+ def default_nest_view
62
+ :closed
63
+ end
64
+
65
+ view :core do
66
+ # FIXME: scan must happen before process for inclusion interactions to
67
+ # work, but this will likely cause
68
+ # problems with including other css?
69
+ process_content ::CodeRay.scan(_render_raw, :css).div, size: :icon
70
+ end
71
+
72
+ def content_changes action, diff_type, hide_diff=false
73
+ wrap_with(:pre) { super }
74
+ end
75
+ end
76
+
77
+ format :css do
78
+ view :import do
79
+ %{\n@import url("#{_render_url}");\n}
80
+ end
81
+ end
82
+
83
+ def diff_args
84
+ { diff_format: :text }
85
+ end
data/set/type/scss.rb ADDED
@@ -0,0 +1,21 @@
1
+ include_set Type::Css
2
+
3
+ format do
4
+ view :core, cache: :never do
5
+ compile_scss(process_content(_render_raw))
6
+ end
7
+
8
+ def compile_scss scss, style=:expanded
9
+ SassC::Engine.new(scss, style: style).render
10
+ rescue SassC::SyntaxError => e
11
+ raise Card::Error,
12
+ "SassC::SyntaxError (#{card.name}:#{e.sass_backtrace}): #{e.message}"
13
+ # "#{#scss.lines[e.sass_line - 1]}\n" \
14
+ end
15
+ end
16
+
17
+ format :html do
18
+ def ace_mode
19
+ :scss
20
+ end
21
+ end
data/set/type/skin.rb ADDED
@@ -0,0 +1,10 @@
1
+ include_set Abstract::MachineInput
2
+ include_set Abstract::SkinBox
3
+ include_set Pointer
4
+
5
+ def machine_input
6
+ # only the item of a skin card contribute input to the machine
7
+ # not the skin card itself
8
+ ""
9
+ end
10
+
metadata ADDED
@@ -0,0 +1,115 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: card-mod-style
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.11.0
5
+ platform: ruby
6
+ authors:
7
+ - Ethan McCutchen
8
+ - Philipp Kühl
9
+ - Gerry Gleason
10
+ autorequire:
11
+ bindir: bin
12
+ cert_chain: []
13
+ date: 2021-02-26 00:00:00.000000000 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: card
17
+ requirement: !ruby/object:Gem::Requirement
18
+ requirements:
19
+ - - '='
20
+ - !ruby/object:Gem::Version
21
+ version: 1.101.0
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ requirements:
26
+ - - '='
27
+ - !ruby/object:Gem::Version
28
+ version: 1.101.0
29
+ - !ruby/object:Gem::Dependency
30
+ name: card-mod-machines
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - '='
34
+ - !ruby/object:Gem::Version
35
+ version: 0.11.0
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - '='
41
+ - !ruby/object:Gem::Version
42
+ version: 0.11.0
43
+ - !ruby/object:Gem::Dependency
44
+ name: card-mod-list
45
+ requirement: !ruby/object:Gem::Requirement
46
+ requirements:
47
+ - - '='
48
+ - !ruby/object:Gem::Version
49
+ version: 0.11.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.11.0
57
+ description: ''
58
+ email:
59
+ - info@decko.org
60
+ executables: []
61
+ extensions: []
62
+ extra_rdoc_files: []
63
+ files:
64
+ - lib/stylesheets/style_bootstrap_compatible.css
65
+ - lib/stylesheets/style_cards.scss
66
+ - lib/stylesheets/style_jquery_ui_smoothness.css
67
+ - public/assets/jquery-ui-smoothness/ui-bg_glass_55_fbf9ee_1x400.png
68
+ - public/assets/jquery-ui-smoothness/ui-bg_glass_65_ffffff_1x400.png
69
+ - public/assets/jquery-ui-smoothness/ui-bg_glass_75_dadada_1x400.png
70
+ - public/assets/jquery-ui-smoothness/ui-bg_glass_75_e6e6e6_1x400.png
71
+ - public/assets/jquery-ui-smoothness/ui-bg_glass_95_fef1ec_1x400.png
72
+ - public/assets/jquery-ui-smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png
73
+ - public/assets/jquery-ui-smoothness/ui-icons_222222_256x240.png
74
+ - public/assets/jquery-ui-smoothness/ui-icons_2e83ff_256x240.png
75
+ - public/assets/jquery-ui-smoothness/ui-icons_454545_256x240.png
76
+ - public/assets/jquery-ui-smoothness/ui-icons_888888_256x240.png
77
+ - public/assets/jquery-ui-smoothness/ui-icons_cd0a0a_256x240.png
78
+ - set/abstract/skin_box.rb
79
+ - set/abstract/skin_box/box_bottom.haml
80
+ - set/right/style.rb
81
+ - set/right/style/input.haml
82
+ - set/self/style.rb
83
+ - set/self/style_bootstrap_compatible.rb
84
+ - set/self/style_cards.rb
85
+ - set/self/style_jquery_ui_smoothness.rb
86
+ - set/self/style_libraries.rb
87
+ - set/self/style_mods.rb
88
+ - set/type/css.rb
89
+ - set/type/scss.rb
90
+ - set/type/skin.rb
91
+ homepage: http://decko.org
92
+ licenses:
93
+ - GPL-3.0
94
+ metadata:
95
+ card-mod: style
96
+ post_install_message:
97
+ rdoc_options: []
98
+ require_paths:
99
+ - lib
100
+ required_ruby_version: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '2.5'
105
+ required_rubygems_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ requirements: []
111
+ rubygems_version: 3.0.3
112
+ signing_key:
113
+ specification_version: 4
114
+ summary: Skins, CSS, SCSS, etc
115
+ test_files: []