livingstyleguide 1.0.0.alpha.3 → 1.0.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
  SHA1:
3
- metadata.gz: 7ab15e228a445c7b95dac21e5e7b08cd52ebbd65
4
- data.tar.gz: 978c972a638c80ffb4e90179d31b0767656b0310
3
+ metadata.gz: b47b4660a87bc5faf44a6e8aa89e52fab1bd2f85
4
+ data.tar.gz: 9a7b6499d34577a3ba00d3ab898eef5741746fcf
5
5
  SHA512:
6
- metadata.gz: 50f4df04107e5f799d4599f73092227ad3cc145cc96d5ef23155d04785d841e415645adca2a982a5ccedaeac23557fb80b4fb5bf62e35c9a5d717d8a78ca7c61
7
- data.tar.gz: 6b59104477eeaddf0a38e5876fc0c8e913f2fbeb4d453fa477aa239bff2ae235fcf1040addb0fbdbb87f35c95e89b45841571b34fee245f62f0e1acaa55cce5e
6
+ metadata.gz: 782d2247f94ec877cb9ac41e9ed0628a428cc82cdaa59798f78fc273adabcaf0c98cd2a677ce943a175bd7014cfa974ada76e0ac430f5b2bda2f8823ec8a5194
7
+ data.tar.gz: 7400e8a9b9ee17c67d630c81272306371331fcea35295303997edc8aa3f0739fc927df002c3650a03770ab627dc76acd8488a5d1c2e59d45f6ba59d36b1fba47
data/README.md CHANGED
@@ -12,21 +12,20 @@ your Sass.
12
12
  source: application.css.scss # replace with your default Sass/SCSS file name
13
13
  title: "My Living Style Guide"
14
14
  ```
15
-
15
+
16
16
  2) Write documentation for each module *app/assets/stylesheets/partials/_buttons.md* (to describe *_buttons.sass* in the same folder):
17
- ``` markdown
18
- Buttons
19
- =======
17
+
18
+ Buttons
19
+ =======
20
20
 
21
- ~~~ example
22
- <button class="button">Example button</button>
23
- ~~~ 
21
+ ~~~ example
22
+ <button class="button">Example button</button>
23
+ ~~~ 
24
+
25
+ ~~~ example
26
+ <button class="button -is-primary">Example button</button>
27
+ ~~~ 
24
28
 
