livingstyleguide 0.2.0 → 0.3.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.
@@ -0,0 +1,75 @@
1
+ ;(function(win) {
2
+
3
+ getCookie = function(name) {
4
+ var regexp = new RegExp('(?:^|;)\\s*' + name + '\\s*=(.+?)(?:;|$)'),
5
+ match = document.cookie.match(regexp);
6
+ if (match) {
7
+ return escape(match[1]);
8
+ }
9
+ }
10
+
11
+ setCookie = function(name, value, expireDays) {
12
+ var cookie = name + '=' + escape(value);
13
+ if (expireDays) {
14
+ var expireDate = new Date();
15
+ expireDate.setDate(expireDate.getDate() + expireDays);
16
+ cookie += '; expires=' + expireDate.toUTCString();
17
+ }
18
+ document.cookie = cookie;
19
+ }
20
+
21
+ getClasses = function(el) {
22
+ return el.className.split(/\s+/g);
23
+ };
24
+
25
+ addClass = function(el, name) {
26
+ var classList = getClasses(el);
27
+ if (classList.indexOf(name) == -1) {
28
+ classList.push(name);
29
+ el.className = classList.join(' ');
30
+ }
31
+ };
32
+
33
+ removeClass = function(el, name) {
34
+ var classList = getClasses(el);
35
+ classList[classList.indexOf(name)] = null;
36
+ el.className = classList.join(' ');
37
+ };
38
+
39
+ toggleClass = function(el, name) {
40
+ var classList = getClasses(el);
41
+ if (classList.indexOf(name) == -1) {
42
+ addClass(el, name);
43
+ return true;
44
+ }
45
+ else {
46
+ removeClass(el, name);
47
+ return false;
48
+ }
49
+ };
50
+
51
+ var html = document.getElementsByTagName('HTML')[0];
52
+
53
+ // Hide/show code
54
+
55
+ var codeOpenedClass = 'show-code';
56
+
57
+ if (getCookie(codeOpenedClass) != 'false') {
58
+ addClass(html, codeOpenedClass);
59
+ }
60
+
61
+ function toggleCode(event) {
62
+ event.preventDefault();
63
+ showCode = toggleClass(html, codeOpenedClass);
64
+ setCookie(codeOpenedClass, showCode, 365);
65
+ }
66
+
67
+ document.addEventListener('DOMContentLoaded', function() {
68
+ var switches = document.getElementsByClassName('livingstyleguide--code-switch');
69
+ for (var i = 0; i < switches.length; i++) {
70
+ switches[i].addEventListener('click', toggleCode);
71
+ }
72
+ });
73
+
74
+ })(window);
75
+
@@ -1,3 +1,3 @@
1
1
  module LivingStyleGuide
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
@@ -45,10 +45,13 @@
45
45
  }
46
46
 
47
47
  .livingstyleguide--code-block {
48
- display: block;
48
+ display: none;
49
49
  line-height: $livingstyleguide--code-line-height;
50
50
  padding: 3px 6px;
51
51
  width: $livingstyleguide--width - 2 * 6px;
52
+ .show-code & {
53
+ display: block;
54
+ }
52
55
  }
53
56
 
54
57
  .livingstyleguide--example + .livingstyleguide--code-block {
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: livingstyleguide
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-11 00:00:00.000000000 Z
12
+ date: 2013-02-20 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: minisyntax
@@ -119,6 +119,7 @@ files:
119
119
  - LICENSE.txt
120
120
  - README.md
121
121
  - Rakefile
122
+ - assets/javascripts/livingstyleguide.js
122
123
  - lib/livingstyleguide.rb
123
124
  - lib/livingstyleguide/markdown_extensions.rb
124
125
  - lib/livingstyleguide/sass_extensions.rb
@@ -162,7 +163,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
162
163
  version: '0'
163
164
  segments:
164
165
  - 0
165
- hash: 2497067780070501476
166
+ hash: 3032285374060806348
166
167
  required_rubygems_version: !ruby/object:Gem::Requirement
167
168
  none: false
168
169
  requirements:
@@ -171,7 +172,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
172
  version: '0'
172
173
  segments:
173
174
  - 0
174
- hash: 2497067780070501476
175
+ hash: 3032285374060806348
175
176
  requirements: []
176
177
  rubyforge_project:
177
178
  rubygems_version: 1.8.23