playbook_ui 12.23.0.pre.alpha.movemarkdown712 → 12.23.0.pre.alpha.play698responsivespacingglobalprop701
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/app/pb_kits/playbook/pb_docs/kit_api.html.erb +311 -0
- data/app/pb_kits/playbook/pb_docs/kit_api.rb +149 -0
- data/app/pb_kits/playbook/pb_docs/kit_example.rb +2 -0
- data/app/pb_kits/playbook/tokens/_screen_sizes.scss +29 -0
- data/app/pb_kits/playbook/utilities/_spacing.scss +27 -1
- data/app/pb_kits/playbook/utilities/globalProps.ts +61 -16
- data/lib/playbook/markdown/helper.rb +132 -0
- data/lib/playbook/markdown.rb +3 -0
- data/lib/playbook/spacing.rb +20 -5
- data/lib/playbook/version.rb +1 -1
- data/lib/playbook.rb +2 -1
- metadata +36 -7
- data/dist/playbook-rails.js +0 -51
@@ -0,0 +1,132 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "redcarpet"
|
4
|
+
require "rouge"
|
5
|
+
require "rouge/plugins/redcarpet"
|
6
|
+
require "action_view"
|
7
|
+
|
8
|
+
module Playbook
|
9
|
+
module Markdown
|
10
|
+
module Helper
|
11
|
+
def self.call(template, _source)
|
12
|
+
markdown(template.source)
|
13
|
+
end
|
14
|
+
|
15
|
+
def render_markdown(text)
|
16
|
+
# rubocop:disable Security/Eval
|
17
|
+
eval(Playbook::Markdown::Helper.markdown(text))
|
18
|
+
# rubocop:enable Security/Eval
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.markdown(text)
|
22
|
+
options = {
|
23
|
+
filter_html: false,
|
24
|
+
hard_wrap: true,
|
25
|
+
link_attributes: { rel: "nofollow", target: "_blank" },
|
26
|
+
space_after_headers: true,
|
27
|
+
fenced_code_blocks: true,
|
28
|
+
no_styles: false,
|
29
|
+
safe_links_only: true,
|
30
|
+
}
|
31
|
+
|
32
|
+
extensions = {
|
33
|
+
lax_spacing: true,
|
34
|
+
no_intra_emphasis: true,
|
35
|
+
autolink: true,
|
36
|
+
superscript: true,
|
37
|
+
fenced_code_blocks: true,
|
38
|
+
tables: true,
|
39
|
+
disable_indented_code_blocks: false,
|
40
|
+
strikethrough: true,
|
41
|
+
underline: true,
|
42
|
+
highlight: true,
|
43
|
+
footnotes: true,
|
44
|
+
with_toc_data: true,
|
45
|
+
}
|
46
|
+
|
47
|
+
renderer = HTMLBlockCode.new(options)
|
48
|
+
# toc_renderer = Redcarpet::Render::HTML_TOC.new(with_toc_data: true)
|
49
|
+
# @TOC = Redcarpet::Markdown.new(toc_renderer)
|
50
|
+
# puts "TOC: #{@TOC.inspect}"
|
51
|
+
markdown = Redcarpet::Markdown.new(renderer, extensions)
|
52
|
+
"#{markdown.render(text).inspect}.html_safe;"
|
53
|
+
end
|
54
|
+
|
55
|
+
def rouge(text, language)
|
56
|
+
formatter = Rouge::Formatters::HTML.new(scope: ".highlight")
|
57
|
+
lexer = Rouge::Lexer.find(language)
|
58
|
+
formatter.format(lexer.lex(text))
|
59
|
+
end
|
60
|
+
|
61
|
+
class HTML < Redcarpet::Render::HTML
|
62
|
+
include Rouge::Plugins::Redcarpet
|
63
|
+
end
|
64
|
+
|
65
|
+
def rouge_markdown(text)
|
66
|
+
render_options = {
|
67
|
+
filter_html: true,
|
68
|
+
hard_wrap: true,
|
69
|
+
link_attributes: { rel: "nofollow" },
|
70
|
+
}
|
71
|
+
renderer = HTML.new(render_options)
|
72
|
+
|
73
|
+
extensions = {
|
74
|
+
autolink: true,
|
75
|
+
fenced_code_blocks: true,
|
76
|
+
lax_spacing: true,
|
77
|
+
no_intra_emphasis: true,
|
78
|
+
strikethrough: true,
|
79
|
+
superscript: true,
|
80
|
+
}
|
81
|
+
markdown = Redcarpet::Markdown.new(renderer, extensions)
|
82
|
+
markdown.render(text)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
class HTMLWithPants < Redcarpet::Render::HTML
|
87
|
+
include Redcarpet::Render::SmartyPants
|
88
|
+
end
|
89
|
+
|
90
|
+
class HTML < Redcarpet::Render::HTML
|
91
|
+
include Rouge::Plugins::Redcarpet
|
92
|
+
end
|
93
|
+
|
94
|
+
class HTMLBlockCode < Redcarpet::Render::HTML
|
95
|
+
include ActionView::Helpers::AssetTagHelper
|
96
|
+
|
97
|
+
# def block_code(code, language)
|
98
|
+
# "\n.nf\n#{normal_text(rouge(code, language))}\n.fi\n"
|
99
|
+
# end
|
100
|
+
|
101
|
+
def table(header, body)
|
102
|
+
"<table class='pb_table table-sm table-responsive-collapse table-card table-collapse-sm'>" \
|
103
|
+
"<thead>#{header}</thead>" \
|
104
|
+
"<tbody>#{body}</tbody>" \
|
105
|
+
"</table>"
|
106
|
+
end
|
107
|
+
|
108
|
+
def header(title, level)
|
109
|
+
@headers ||= []
|
110
|
+
permalink = title.gsub(/\W+/, "-")
|
111
|
+
if @headers.include?(permalink)
|
112
|
+
permalink += "_1"
|
113
|
+
loop do
|
114
|
+
break unless @headers.include?(permalink)
|
115
|
+
|
116
|
+
permalink.gsub!(/_(\d+)$/, "_#{Regexp.last_match(1).to_i + 1}")
|
117
|
+
end
|
118
|
+
end
|
119
|
+
@headers << permalink
|
120
|
+
permalink_markup = %(<a name="#{permalink}" class="markdown-header-anchor" )
|
121
|
+
permalink_markup += %(href="##{permalink}"><span class="far fa-link markdown-header-anchor-icon"></span></a>)
|
122
|
+
%(\n<h#{level} id="#{permalink}">#{title} #{permalink_markup}</h#{level}>\n)
|
123
|
+
end
|
124
|
+
|
125
|
+
def image(link, title, alt_text)
|
126
|
+
return nil if link.nil?
|
127
|
+
|
128
|
+
%(<a href="#{link}" target="_blank">#{image_tag(link, title: title, alt: alt_text, class: 'imageloader lazyload')}</a>)
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
132
|
+
end
|
data/lib/playbook/spacing.rb
CHANGED
@@ -50,17 +50,32 @@ module Playbook
|
|
50
50
|
end
|
51
51
|
|
52
52
|
def spacing_values
|
53
|
-
%w[none xxs xs sm md lg xl]
|
53
|
+
%w[none xxs xs sm md lg xl auto initial inherit]
|
54
|
+
end
|
55
|
+
|
56
|
+
def screen_size_values
|
57
|
+
%w[xs sm md lg xl]
|
54
58
|
end
|
55
59
|
|
56
60
|
def spacing_props
|
57
61
|
selected_props = spacing_options.keys.select { |sk| try(sk) }
|
58
62
|
return nil unless selected_props.present?
|
59
63
|
|
60
|
-
selected_props.
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
+
responsive = selected_props.present? && try(selected_props.first).is_a?(::Hash)
|
65
|
+
css = ""
|
66
|
+
selected_props.each do |prop|
|
67
|
+
spacing_value = send(prop)
|
68
|
+
prefix = spacing_options[prop]
|
69
|
+
if responsive
|
70
|
+
spacing_value.each do |key, value|
|
71
|
+
css += "#{prefix}_#{key}_#{value} " if screen_size_values.include?(key.to_s) && spacing_values.include?(value.to_s)
|
72
|
+
end
|
73
|
+
elsif spacing_values.include?(spacing_value)
|
74
|
+
css += "#{prefix}_#{spacing_value} "
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
css.strip unless css.blank?
|
64
79
|
end
|
65
80
|
|
66
81
|
def max_width_props
|
data/lib/playbook/version.rb
CHANGED
data/lib/playbook.rb
CHANGED
@@ -8,9 +8,10 @@ require "playbook/props"
|
|
8
8
|
require "playbook/forms"
|
9
9
|
require "playbook/pb_forms_helper"
|
10
10
|
require "playbook/pb_kit_helper"
|
11
|
-
require "playbook/pb_doc_helper"
|
11
|
+
require "playbook/pb_doc_helper"
|
12
12
|
require "playbook/kit_base"
|
13
13
|
require "playbook/kit_resolver"
|
14
|
+
require "playbook/markdown"
|
14
15
|
|
15
16
|
module Playbook
|
16
17
|
ROOT_PATH = Pathname.new(File.join(__dir__, ".."))
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: playbook_ui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 12.23.0.pre.alpha.
|
4
|
+
version: 12.23.0.pre.alpha.play698responsivespacingglobalprop701
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Power UX
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2023-05-
|
12
|
+
date: 2023-05-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: actionpack
|
@@ -67,6 +67,34 @@ dependencies:
|
|
67
67
|
- - '='
|
68
68
|
- !ruby/object:Gem::Version
|
69
69
|
version: 2.6.1
|
70
|
+
- !ruby/object:Gem::Dependency
|
71
|
+
name: redcarpet
|
72
|
+
requirement: !ruby/object:Gem::Requirement
|
73
|
+
requirements:
|
74
|
+
- - "~>"
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: '3.6'
|
77
|
+
type: :runtime
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '3.6'
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: rouge
|
86
|
+
requirement: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - "~>"
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '3.15'
|
91
|
+
type: :runtime
|
92
|
+
prerelease: false
|
93
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
|
+
requirements:
|
95
|
+
- - "~>"
|
96
|
+
- !ruby/object:Gem::Version
|
97
|
+
version: '3.15'
|
70
98
|
- !ruby/object:Gem::Dependency
|
71
99
|
name: view_component
|
72
100
|
requirement: !ruby/object:Gem::Requirement
|
@@ -255,9 +283,7 @@ dependencies:
|
|
255
283
|
- - '='
|
256
284
|
- !ruby/object:Gem::Version
|
257
285
|
version: 3.3.1
|
258
|
-
description: Playbook
|
259
|
-
Playbook takes a modern design approach and applies it in a way that makes it easy
|
260
|
-
to support bleeding edge or legacy systems.
|
286
|
+
description: Playbook Design System. Built for Nitro, but powering all.
|
261
287
|
email:
|
262
288
|
- nitroux@powerhrg.com
|
263
289
|
- dev@powerhrg.com
|
@@ -878,6 +904,8 @@ files:
|
|
878
904
|
- app/pb_kits/playbook/pb_distribution_bar/docs/_distribution_bar_default.jsx
|
879
905
|
- app/pb_kits/playbook/pb_distribution_bar/docs/example.yml
|
880
906
|
- app/pb_kits/playbook/pb_distribution_bar/docs/index.js
|
907
|
+
- app/pb_kits/playbook/pb_docs/kit_api.html.erb
|
908
|
+
- app/pb_kits/playbook/pb_docs/kit_api.rb
|
881
909
|
- app/pb_kits/playbook/pb_docs/kit_example.html.erb
|
882
910
|
- app/pb_kits/playbook/pb_docs/kit_example.rb
|
883
911
|
- app/pb_kits/playbook/pb_enhanced_element/element_observer.ts
|
@@ -2402,7 +2430,6 @@ files:
|
|
2402
2430
|
- app/pb_kits/playbook/utilities/test/globalProps/order.test.js
|
2403
2431
|
- app/pb_kits/playbook/utilities/text.ts
|
2404
2432
|
- dist/menu.yml
|
2405
|
-
- dist/playbook-rails.js
|
2406
2433
|
- dist/reset.css
|
2407
2434
|
- lib/playbook.rb
|
2408
2435
|
- lib/playbook/align_content.rb
|
@@ -2431,6 +2458,8 @@ files:
|
|
2431
2458
|
- lib/playbook/kit_base.rb
|
2432
2459
|
- lib/playbook/kit_resolver.rb
|
2433
2460
|
- lib/playbook/line_height.rb
|
2461
|
+
- lib/playbook/markdown.rb
|
2462
|
+
- lib/playbook/markdown/helper.rb
|
2434
2463
|
- lib/playbook/number_spacing.rb
|
2435
2464
|
- lib/playbook/order.rb
|
2436
2465
|
- lib/playbook/pagination_renderer.rb
|
@@ -2458,7 +2487,7 @@ files:
|
|
2458
2487
|
- lib/playbook/version.rb
|
2459
2488
|
- lib/playbook/z_index.rb
|
2460
2489
|
- lib/playbook_ui.rb
|
2461
|
-
homepage:
|
2490
|
+
homepage: http://playbook.powerapp.cloud
|
2462
2491
|
licenses:
|
2463
2492
|
- ISC
|
2464
2493
|
metadata: {}
|