25
- ~~~ example
26
- <button class="button -is-primary">Example button</button>
27
- ~~~ 
28
- ```
29
-
30
29
  3) Open <http://localhost:3000/assets/styleguide.html>.
31
30
  This will automatically:
32
31
  * Combine all Markdown files and convert them to HTML
@@ -34,6 +33,53 @@ your Sass.
34
33
  * Show the HTML source syntax highlighted close to each example
35
34
 
36
35
 
36
+ ## More
37
+
38
+ ### Haml Examples
39
+
40
+ This will output the code as HTML but display the syntax highlighted
41
+ source as Haml:
42
+
43
+ ~~~
44
+ @haml
45
+ %button.button Example button
46
+ ~~~
47
+
48
+
49
+ ### JavaScript example
50
+
51
+ This will show and execute the JavaScript, e. g. you designed tabs and
52
+ need few lines of jQuery to bring them alive.
53
+
54
+ ~~~ example
55
+ @javascript
56
+ $('.button').click(function() {
57
+ alert('Hello World!');
58
+ });
59
+ ~~~
60
+
61
+
62
+ ### CoffeeScript example
63
+
64
+ Same example but using [CoffeeScript](http://coffeescript.org). It will be
65
+ executed as JavaScript and displayed as CoffeeScript:
66
+
67
+ ~~~ example
68
+ @javascript
69
+ $('.button').click ->
70
+ alert 'Hello World!'
71
+ ~~~
72
+
73
+
74
+ ### Font example
75
+
76
+ Show which fonts should be used on your website—this will output and example text block (A—Z, a—z, 0—9, and some special characters) of the given font. It accepts valid CSS like for `font: 32px Comic Sans;`.
77
+
78
+ ~~~ example
79
+ @font-example 32px Comic Sans
80
+ ~~~
81
+
82
+
37
83
  ## Installation
38
84
 
39
85
  Add this line to your application's Gemfile:
@@ -63,5 +109,3 @@ Or install it yourself as:
63
109
  Copyright (c) 2012 – 2014 [Nico Hagenburger](http://www.hagenburger.net).
64
110
  See [MIT-LICENSE.md](MIT-LICENSE.md) for details.
65
111
  Get in touch with [@hagenburger](http://twitter.com/hagenburger) on Twitter.
66
-
67
-
@@ -4,7 +4,10 @@ module LivingStyleGuide
4
4
  attr_accessor :markdown, :files, :options
5
5
 
6
6
  @@default_options = {
7
- default_language: 'example'
7
+ default_language: 'example',
8
+ title: 'Living Style Guide',
9
+ header: '<h1 class="livingstyleguide--page-title">Living Style Guide</h1>',
10
+ footer: '<div class="livingstyleguide--footer"><a class="livingstyleguide--logo" href="http://livingstyleguide.org">Made with the LivingStyleGuide gem.</a></div>'
8
11
  }
9
12
 
10
13
  def self.default_options
@@ -7,7 +7,7 @@ class LivingStyleGuide::Example
7
7
  include Hooks::InstanceHooks
8
8
  include LivingStyleGuide::FilterHooks
9
9
 
10
- FILTER_REGEXP = /^@([a-z\-_]+)(\s+(.+?))?$/
10
+ FILTER_REGEXP = /^@([a-z\-_]+)(?:\s+(.+?))?$/
11
11
 
12
12
  define_hooks :filter_before, :filter_after, :html, :pre_processor
13
13
  attr_reader :options
@@ -5,4 +5,5 @@ require 'livingstyleguide/filters/javascript'
5
5
  require 'livingstyleguide/filters/coffee_script'
6
6
  require 'livingstyleguide/filters/add_wrapper_class'
7
7
  require 'livingstyleguide/filters/font_example'
8
+ require 'livingstyleguide/filters/colors'
8
9
 
@@ -0,0 +1,29 @@
1
+ LivingStyleGuide::Example.add_filter :colors do |file|
2
+ suppress_code_block
3
+
4
+
5
+ if file
6
+ colors = [LivingStyleGuide::VariablesImporter.variables(file)]
7
+ else
8
+ colors = []
9
+ end
10
+
11
+ html do |content|
12
+ content
13
+ end
14
+
15
+ pre_processor do |content|
16
+ colors += content.split(/\n+/).map{ |l| l.split(/\s+/) }
17
+ columns = colors.map{ |l| l.size }.max
18
+ colors_html = colors.flatten.map do |variable|
19
+ if variable == '-'
20
+ css_class = '-lsg-empty'
21
+ elsif variable[0] != '$'
22
+ variable = "$#{variable}"
23
+ end
24
+ %Q(<li class="livingstyleguide--color-swatch #{css_class || variable}">#{variable}</li>\n)
25
+ end.join("\n")
26
+ %(<ul class="livingstyleguide--color-swatches -lsg-#{columns}-columns">\n#{colors_html}\n</ul>\n)
27
+ end
28
+ end
29
+
@@ -21,23 +21,14 @@ module LivingStyleGuide
21
21
  end
22
22
 
23
23
  def header(text, header_level)
24
- id = %Q( id="#{slug(text)}")
24
+ id = slug(text)
25
25
  klass = %w(page-title headline sub-headline sub-sub-headline)[header_level]
26
26
  header_level += 1
27
- %Q(<h#{header_level} class="livingstyleguide--#{klass}"#{id}>#{text}</h#{header_level}>\n)
27
+ %Q(<h#{header_level} class="livingstyleguide--#{klass}" id="#{id}"><a class="livingstyleguide--anchor" href="##{id}"></a>#{text}</h#{header_level}>\n)
28
28
  end
29
29
 
30
30
  def paragraph(text)
31
- if text =~ /^\{\{variables:(.+)\}\}$/
32
- uri = $1
33
- result = %Q(<ul class="livingstyleguide--color-swatches">\n)
34
- VariablesImporter.variables(uri).each do |variable|
35
- result << %Q(<li class="livingstyleguide--color-swatch $#{variable}">$#{variable}</li>\n)
36
- end
37
- result << "</ul>\n"
38
- else
39
- %Q(<p class="livingstyleguide--paragraph">#{text}</p>\n)
40
- end
31
+ %Q(<p class="livingstyleguide--paragraph">#{text}</p>\n)
41
32
  end
42
33
 
43
34
  def list(contents, list_type)
@@ -2,6 +2,7 @@ require 'tilt'
2
2
  require 'erb'
3
3
  require 'compass'
4
4
  require 'yaml'
5
+ require 'json'
5
6
 
6
7
  module ::Tilt
7
8
  class LivingStyleGuideTemplate < Template
@@ -36,11 +37,14 @@ module ::Tilt
36
37
 
37
38
  private
38
39
  def parse_options(data)
39
- @options = YAML.load(data)
40
+ data.strip!
41
+ @options = (data[0] == '{') ? JSON.parse(data) : YAML.load(data)
42
+ @options = {} unless @options
40
43
  @options.keys.each do |key|
41
44
  @options[key.gsub('-', '_').to_sym] = @options.delete(key)
42
45
  end
43
46
  @options[:syntax] = @options.has_key?(:styleguide_sass) ? :sass : :scss
47
+ @options[:source] ||= File.basename(file, '.html.lsg')
44
48
  end
45
49
 
46
50
  private
@@ -49,6 +53,7 @@ module ::Tilt
49
53
  %Q(@import "#{@options[:source]}"),
50
54
  style_variables,
51
55
  %Q(@import "livingstyleguide"),
56
+ %Q(@import "#{::LivingStyleGuide::VariablesImporter::VARIABLE_IMPORTER_STRING}"),
52
57
  @options[:styleguide_sass] || @options[:styleguide_scss]
53
58
  ].flatten.join(@options[:syntax] == :sass ? "\n" : ';')
54
59
  end
@@ -5,7 +5,7 @@ require 'compass'
5
5
  module LivingStyleGuide
6
6
  class VariablesImporter < Sass::Importers::Base
7
7
  VALID_FILE_NAME = /\A#{Sass::SCSS::RX::IDENT}\Z/
8
- VARIABLE_IMPORTER_REGEX = %r{^variables:(((.+/)?([^\*.]+))/(.+?)(\.s[ac]ss)?)$}
8
+ VARIABLE_IMPORTER_STRING = 'LivingStyleGuide::VariablesImporter'
9
9
  VALID_EXTENSIONS = %w(*.sass *.scss)
10
10
 
11
11
  TEMPLATE_FOLDER = File.join(File.expand_path('../', __FILE__), 'variables_importer')
@@ -13,9 +13,9 @@ module LivingStyleGuide
13
13
  CONTENT_TEMPLATE = ERB.new(File.read(CONTENT_TEMPLATE_FILE))
14
14
 
15
15
  def find(uri, options)
16
- if uri =~ VARIABLE_IMPORTER_REGEX
17
- uri = $1
18
- return self.class.sass_engine(uri, self.class.variables(uri), self, options)
16
+ if uri =~ /^#{VARIABLE_IMPORTER_STRING}$/
17
+ @options = options
18
+ return self.class.sass_engine(uri, all_variables, self, options)
19
19
  end
20
20
  nil
21
21
  end
@@ -61,6 +61,20 @@ module LivingStyleGuide
61
61
  variables
62
62
  end
63
63
 
64
+ def all_variables
65
+ variables = []
66
+ test = /^#{File.dirname(@options[:filename])}/
67
+ @options[:living_style_guide].files.each do |file|
68
+ if file =~ test
69
+ sass = File.read(file)
70
+ variables << sass.scan(%r(\$([a-z\-_]+)\s*:))
71
+ end
72
+ end
73
+ variables.flatten!
74
+ variables.uniq!
75
+ variables
76
+ end
77
+
64
78
  def self.sass_options(uri, importer, options)
65
79
  options.merge! :filename => uri.gsub(%r{\*/},"*\\/"), :syntax => :scss, :importer => importer
66
80
  end
@@ -1,19 +1,21 @@
1
1
  <% variables.each do |variable| %>
2
- .\$<%= variable %> {
3
- @if type-of($<%= variable %>) == color {
4
- @extend %livingstyleguide--color-swatch !optional;
5
- @if (lightness($<%= variable %>) < lightness($livingstyleguide--color)) {
6
- color: $livingstyleguide--background-color;
7
- }
2
+ $<%= variable %>: null !default;
3
+ @if $<%= variable %> != null {
4
+ .\$<%= variable %> {
5
+ @if type-of($<%= variable %>) == color {
6
+ @if (lightness($<%= variable %>) < lightness($livingstyleguide--color)) {
7
+ color: $livingstyleguide--background-color;
8
+ }
8
9
 
9
- &:before {
10
- background: $<%= variable %>;
10
+ &:before {
11
+ background: $<%= variable %>;
12
+ }
11
13
  }
12
- }
13
14
 
14
- &:after {
15
- @extend %livingstyleguide--code !optional;
16
- content: "#{$<%= variable %>}";
15
+ &:after {
16
+ @extend %livingstyleguide--code !optional;
17
+ content: "#{$<%= variable %>}";
18
+ }
17
19
  }
18
20
  }
19
21
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module LivingStyleGuide
2
- VERSION = "1.0.0.alpha.3"
2
+ VERSION = "1.0.0"
3
3
  end
@@ -8,8 +8,8 @@ Gem::Specification.new do |gem|
8
8
  gem.version = LivingStyleGuide::VERSION
9
9
  gem.authors = ["Nico Hagenburger"]
10
10
  gem.email = ["nico@hagenburger.net"]
11
- gem.description = %q{Living Style Guide}
12
- gem.summary = %q{Living Style Guide}
11
+ gem.description = %q{Automatically generate beautiful frontend style guides with Sass and Markdown. See http://livingstyleguide.org for details.}
12
+ gem.summary = %q{Generate beautiful frontend style guides}
13
13
  gem.homepage = ""
14
14
 
15
15
  gem.files = `git ls-files`.split($/)
data/sache.json ADDED
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "The LivingStyleGuide",
3
+ "tags": ["livingstyleguide", "documentation", "testing", "dry"],
4
+ "description": "Automatically generate beautiful frontend style guides with Sass and Markdown. See http://livingstyleguide.org for details."
5
+ }
6
+
@@ -31,16 +31,16 @@ $livingstyleguide--width: 640px !default;
31
31
  $livingstyleguide--gap-width: 10px !default;
32
32
  $livingstyleguide--full-width-padding: $livingstyleguide--gap-width !default;
33
33
 
34
- $livingstyleguide--code-background-color: #505050 !default;
35
- $livingstyleguide--code-color: white !default;
34
+ $livingstyleguide--code-background-color: #dddddd !default;
35
+ $livingstyleguide--code-color: #505050 !default;
36
36
  $livingstyleguide--code-border-width: $livingstyleguide--border-width !default;
37
37
  $livingstyleguide--code-border-color: $livingstyleguide--border-color !default;
38
38
  $livingstyleguide--code-border-radius: $livingstyleguide--border-radius !default;
39
39
 
40
40
  $livingstyleguide--color-swatch-color: black !default;
41
- $livingstyleguide--color-swatch-border-width: $livingstyleguide--border-width !default;
42
- $livingstyleguide--color-swatch-border-color: $livingstyleguide--border-color !default;
43
- $livingstyleguide--color-swatch-border-radius: $livingstyleguide--border-radius !default;
41
+ $livingstyleguide--color-swatch-border-width: 4px !default;
42
+ $livingstyleguide--color-swatch-border-color: rgba(black, 0.05) !default;
43
+ $livingstyleguide--color-swatch-border-radius: 50% !default;
44
44
  $livingstyleguide--color-swatches-per-line: 2 !default;
45
45
 
46
46
  $livingstyleguide--highlight-color: #f6ffa3 !default;
@@ -61,7 +61,7 @@
61
61
  }
62
62
 
63
63
  .livingstyleguide--code-block {
64
- display: none;
64
+ display: block;//none;
65
65
  line-height: $livingstyleguide--code-line-height;
66
66
  padding: 3px 6px;
67
67
  width: $livingstyleguide--width;
@@ -1,4 +1,4 @@
1
- %livingstyleguide--color-swatch {
1
+ .livingstyleguide--color-swatch {
2
2
  color: $livingstyleguide--color-swatch-color;
3
3
  display: block;
4
4
  float: left;
@@ -6,22 +6,16 @@
6
6
  font-size: $livingstyleguide--code-font-size;
7
7
  font-weight: bold;
8
8
  height: 4em * $livingstyleguide--base-line-height;
9
- line-height: $livingstyleguide--base-line-height;
9
+ line-height: 1em * $livingstyleguide--base-line-height;
10
10
  list-style: none;
11
11
  margin: 0 $livingstyleguide--gap-width $livingstyleguide--gap-width 0;
12
- padding-top: 1em * $livingstyleguide--base-line-height;
13
12
  position: relative;
14
13
  text-align: center;
15
- width: floor(
16
- ($livingstyleguide--width - ($livingstyleguide--color-swatches-per-line - 1) * $livingstyleguide--gap-width)
17
- /
18
- $livingstyleguide--color-swatches-per-line
19
- );
20
14
  z-index: 1;
21
15
  @include box-sizing(border-box);
22
16
 
23
17
  &:before {
24
- border: $livingstyleguide--color-swatch-border-width $livingstyleguide--code-border-color solid;
18
+ border: $livingstyleguide--color-swatch-border-width $livingstyleguide--color-swatch-border-color solid;
25
19
  content: "";
26
20
  display: block;
27
21
  height: 100%;
@@ -49,3 +43,22 @@
49
43
  @include clearfix;
50
44
  @include box-sizing(border-box);
51
45
  }
46
+
47
+ @for $i from 1 through 12 {
48
+ .livingstyleguide--color-swatches.-lsg-#{$i}-columns .livingstyleguide--color-swatch {
49
+ $size: floor(($livingstyleguide--width - ($i - 1) * $livingstyleguide--gap-width) / $i);
50
+ height: $size;
51
+ padding-top: $size / 2 + ($size / 5 - 20px);
52
+ width: $size;
53
+ }
54
+ }
55
+
56
+ .livingstyleguide--color-swatch.-lsg-empty {
57
+ @include hide-text;
58
+
59
+ &:before,
60
+ &:after {
61
+ display: none;
62
+ }
63
+ }
64
+
@@ -36,6 +36,29 @@
36
36
  -webkit-font-smoothing: antialiased;
37
37
  }
38
38
 
39
+ .livingstyleguide--anchor {
40
+ color: inherit;
41
+ margin-left: -1em;
42
+ position: absolute;
43
+ text-decoration: none;
44
+ width: 1em;
45
+ @include opacity(0);
46
+
47
+ .livingstyleguide--headline:hover &,
48
+ .livingstyleguide--sub-headline:hover &,
49
+ .livingstyleguide--sub-sub-headline:hover & {
50
+ @include opacity(0.5);
51
+
52
+ &:hover {
53
+ @include opacity(1);
54
+ }
55
+ }
56
+
57
+ &:before {
58
+ content: "#";
59
+ }
60
+ }
61
+
39
62
  .livingstyleguide--page-title {
40
63
  display: block;
41
64
  font-size: $livingstyleguide--page-title-font-size;
@@ -2,3 +2,29 @@
2
2
  background: $livingstyleguide--background-color;
3
3
  display: block;
4
4
  }
5
+
6
+ .livingstyleguide--container {
7
+ display: block;
8
+ min-height: 50vh;
9
+ }
10
+
11
+ .livingstyleguide--footer {
12
+ margin: (4 * $livingstyleguide--gap-width) auto;
13
+ width: $livingstyleguide--width;
14
+ }
15
+
16
+ .livingstyleguide--logo {
17
+ background: url('data:image/png;base64,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');
18
+ background-size: 100%;
19
+ display: block;
20
+ height: 100px;
21
+ margin: auto;
22
+ width: 203px;
23
+ @include hide-text;
24
+
25
+ &:hover {
26
+ -webkit-transform: translateZ(0);
27
+ @include filter(brightness(0.7));
28
+ }
29
+ }
30
+
@@ -18,7 +18,9 @@ for(var e,l='article aside footer header nav section time picture'.split(' ');e=
18
18
 
19
19
  <body class="livingstyleguide">
20
20
  <%= header %>
21
+ <div class="livingstyleguide--container">
21
22
  <%= html %>
23
+ </div>
22
24
  <%= footer %>
23
25
  </body>
24
26
 
@@ -1 +1,4 @@
1
- {{variables:variables/other-colors}}
1
+ ~~~
2
+ @colors variables/other-colors
3
+ ~~~
4
+
File without changes
@@ -0,0 +1,9 @@
1
+ {
2
+ "source": "style.scss",
3
+ "title": "My Nice & Beautiful Living Style Guide",
4
+ "javascript-before": ["modernizr.js"],
5
+ "javascript-after": ["http://code.jquery.com/jquery-2.0.3.js", "application.js"],
6
+ "header": "<h1>Super Style Guide</h1>",
7
+ "footer": "<p>Made by me</p>"
8
+ }
9
+
@@ -54,7 +54,7 @@ class MarkdownTest < Minitest::Test
54
54
 
55
55
  def test_text
56
56
  assert_markdown <<-HTML, 'text.md'
57
- <h2 class="livingstyleguide--headline" id="hello-world">Hello World</h2>
57
+ <h2 class="livingstyleguide--headline" id="hello-world"><a class="livingstyleguide--anchor" href="#hello-world"></a>Hello World</h2>
58
58
  <p class="livingstyleguide--paragraph">Lorem ipsum <strong>dolor</strong> sit amet,
59
59
  <code class="livingstyleguide--code-span livingstyleguide--code">&lt;consectetur&gt; adipiscing</code> elit.
60
60
  Sed a pulvinar turpis.</p>
@@ -63,13 +63,13 @@ class MarkdownTest < Minitest::Test
63
63
  <li class="livingstyleguide--unordered-list-item">Ipsum</li>
64
64
  <li class="livingstyleguide--unordered-list-item">Dolor</li>
65
65
  </ul>
66
- <h3 class="livingstyleguide--sub-headline" id="more-lorem">More Lorem</h3>
66
+ <h3 class="livingstyleguide--sub-headline" id="more-lorem"><a class="livingstyleguide--anchor" href="#more-lorem"></a>More Lorem</h3>
67
67
  <ol class="livingstyleguide--ordered-list">
68
68
  <li class="livingstyleguide--ordered-list-item">Lorem</li>
69
69
  <li class="livingstyleguide--ordered-list-item">Ipsum</li>
70
70
  <li class="livingstyleguide--ordered-list-item">Dolor</li>
71
71
  </ol>
72
- <h4 class="livingstyleguide--sub-sub-headline" id="even-more-lorem">Even More Lorem</h4>
72
+ <h4 class="livingstyleguide--sub-sub-headline" id="even-more-lorem"><a class="livingstyleguide--anchor" href="#even-more-lorem"></a>Even More Lorem</h4>
73
73
  HTML
74
74
  end
75
75
 
@@ -106,7 +106,7 @@ class MarkdownTest < Minitest::Test
106
106
 
107
107
  def test_variables
108
108
  assert_markdown <<-HTML, 'variables.md'
109
- <ul class="livingstyleguide--color-swatches">
109
+ <ul class="livingstyleguide--color-swatches -lsg-2-columns">
110
110
  <li class="livingstyleguide--color-swatch $blue">$blue</li>
111
111
  <li class="livingstyleguide--color-swatch $green">$green</li>
112
112
  </ul>
@@ -10,6 +10,12 @@ class MarkdownTest < Minitest::Test
10
10
  assert_match %r(<title>My Nice &amp; Beautiful Living Style Guide</title>), html
11
11
  end
12
12
 
13
+ def test_default_source
14
+ html = render('test/fixtures/standalone/style.html.lsg')
15
+ assert_match %r(background: red), html
16
+ assert_match %r(<button class="button">), html
17
+ end
18
+
13
19
  def test_custom_styles
14
20
  html = render('test/fixtures/standalone/styleguide-with-style.html.lsg')
15
21
  assert_match %r(.livingstyleguide--ordered-list { color: red;), html
@@ -39,6 +45,20 @@ class MarkdownTest < Minitest::Test
39
45
  assert_match %r(<p>Made by me</p>), html
40
46
  end
41
47
 
48
+ def test_json
49
+ html = render('test/fixtures/standalone/styleguide-as-json.html.lsg')
50
+ assert_match %r(<title>My Nice &amp; Beautiful Living Style Guide</title>), html
51
+ assert_match %r(<script src="modernizr.js"></script>.*</head>), html
52
+ assert_match %r(<script src="http://code.jquery.com/jquery-2.0.3.js"></script> <script src="application.js"></script> </body>), html
53
+ assert_match %r(<h1>Super Style Guide</h1>), html
54
+ assert_match %r(<p>Made by me</p>), html
55
+ end
56
+
57
+ def test_variables
58
+ html = render('test/fixtures/standalone/styleguide.html.lsg')
59
+ assert_match %r(\.\\\$my-base-color), html
60
+ end
61
+
42
62
  private
43
63
  def render(file)
44
64
  Tilt.new(file).render.gsub(/\s+/, ' ')
@@ -30,36 +30,4 @@ class VariablesImporterTest < Minitest::Test
30
30
  css.strip!
31
31
  %Q( #{css}\n)
32
32
  end
33
-
34
- def test_output_of_variables
35
- css = render <<-SCSS
36
- $livingstyleguide--color: black;
37
- %livingstyleguide--code {
38
- test: code;
39
- }
40
- %livingstyleguide--color-swatch {
41
- test: color;
42
- }
43
- @import "variables/colors";
44
- @import "variables:variables/colors";
45
- SCSS
46
-
47
- assert_equal <<-CSS, css
48
- .\\$my-wonderful_red:after, .\\$blue:after {
49
- test: code;
50
- }
51
- .\\$my-wonderful_red {
52
- test: color;
53
- }
54
- .\\$my-wonderful_red:before {
55
- background: red;
56
- }
57
- .\\$my-wonderful_red:after {
58
- content: "red";
59
- }
60
- .\\$blue:after {
61
- content: "blue";
62
- }
63
- CSS
64
- end
65
33
  end
@@ -0,0 +1,65 @@
1
+ # encoding: utf-8
2
+
3
+ require 'example_test_helper'
4
+
5
+ class ColorsTest < ExampleTestCase
6
+
7
+ def test_colors_of_file
8
+ LivingStyleGuide::VariablesImporter.stub :variables, %w(red blue) do
9
+ assert_render_equals <<-INPUT, <<-OUTPUT
10
+ @colors variables/colors
11
+ INPUT
12
+ <ul class="livingstyleguide--color-swatches -lsg-2-columns">
13
+ <li class="livingstyleguide--color-swatch $red">$red</li>
14
+ <li class="livingstyleguide--color-swatch $blue">$blue</li>
15
+ </ul>
16
+ OUTPUT
17
+ end
18
+ end
19
+
20
+ def test_defined_colors
21
+ assert_render_equals <<-INPUT, <<-OUTPUT
22
+ @colors
23
+ $orange $green
24
+ INPUT
25
+ <ul class="livingstyleguide--color-swatches -lsg-2-columns">
26
+ <li class="livingstyleguide--color-swatch $orange">$orange</li>
27
+ <li class="livingstyleguide--color-swatch $green">$green</li>
28
+ </ul>
29
+ OUTPUT
30
+ end
31
+
32
+ def test_rows
33
+ assert_render_equals <<-INPUT, <<-OUTPUT
34
+ @colors
35
+ $pink $purple $gray
36
+ $turquoise $cyan $black
37
+ INPUT
38
+ <ul class="livingstyleguide--color-swatches -lsg-3-columns">
39
+ <li class="livingstyleguide--color-swatch $pink">$pink</li>
40
+ <li class="livingstyleguide--color-swatch $purple">$purple</li>
41
+ <li class="livingstyleguide--color-swatch $gray">$gray</li>
42
+ <li class="livingstyleguide--color-swatch $turquoise">$turquoise</li>
43
+ <li class="livingstyleguide--color-swatch $cyan">$cyan</li>
44
+ <li class="livingstyleguide--color-swatch $black">$black</li>
45
+ </ul>
46
+ OUTPUT
47
+ end
48
+
49
+ def test_skipped_cells
50
+ assert_render_equals <<-INPUT, <<-OUTPUT
51
+ @colors
52
+ $pink $purple
53
+ - $turquoise
54
+ INPUT
55
+ <ul class="livingstyleguide--color-swatches -lsg-2-columns">
56
+ <li class="livingstyleguide--color-swatch $pink">$pink</li>
57
+ <li class="livingstyleguide--color-swatch $purple">$purple</li>
58
+ <li class="livingstyleguide--color-swatch -lsg-empty">-</li>
59
+ <li class="livingstyleguide--color-swatch $turquoise">$turquoise</li>
60
+ </ul>
61
+ OUTPUT
62
+ end
63
+
64
+ end
65
+
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: 1.0.0.alpha.3
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nico Hagenburger
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-06 00:00:00.000000000 Z
11
+ date: 2014-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minisyntax
@@ -178,7 +178,8 @@ dependencies:
178
178
  - - '>='
179
179
  - !ruby/object:Gem::Version
180
180
  version: '0'
181
- description: Living Style Guide
181
+ description: Automatically generate beautiful frontend style guides with Sass and
182
+ Markdown. See http://livingstyleguide.org for details.
182
183
  email:
183
184
  - nico@hagenburger.net
184
185
  executables:
@@ -204,6 +205,7 @@ files:
204
205
  - lib/livingstyleguide/filters.rb
205
206
  - lib/livingstyleguide/filters/add_wrapper_class.rb
206
207
  - lib/livingstyleguide/filters/coffee_script.rb
208
+ - lib/livingstyleguide/filters/colors.rb
207
209
  - lib/livingstyleguide/filters/font_example.rb
208
210
  - lib/livingstyleguide/filters/full_width.rb
209
211
  - lib/livingstyleguide/filters/haml.rb
@@ -221,6 +223,7 @@ files:
221
223
  - lib/livingstyleguide/variables_importer/content.erb
222
224
  - lib/livingstyleguide/version.rb
223
225
  - livingstyleguide.gemspec
226
+ - sache.json
224
227
  - stylesheets/_livingstyleguide.scss
225
228
  - stylesheets/livingstyleguide/_code.scss
226
229
  - stylesheets/livingstyleguide/_color-swatches.scss
@@ -243,7 +246,9 @@ files:
243
246
  - test/fixtures/standalone/config.rb
244
247
  - test/fixtures/standalone/modules/_buttons.md
245
248
  - test/fixtures/standalone/modules/_buttons.scss
249
+ - test/fixtures/standalone/style.html.lsg
246
250
  - test/fixtures/standalone/style.scss
251
+ - test/fixtures/standalone/styleguide-as-json.html.lsg
247
252
  - test/fixtures/standalone/styleguide-with-header-footer.html.lsg
248
253
  - test/fixtures/standalone/styleguide-with-javascript.html.lsg
249
254
  - test/fixtures/standalone/styleguide-with-sass.html.lsg
@@ -263,6 +268,7 @@ files:
263
268
  - test/unit/filter_hooks_test.rb
264
269
  - test/unit/filters/add_wrapper_class_test.rb
265
270
  - test/unit/filters/coffee_script_test.rb
271
+ - test/unit/filters/colors_test.rb
266
272
  - test/unit/filters/font_example_test.rb
267
273
  - test/unit/filters/full_width_test.rb
268
274
  - test/unit/filters/haml_test.rb
@@ -283,15 +289,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
283
289
  version: '0'
284
290
  required_rubygems_version: !ruby/object:Gem::Requirement
285
291
  requirements:
286
- - - '>'
292
+ - - '>='
287
293
  - !ruby/object:Gem::Version
288
- version: 1.3.1
294
+ version: '0'
289
295
  requirements: []
290
296
  rubyforge_project:
291
297
  rubygems_version: 2.1.11
292
298
  signing_key:
293
299
  specification_version: 4
294
- summary: Living Style Guide
300
+ summary: Generate beautiful frontend style guides
295
301
  test_files:
296
302
  - test/example_test_helper.rb
297
303
  - test/fixtures/markdown/code-block-and-example.md
@@ -309,7 +315,9 @@ test_files:
309
315
  - test/fixtures/standalone/config.rb
310
316
  - test/fixtures/standalone/modules/_buttons.md
311
317
  - test/fixtures/standalone/modules/_buttons.scss
318
+ - test/fixtures/standalone/style.html.lsg
312
319
  - test/fixtures/standalone/style.scss
320
+ - test/fixtures/standalone/styleguide-as-json.html.lsg
313
321
  - test/fixtures/standalone/styleguide-with-header-footer.html.lsg
314
322
  - test/fixtures/standalone/styleguide-with-javascript.html.lsg
315
323
  - test/fixtures/standalone/styleguide-with-sass.html.lsg
@@ -329,6 +337,7 @@ test_files:
329
337
  - test/unit/filter_hooks_test.rb
330
338
  - test/unit/filters/add_wrapper_class_test.rb
331
339
  - test/unit/filters/coffee_script_test.rb
340
+ - test/unit/filters/colors_test.rb
332
341
  - test/unit/filters/font_example_test.rb
333
342
  - test/unit/filters/full_width_test.rb
334
343
  - test/unit/filters/haml_test.rb