livingstyleguide 2.0.0.alpha.9 → 2.0.0.alpha.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/livingstyleguide/document.rb +8 -1
- data/lib/livingstyleguide/filters.rb +1 -0
- data/lib/livingstyleguide/filters/colors.rb +7 -8
- data/lib/livingstyleguide/filters/css.rb +1 -1
- data/lib/livingstyleguide/filters/layout.rb +3 -4
- data/lib/livingstyleguide/filters/sass.rb +2 -2
- data/lib/livingstyleguide/filters/search_box.rb +9 -0
- data/lib/livingstyleguide/markdown_extensions.rb +1 -1
- data/lib/livingstyleguide/templates/code-example.html.erb +21 -0
- data/lib/livingstyleguide/templates/colors-example.html.erb +10 -36
- data/lib/livingstyleguide/templates/javascript-copy.html.erb +26 -0
- data/lib/livingstyleguide/templates/layout.html.erb +1 -0
- data/lib/livingstyleguide/templates/search-box.html.erb +68 -0
- data/lib/livingstyleguide/version.rb +1 -1
- data/stylesheets/_livingstyleguide.scss +10 -0
- data/stylesheets/livingstyleguide/_code.scss +29 -4
- data/stylesheets/livingstyleguide/_color-swatches.scss +1 -1
- data/stylesheets/livingstyleguide/_content.scss +3 -3
- data/stylesheets/livingstyleguide/_layout.scss +1 -2
- data/stylesheets/livingstyleguide/_reset.scss +0 -1
- data/stylesheets/livingstyleguide/_search.scss +8 -0
- metadata +11 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ba96e42a926901d8cd5997497cec4602f05f179c
|
4
|
+
data.tar.gz: b2e505615ea2fdcb6e5d6112bc8fe1d4c69b41ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8f9fac2110874728aad315e163252dec08023263415490220151b45ac208a53ab5ac2d7a9c1b390ff6f734789ed568460e75bb8c9cbb48f7ece2eb649fa1247c
|
7
|
+
data.tar.gz: d3f407cef912bb92a79cf0f80ffe98a7ddb75ee5b740e28a241550f813f968cc0999d1ca6ba7d296abdddffd9e45745952c9d3d61be5f67a883957f2e7bc546f
|
@@ -38,7 +38,11 @@ class LivingStyleGuide::Document < ::Tilt::Template
|
|
38
38
|
@scss = ''
|
39
39
|
@css = ''
|
40
40
|
@locals = {}
|
41
|
-
@defaults = {
|
41
|
+
@defaults = {
|
42
|
+
global: {
|
43
|
+
type: :html
|
44
|
+
}
|
45
|
+
}
|
42
46
|
end
|
43
47
|
|
44
48
|
def highlighted_source
|
@@ -81,6 +85,9 @@ class LivingStyleGuide::Document < ::Tilt::Template
|
|
81
85
|
|
82
86
|
def evaluate(scope, locals, &block)
|
83
87
|
@head = ""
|
88
|
+
@head << ERB.new(File.read("#{File.dirname(__FILE__)}/templates/javascript-copy.html.erb")).result(binding)
|
89
|
+
@head << ERB.new(File.read("#{File.dirname(__FILE__)}/templates/code-example.html.erb")).result(binding)
|
90
|
+
@head << ERB.new(File.read("#{File.dirname(__FILE__)}/templates/colors-example.html.erb")).result(binding)
|
84
91
|
@header = ""
|
85
92
|
@footer = ""
|
86
93
|
@scope = scope
|
@@ -3,8 +3,6 @@ LivingStyleGuide.add_filter :colors do |arguments, options, content|
|
|
3
3
|
columns = colors.map{ |l| l.size }.max
|
4
4
|
colors = colors.flatten
|
5
5
|
|
6
|
-
document.head << ERB.new(File.read("#{File.dirname(__FILE__)}/../templates/colors-example.html.erb")).result
|
7
|
-
|
8
6
|
document.scss << <<-SCSS
|
9
7
|
$lsg--variables: () !default;
|
10
8
|
$lsg--variables: join(
|
@@ -15,11 +13,12 @@ LivingStyleGuide.add_filter :colors do |arguments, options, content|
|
|
15
13
|
})
|
16
14
|
);
|
17
15
|
SCSS
|
16
|
+
|
18
17
|
colors_html = colors.map do |variable|
|
19
|
-
if variable ==
|
20
|
-
css_class =
|
21
|
-
end
|
22
|
-
%Q(<li class="lsg--color-swatch #{css_class || variable}"><span>#{variable}</span></li>\n)
|
23
|
-
end.join("\n")
|
24
|
-
%(<ul class="lsg--color-swatches -lsg-#{columns}-columns">\n#{colors_html}\n</ul>\n)
|
18
|
+
if variable == "-"
|
19
|
+
css_class = "-lsg-empty"
|
25
20
|
end
|
21
|
+
%Q(<li class="lsg--color-swatch #{css_class || variable}"><span>#{variable}</span></li>\n)
|
22
|
+
end.join("\n")
|
23
|
+
%(<ul class="lsg--color-swatches -lsg-#{columns}-columns">\n#{colors_html}\n</ul>\n)
|
24
|
+
end
|
@@ -7,7 +7,7 @@ LivingStyleGuide.add_filter :css do |arguments, options, css|
|
|
7
7
|
document.depend_on file
|
8
8
|
document.scss << %Q(@import "#{file}";\n)
|
9
9
|
else
|
10
|
-
scope = "#" + document.id.gsub(/[\/\.]/, '
|
10
|
+
scope = "#" + document.id.gsub(/[\/\.]/, '\\\\\0')
|
11
11
|
scoped_css = css.gsub(/(?<=\}|\A|;)[^@\};]+?(?=\{)/) do |selector|
|
12
12
|
selector.split(",").map do |single_selector|
|
13
13
|
"#{scope} #{single_selector}"
|
@@ -22,10 +22,9 @@ end
|
|
22
22
|
%w(head header footer).each do |part|
|
23
23
|
eval <<-RUBY
|
24
24
|
LivingStyleGuide.add_filter :#{part} do |arguments, options, block|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
document.#{part} << block + "\n"
|
25
|
+
html = LivingStyleGuide::Document.new(livingstyleguide: document) { block }
|
26
|
+
html.type = options[:type]
|
27
|
+
document.#{part} << html.render + "\n"
|
29
28
|
nil
|
30
29
|
end
|
31
30
|
RUBY
|
@@ -7,7 +7,7 @@ LivingStyleGuide.add_filter :scss do |arguments, options, scss|
|
|
7
7
|
document.depend_on file
|
8
8
|
document.scss << %Q(@import "#{file}";\n)
|
9
9
|
else
|
10
|
-
document.scss << "##{document.id.gsub(/[\/\.]/, '
|
10
|
+
document.scss << "##{document.id.gsub(/[\/\.]/, '\\\\\0')} {\n#{scss}\n}\n"
|
11
11
|
end
|
12
12
|
nil
|
13
13
|
end
|
@@ -22,7 +22,7 @@ LivingStyleGuide.add_filter :sass do |arguments, options, sass|
|
|
22
22
|
document.scss << %Q(@import "#{file}";\n)
|
23
23
|
else
|
24
24
|
scss = Sass::Engine.new(sass).to_tree.to_scss
|
25
|
-
document.scss << "##{document.id.gsub(/[\/\.]/, '
|
25
|
+
document.scss << "##{document.id.gsub(/[\/\.]/, '\\\\\0')} {\n#{scss}\n}\n"
|
26
26
|
end
|
27
27
|
nil
|
28
28
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
LivingStyleGuide.default_options[:search_box] = {
|
2
|
+
placeholder: "Search …"
|
3
|
+
}
|
4
|
+
|
5
|
+
LivingStyleGuide.add_filter :search_box do |arguments, options, content|
|
6
|
+
placeholder = options[:placeholder] || LivingStyleGuide.default_options[:search_box][:placeholder]
|
7
|
+
document.header << ERB.new(File.read("#{File.dirname(__FILE__)}/../templates/search-box.html.erb")).result(binding)
|
8
|
+
nil
|
9
|
+
end
|
@@ -48,7 +48,7 @@ module LivingStyleGuide
|
|
48
48
|
language = @options[:default_language] if language == :''
|
49
49
|
document = Document.new(livingstyleguide: @document) { code }
|
50
50
|
document.id = document_id
|
51
|
-
document.type = language == :example ? :
|
51
|
+
document.type = language == :example ? @document.defaults[:global][:type] : language
|
52
52
|
document.template = template_for(language)
|
53
53
|
document.render(@document.scope)
|
54
54
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
<script>
|
2
|
+
document.addEventListener("DOMContentLoaded", function() {
|
3
|
+
if (testCopy()) {
|
4
|
+
var code = document.getElementsByClassName("lsg--code");
|
5
|
+
|
6
|
+
for (var i = 0; i < code.length; i++) {
|
7
|
+
var newButton = createButton()
|
8
|
+
code[i].appendChild(newButton)
|
9
|
+
newButton.addEventListener("click", function(event) {
|
10
|
+
selectElementRange(this.parentNode);
|
11
|
+
})
|
12
|
+
}
|
13
|
+
}
|
14
|
+
});
|
15
|
+
|
16
|
+
function createButton(copyCodeSelect) {
|
17
|
+
var buttonCopy = document.createElement("button");
|
18
|
+
buttonCopy.className = "lsg--button";
|
19
|
+
return buttonCopy;
|
20
|
+
}
|
21
|
+
</script>
|
@@ -1,14 +1,13 @@
|
|
1
1
|
<script>
|
2
|
-
document.addEventListener(
|
2
|
+
document.addEventListener("DOMContentLoaded", function() {
|
3
3
|
if (testCopy()) {
|
4
|
-
var colorSwatches = document.getElementsByClassName(
|
4
|
+
var colorSwatches = document.getElementsByClassName("lsg--color-swatch");
|
5
5
|
for (var i = 0; i < colorSwatches.length; i++) {
|
6
|
-
|
7
|
-
if (!colorSwatches[i].classList.contains('-lsg-empty')) {
|
6
|
+
if (!colorSwatches[i].classList.contains("-lsg-empty")) {
|
8
7
|
colorSwatches[i].appendChild(createSpan());
|
9
|
-
colorSwatches[i].addEventListener(
|
8
|
+
colorSwatches[i].addEventListener("click", function(event) {
|
10
9
|
if (event.altKey) {
|
11
|
-
var copyHexColors = window.getComputedStyle(this,
|
10
|
+
var copyHexColors = window.getComputedStyle(this, ":after").getPropertyValue("content");
|
12
11
|
copyHexColors = copyHexColors.replace(/'/g, "");
|
13
12
|
selectElementRange(createDiv(copyHexColors));
|
14
13
|
}
|
@@ -22,43 +21,18 @@
|
|
22
21
|
});
|
23
22
|
|
24
23
|
function createDiv(copyHexColors) {
|
25
|
-
var divCopy = document.createElement(
|
26
|
-
divCopy.className =
|
27
|
-
divCopy.setAttribute(
|
24
|
+
var divCopy = document.createElement("div");
|
25
|
+
divCopy.className = "-lsg-remove";
|
26
|
+
divCopy.setAttribute("style", "opacity: 0; position: absolute; top: -10000px");
|
28
27
|
divCopy.appendChild(document.createTextNode(copyHexColors));
|
29
28
|
document.body.appendChild(divCopy);
|
30
29
|
return divCopy
|
31
30
|
}
|
32
31
|
|
33
32
|
function createSpan() {
|
34
|
-
var spanHover = document.createElement(
|
35
|
-
spanHover.className =
|
33
|
+
var spanHover = document.createElement("span");
|
34
|
+
spanHover.className = "lsg--copy-color";
|
36
35
|
spanHover.appendChild(document.createTextNode("Click to copy variable\nAlt + click to copy HEX code"));
|
37
36
|
return spanHover
|
38
37
|
}
|
39
|
-
|
40
|
-
function selectElementRange(copyElementSelect) {
|
41
|
-
var range = document.createRange();
|
42
|
-
range.selectNode(copyElementSelect);
|
43
|
-
window.getSelection().removeAllRanges();
|
44
|
-
window.getSelection().addRange(range);
|
45
|
-
|
46
|
-
document.execCommand('copy');
|
47
|
-
|
48
|
-
if (copyElementSelect.classList.contains('-lsg-remove')) {
|
49
|
-
document.body.removeChild(copyElementSelect);
|
50
|
-
}
|
51
|
-
|
52
|
-
window.getSelection().removeAllRanges();
|
53
|
-
}
|
54
|
-
|
55
|
-
function testCopy() {
|
56
|
-
try {
|
57
|
-
document.execCommand('copy');
|
58
|
-
return true;
|
59
|
-
}
|
60
|
-
catch(err) {
|
61
|
-
return false;
|
62
|
-
}
|
63
|
-
}
|
64
38
|
</script>
|
@@ -0,0 +1,26 @@
|
|
1
|
+
<script>
|
2
|
+
function selectElementRange(copyElementSelect) {
|
3
|
+
var range = document.createRange();
|
4
|
+
range.selectNode(copyElementSelect);
|
5
|
+
window.getSelection().removeAllRanges();
|
6
|
+
window.getSelection().addRange(range);
|
7
|
+
|
8
|
+
document.execCommand("copy");
|
9
|
+
|
10
|
+
if (copyElementSelect.classList.contains("-lsg-remove")) {
|
11
|
+
document.body.removeChild(copyElementSelect);
|
12
|
+
}
|
13
|
+
|
14
|
+
window.getSelection().removeAllRanges();
|
15
|
+
}
|
16
|
+
|
17
|
+
function testCopy() {
|
18
|
+
try {
|
19
|
+
document.execCommand("copy");
|
20
|
+
return true;
|
21
|
+
}
|
22
|
+
catch(err) {
|
23
|
+
return false;
|
24
|
+
}
|
25
|
+
}
|
26
|
+
</script>
|
@@ -4,6 +4,7 @@
|
|
4
4
|
<head>
|
5
5
|
<meta charset="utf-8">
|
6
6
|
<meta content="IE=edge,chrome=1" http-equiv="X-UA-Compatible">
|
7
|
+
<meta content="width=device-width, initial-scale=1.0" name="viewport">
|
7
8
|
<meta content="The LivingStyleGuide Gem – http://livingstyleguide.org" name="generator">
|
8
9
|
<title><%= ERB::Util.h(title) %></title>
|
9
10
|
<script>
|
@@ -0,0 +1,68 @@
|
|
1
|
+
<div class="lsg--search">
|
2
|
+
<input type="search" class="lsg--search-box" placeholder="<%= placeholder %>" autofocus>
|
3
|
+
</div>
|
4
|
+
<script>
|
5
|
+
function hasClass(ele, cls) {
|
6
|
+
return ele.classList.contains(cls);
|
7
|
+
}
|
8
|
+
|
9
|
+
function addMatch(matched, node) {
|
10
|
+
if (node.nodeType !== Node.TEXT_NODE) {
|
11
|
+
if (node.className.match(/lsg--/)) {
|
12
|
+
matched.push(node);
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
var addNextElement = function(selection, matched, i) {
|
18
|
+
var j = i + 1;
|
19
|
+
while (j < selection.length) {
|
20
|
+
if (hasClass(selection[j], "lsg--headline")) {
|
21
|
+
break;
|
22
|
+
}
|
23
|
+
addMatch(matched, selection[j]);
|
24
|
+
j++;
|
25
|
+
}
|
26
|
+
}
|
27
|
+
|
28
|
+
var addPreviousElement = function(selection, matched, i) {
|
29
|
+
var j = i;
|
30
|
+
while (j >= 0) {
|
31
|
+
addMatch(matched, selection[j]);
|
32
|
+
if (hasClass(selection[j], "lsg--headline")) {
|
33
|
+
break;
|
34
|
+
}
|
35
|
+
j--;
|
36
|
+
}
|
37
|
+
}
|
38
|
+
|
39
|
+
document.querySelector(".lsg--search-box").addEventListener("input", function(event) {
|
40
|
+
var searchTerm = this.value;
|
41
|
+
|
42
|
+
var selection = document.querySelectorAll(".lsg--example, .lsg--color-swatches, .lsg--font-example, .lsg--paragraph, .lsg--unordered-list, .lsg--ordered-list, .lsg--headline, .lsg--sub-headline, .lsg--sub-sub-headline");
|
43
|
+
var regexp = new RegExp(searchTerm, "i");
|
44
|
+
selection = Array.prototype.slice.call(selection);
|
45
|
+
var matched = [];
|
46
|
+
var unmatched = [];
|
47
|
+
|
48
|
+
for (var i = 0; i < selection.length; i++) {
|
49
|
+
if (selection[i].textContent.match(regexp)) {
|
50
|
+
addMatch(matched, selection[i]);
|
51
|
+
addNextElement(selection, matched, i);
|
52
|
+
addPreviousElement(selection, matched, i);
|
53
|
+
};
|
54
|
+
};
|
55
|
+
|
56
|
+
unmatched = selection.filter(function(elem) {
|
57
|
+
return matched.indexOf(elem) === -1;
|
58
|
+
});
|
59
|
+
|
60
|
+
unmatched.map(function(item) {
|
61
|
+
item.style.display = "none";
|
62
|
+
});
|
63
|
+
|
64
|
+
matched.map(function(item) {
|
65
|
+
item.style.display = "block";
|
66
|
+
});
|
67
|
+
});
|
68
|
+
</script>
|
@@ -48,6 +48,15 @@ $lsg--color-swatches-per-line: 2 !default;
|
|
48
48
|
$lsg--highlight-color: #f6ffa3 !default;
|
49
49
|
$lsg--highlight-border-radius: 2px;
|
50
50
|
|
51
|
+
//// IMAGES - SVG ////
|
52
|
+
|
53
|
+
$lsg--copy-background-image: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' width='100%' height='100%' viewBox='0 0 512 512' enable-background='new 0 0 512 512' xml:space='preserve'> <path id='copy-6-icon' d='M360.277,151.999V50.001H50v310.137h102v101.861h310v-310H360.277z M90,320.138V90.001h230.277v61.998 H152v168.139H90z M421.5,421.499h-230V191.832h20.569c10.639,0,20.745,4.656,27.657,12.744l19.023,22.256H358l19.366-22.408 c6.911-7.996,16.958-12.592,27.528-12.592H421.5V421.499z M379.479,338.581h-145.99v-29h145.99V338.581z M379.479,286.249h-145.99 v-29h145.99V286.249z M233.488,361.999h146.023v29H233.488V361.999z'/></svg>");
|
54
|
+
|
55
|
+
//// BUTTONS ////
|
56
|
+
|
57
|
+
$lsg--button-height: 23px !default;
|
58
|
+
$lsg--button-width: $lsg--button-height !default;
|
59
|
+
|
51
60
|
//// IMPORTS ////
|
52
61
|
|
53
62
|
@import "livingstyleguide/reset";
|
@@ -55,4 +64,5 @@ $lsg--highlight-border-radius: 2px;
|
|
55
64
|
@import "livingstyleguide/content";
|
56
65
|
@import "livingstyleguide/code";
|
57
66
|
@import "livingstyleguide/color-swatches";
|
67
|
+
@import "livingstyleguide/search";
|
58
68
|
@import "livingstyleguide/variables";
|
@@ -72,14 +72,20 @@
|
|
72
72
|
}
|
73
73
|
|
74
74
|
.lsg--code-block {
|
75
|
-
display: block
|
75
|
+
display: block;
|
76
|
+
min-height: $lsg--gap-width + $lsg--button-height;
|
76
77
|
line-height: $lsg--code-line-height;
|
77
78
|
padding: 3px $lsg--gap-width;
|
78
|
-
width: $lsg--width;
|
79
|
+
max-width: $lsg--width;
|
80
|
+
-ms-overflow-style: none;
|
79
81
|
|
80
82
|
.show-code & {
|
81
83
|
display: block;
|
82
84
|
}
|
85
|
+
|
86
|
+
&::-webkit-scrollbar {
|
87
|
+
width: 0 !important;
|
88
|
+
}
|
83
89
|
}
|
84
90
|
|
85
91
|
.lsg--example + .lsg--code-block {
|
@@ -98,7 +104,27 @@
|
|
98
104
|
.lsg--code {
|
99
105
|
display: block;
|
100
106
|
margin: auto;
|
101
|
-
width: $lsg--width;
|
107
|
+
max-width: $lsg--width;
|
108
|
+
}
|
109
|
+
}
|
110
|
+
|
111
|
+
.lsg--button {
|
112
|
+
background-color: $lsg--background-color;
|
113
|
+
background-image: $lsg--copy-background-image;
|
114
|
+
background-position: 50%;
|
115
|
+
background-repeat: no-repeat;
|
116
|
+
background-size: 90%;
|
117
|
+
border-radius: $lsg--border-radius;
|
118
|
+
bottom: floor($lsg--gap-width / 2);
|
119
|
+
cursor: pointer;
|
120
|
+
height: $lsg--button-height;
|
121
|
+
position: absolute;
|
122
|
+
right: floor($lsg--gap-width / 2);
|
123
|
+
visibility: hidden;
|
124
|
+
width: $lsg--button-width;
|
125
|
+
|
126
|
+
.lsg--code:hover & {
|
127
|
+
visibility: visible;
|
102
128
|
}
|
103
129
|
}
|
104
130
|
|
@@ -121,4 +147,3 @@
|
|
121
147
|
@extend .lsg--code-highlight;
|
122
148
|
display: block;
|
123
149
|
}
|
124
|
-
|
@@ -10,7 +10,7 @@
|
|
10
10
|
line-height: $lsg--base-line-height;
|
11
11
|
margin: $lsg--gap-width auto;
|
12
12
|
text-align: $lsg--base-text-align;
|
13
|
-
width: $lsg--width;
|
13
|
+
max-width: $lsg--width;
|
14
14
|
-webkit-font-smoothing: antialiased;
|
15
15
|
}
|
16
16
|
|
@@ -35,7 +35,7 @@
|
|
35
35
|
line-height: $lsg--headline-line-height;
|
36
36
|
margin: (3 * $lsg--gap-width) auto $lsg--gap-width;
|
37
37
|
text-align: $lsg--headline-text-align;
|
38
|
-
width: $lsg--width;
|
38
|
+
max-width: $lsg--width;
|
39
39
|
-webkit-font-smoothing: antialiased;
|
40
40
|
}
|
41
41
|
|
@@ -89,7 +89,7 @@
|
|
89
89
|
overflow: hidden;
|
90
90
|
padding: $lsg--gap-width;
|
91
91
|
position: relative;
|
92
|
-
width: $lsg--width;
|
92
|
+
max-width: $lsg--width;
|
93
93
|
|
94
94
|
&.-lsg-has-full-width {
|
95
95
|
@extend #{$lsg--layout-selector} !optional;
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: livingstyleguide
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.0.alpha.
|
4
|
+
version: 2.0.0.alpha.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nico Hagenburger
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-08-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minisyntax
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: redcarpet
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - "
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: tilt
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -224,6 +224,7 @@ files:
|
|
224
224
|
- lib/livingstyleguide/filters/options.rb
|
225
225
|
- lib/livingstyleguide/filters/require.rb
|
226
226
|
- lib/livingstyleguide/filters/sass.rb
|
227
|
+
- lib/livingstyleguide/filters/search_box.rb
|
227
228
|
- lib/livingstyleguide/filters/style.rb
|
228
229
|
- lib/livingstyleguide/filters/syntax.rb
|
229
230
|
- lib/livingstyleguide/filters/type.rb
|
@@ -233,14 +234,17 @@ files:
|
|
233
234
|
- lib/livingstyleguide/integration/sass.rb
|
234
235
|
- lib/livingstyleguide/integration/sprockets.rb
|
235
236
|
- lib/livingstyleguide/markdown_extensions.rb
|
237
|
+
- lib/livingstyleguide/templates/code-example.html.erb
|
236
238
|
- lib/livingstyleguide/templates/code.html.erb
|
237
239
|
- lib/livingstyleguide/templates/colors-example.html.erb
|
238
240
|
- lib/livingstyleguide/templates/default.html.erb
|
239
241
|
- lib/livingstyleguide/templates/example.html.erb
|
240
242
|
- lib/livingstyleguide/templates/font-example.html.erb
|
243
|
+
- lib/livingstyleguide/templates/javascript-copy.html.erb
|
241
244
|
- lib/livingstyleguide/templates/javascript.html.erb
|
242
245
|
- lib/livingstyleguide/templates/layout.html.erb
|
243
246
|
- lib/livingstyleguide/templates/plain.html.erb
|
247
|
+
- lib/livingstyleguide/templates/search-box.html.erb
|
244
248
|
- lib/livingstyleguide/version.rb
|
245
249
|
- stylesheets/_livingstyleguide.scss
|
246
250
|
- stylesheets/livingstyleguide/_code.scss
|
@@ -248,6 +252,7 @@ files:
|
|
248
252
|
- stylesheets/livingstyleguide/_content.scss
|
249
253
|
- stylesheets/livingstyleguide/_layout.scss
|
250
254
|
- stylesheets/livingstyleguide/_reset.scss
|
255
|
+
- stylesheets/livingstyleguide/_search.scss
|
251
256
|
- stylesheets/livingstyleguide/_variables.scss
|
252
257
|
homepage: http://livingstyleguide.org
|
253
258
|
licenses: []
|