vivus 0.0.4 → 1.0.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.
- checksums.yaml +4 -4
- data/README.md +52 -0
- data/app/assets/javascripts/vivus/application.js +28 -20
- data/app/assets/stylesheets/vivus/application.css.scss +2 -2
- data/app/assets/stylesheets/vivus/module/component.scss +106 -0
- data/app/assets/stylesheets/vivus/module/nav.scss +18 -23
- data/app/assets/stylesheets/vivus/module/section.scss +26 -0
- data/app/assets/stylesheets/vivus/module/syntax-highlighting.scss +30 -30
- data/app/controllers/vivus/styles_controller.rb +2 -11
- data/app/models/component.rb +13 -0
- data/app/models/stylesheet.rb +84 -9
- data/app/views/vivus/styles/_component.html.erb +22 -0
- data/app/views/vivus/styles/index.html.erb +32 -26
- data/config/routes.rb +0 -6
- data/lib/vivus/version.rb +1 -1
- metadata +35 -19
- data/README.rdoc +0 -0
- data/app/assets/fonts/DroidSansMono-webfont.eot +0 -0
- data/app/assets/fonts/DroidSansMono-webfont.svg +0 -248
- data/app/assets/fonts/DroidSansMono-webfont.ttf +0 -0
- data/app/assets/fonts/DroidSansMono-webfont.woff +0 -0
- data/app/assets/fonts/lmmono10-regular-webfont.eot +0 -0
- data/app/assets/fonts/lmmono10-regular-webfont.svg +0 -239
- data/app/assets/fonts/lmmono10-regular-webfont.ttf +0 -0
- data/app/assets/fonts/lmmono10-regular-webfont.woff +0 -0
- data/app/assets/stylesheets/vivus/core/typography.scss +0 -23
- data/app/assets/stylesheets/vivus/module/block.scss +0 -89
- data/app/helpers/vivus/application_helper.rb +0 -4
- data/app/models/block.rb +0 -21
- data/app/models/description.rb +0 -21
- data/app/models/example.rb +0 -25
- data/app/views/shared/_description.html.erb +0 -3
- data/app/views/shared/_example.html.erb +0 -9
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a66affde87ddb02379f5fc5189368b8a735f5fc8
|
4
|
+
data.tar.gz: e2091f6567c398970574f3de6249048fb84723b5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f34fe4a4b550ac8f1a6e3d65519578d2f354aaa09230d606e9b6159e4d0c43e16aed9ce16bdb695835af982a8afcbf0a6ee42474cebe4f53fbb45739001f46ec
|
7
|
+
data.tar.gz: 5d4113f3e35bb41cd53ab271b9a463c2a0ccbb1eda8bf1434a98f9067e7b2e267a979c0c448823a659b5a02ca5847b871e354d36bfc08685b56204de578ffde2
|
data/README.md
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
# Vivus Styleguide
|
2
|
+
|
3
|
+
## Idea
|
4
|
+
|
5
|
+
Styleguides can be a pain to keep as a living documentation for your CSS.
|
6
|
+
|
7
|
+
By analysing the comments in your [SASS](http://sass-lang.com/) files, and by adding markdown to your stylesheets, you can generate a living, breathing documentation styleguide that has examples of how the CSS is used.
|
8
|
+
|
9
|
+
To get running, checkout the branch (it's still waaaay alpha) and add this to your Gemfile:
|
10
|
+
```
|
11
|
+
gem 'vivus'
|
12
|
+
```
|
13
|
+
|
14
|
+
Add this to your routes.rb
|
15
|
+
```
|
16
|
+
if Rails.env.development?
|
17
|
+
mount Vivus::Engine, at: "styleguide"
|
18
|
+
end
|
19
|
+
```
|
20
|
+
|
21
|
+
Then hit up ```localhost:3000/styleguide```
|
22
|
+
|
23
|
+
To document your CSS, use this as a template
|
24
|
+
```
|
25
|
+
/*
|
26
|
+
[Name] The name of the component (e.g. Success Buttons)
|
27
|
+
[Section] A section that groups components together (e.g. Buttons)
|
28
|
+
[Description]
|
29
|
+
|
30
|
+
Write some documentation explaining the use / concept of the CSS
|
31
|
+
you've got below. This bit will be markdown rendered.
|
32
|
+
|
33
|
+
- You can use three backticks (`) to indicate a code block
|
34
|
+
- ```<div class="example"></div>```
|
35
|
+
- Code blocks will be syntax highlighted
|
36
|
+
|
37
|
+
When you've documented it nicely, use the Example markers to
|
38
|
+
indicate a block of HTML that uses the CSS.
|
39
|
+
|
40
|
+
Keeps your documentation right near the CSS.
|
41
|
+
So, if you update / refactor the CSS, update the HTML example if
|
42
|
+
need be.
|
43
|
+
|
44
|
+
[Example]
|
45
|
+
<div class="example">
|
46
|
+
<a href="#" class="button">Some text<a>
|
47
|
+
</div>
|
48
|
+
[Url] A web address pointing to further documentation / example (optional)
|
49
|
+
*/
|
50
|
+
```
|
51
|
+
|
52
|
+
This project rocks and uses MIT-LICENSE.
|
@@ -1,31 +1,30 @@
|
|
1
|
-
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
2
|
-
// listed below.
|
3
|
-
//
|
4
|
-
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
5
|
-
// or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
|
6
|
-
//
|
7
|
-
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
8
|
-
// the compiled file.
|
9
|
-
//
|
10
|
-
// WARNING: THE FIRST BLANK LINE MARKS THE END OF WHAT'S TO BE PROCESSED, ANY BLANK LINE SHOULD
|
11
|
-
// GO AFTER THE REQUIRES BELOW.
|
12
|
-
//
|
13
1
|
//= require jquery
|
14
2
|
//= require highlight.pack
|
15
3
|
//= require_tree .
|
16
4
|
|
17
5
|
$(document).ready(function() {
|
18
|
-
$('pre').each(function(i, el) {
|
19
|
-
|
6
|
+
$('pre, code').each(function(i, el) {
|
7
|
+
hljs.highlightBlock(el);
|
20
8
|
});
|
21
9
|
|
22
|
-
$('
|
23
|
-
|
24
|
-
|
10
|
+
$('h1.vivus-section-title').each(function(i, el) {
|
11
|
+
var text = $(el).text().toLowerCase();
|
12
|
+
var link = text.replace(/ /g, '-');
|
13
|
+
var anchor = "<a href='#" + link + "'>" + $(el).text() + "</a>";
|
14
|
+
$('#vivus-navigation > ul').append("<li class=" + $(el).prop("tagName").toLowerCase() + ">" + anchor + "<ul></ul></li>");
|
15
|
+
$(el).prepend("<a name='" + link + "'></a>");
|
16
|
+
})
|
17
|
+
|
18
|
+
$('h2.vivus-name').each(function(i, el) {
|
19
|
+
var section = $(el).parents(".vivus-section");
|
20
|
+
var section_title = section.children("h1.vivus-section-title").text().toLowerCase().replace(/ /g, '-');
|
21
|
+
|
22
|
+
var anchor = "<a href='#" + section_title + "|" + $(el).text().toLowerCase().replace(/ /g, '-') + "'>" + $(el).text() + "</a>"
|
25
23
|
|
26
|
-
|
27
|
-
|
28
|
-
|
24
|
+
var navParent = $('#vivus-navigation ul').find("a[href='#" + section_title + "']").parent();
|
25
|
+
|
26
|
+
$(navParent).find("ul").append("<li class=" + $(el).prop("tagName").toLowerCase() + ">" + anchor + "</li>");
|
27
|
+
$(el).prepend("<a name='" + section_title + "|" + $(el).text().toLowerCase().replace(/ /g, '-') +"'></a>");
|
29
28
|
})
|
30
29
|
|
31
30
|
$('.vivus-documentation *:contains("TODO:")').html(function(_, html) {
|
@@ -35,4 +34,13 @@ $(document).ready(function() {
|
|
35
34
|
$('.vivus-documentation *:contains("NOTE:")').html(function(_, html) {
|
36
35
|
return html.split('NOTE:').join("<span class='note'>NOTE:</span>");
|
37
36
|
});
|
37
|
+
|
38
|
+
$('a.vivus-tab').click(function(event) {
|
39
|
+
event.preventDefault();
|
40
|
+
var link = $(event.currentTarget);
|
41
|
+
var tabs = $(link).parent();
|
42
|
+
var blocks = $(tabs).parent().find('.vivus-block');
|
43
|
+
tabs.children("a").toggleClass("vivus-active");
|
44
|
+
blocks.toggleClass("vivus-block-opened");
|
45
|
+
});
|
38
46
|
});
|
@@ -1,12 +1,12 @@
|
|
1
1
|
@import "core/constants";
|
2
2
|
@import "core/mixins";
|
3
3
|
@import "core/mediaqueries";
|
4
|
-
@import "core/typography";
|
5
4
|
|
6
5
|
body#vivus {
|
7
6
|
margin: 0;
|
8
7
|
padding: 0;
|
9
8
|
|
10
9
|
@import 'module/nav';
|
11
|
-
@import 'module/
|
10
|
+
@import 'module/section';
|
11
|
+
@import 'module/component';
|
12
12
|
}
|
@@ -0,0 +1,106 @@
|
|
1
|
+
li.vivus-component {
|
2
|
+
list-style: none;
|
3
|
+
margin-bottom: 40px;
|
4
|
+
|
5
|
+
.vivus-documentation {
|
6
|
+
margin: 0 0 40px 0;
|
7
|
+
font-size: 15px;
|
8
|
+
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
9
|
+
font-weight: 300;
|
10
|
+
|
11
|
+
> h1 {
|
12
|
+
color: #C93312;
|
13
|
+
}
|
14
|
+
|
15
|
+
> h2 {
|
16
|
+
margin-top: 50px;
|
17
|
+
}
|
18
|
+
|
19
|
+
> ul, ol {
|
20
|
+
list-style-position: inside;
|
21
|
+
margin-bottom: 40px;
|
22
|
+
}
|
23
|
+
|
24
|
+
.todo {
|
25
|
+
color: #C93312;
|
26
|
+
}
|
27
|
+
|
28
|
+
code {
|
29
|
+
font-size: 13px;
|
30
|
+
color: #660000;
|
31
|
+
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
32
|
+
font-weight: 300;
|
33
|
+
@import 'syntax-highlighting';
|
34
|
+
}
|
35
|
+
}
|
36
|
+
|
37
|
+
.vivus-example {
|
38
|
+
@include clearfix;
|
39
|
+
margin: 0 0 40px 0;
|
40
|
+
padding: 10px 0;
|
41
|
+
font-size: 15px;
|
42
|
+
border-bottom: 1px solid #eee;
|
43
|
+
|
44
|
+
.vivus-title {
|
45
|
+
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
46
|
+
font-weight: 300;
|
47
|
+
padding-bottom: 10px;
|
48
|
+
border-bottom: 1px solid #eee;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
|
52
|
+
.vivus-code {
|
53
|
+
> pre {
|
54
|
+
font-family: monospace;
|
55
|
+
word-wrap: break-word;
|
56
|
+
margin: 0px;
|
57
|
+
padding: 10px;
|
58
|
+
font-size: 14px;
|
59
|
+
margin-bottom: 20px;
|
60
|
+
|
61
|
+
@import 'syntax-highlighting';
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
.vivus-example, .vivus-code { display: none }
|
66
|
+
|
67
|
+
.vivus-block-opened { display: block }
|
68
|
+
|
69
|
+
.vivus-tabbed {
|
70
|
+
$tab_height: 32px;
|
71
|
+
$border_color: #999;
|
72
|
+
|
73
|
+
height: $tab_height;
|
74
|
+
border-bottom: 1px solid $border_color;
|
75
|
+
margin-bottom: 10px;
|
76
|
+
|
77
|
+
.vivus-tab{
|
78
|
+
border-top-left-radius: 4px;
|
79
|
+
border-top-right-radius: 4px;
|
80
|
+
|
81
|
+
border: 1px solid #bbb;
|
82
|
+
border-bottom: none;
|
83
|
+
position:relative;
|
84
|
+
z-index: 2;
|
85
|
+
float: right;
|
86
|
+
display: block;
|
87
|
+
font-weight: bold;
|
88
|
+
color: #b2b2b2;
|
89
|
+
height: $tab_height - 7px;
|
90
|
+
padding: 6px 32px 0 32px;
|
91
|
+
bottom: -1px;
|
92
|
+
margin-right: 10px;
|
93
|
+
font-size: 11px;
|
94
|
+
|
95
|
+
&.vivus-active{
|
96
|
+
border-color: $border_color;
|
97
|
+
color: #333333;
|
98
|
+
background-color: white;
|
99
|
+
}
|
100
|
+
|
101
|
+
&:hover{
|
102
|
+
color: #333333;
|
103
|
+
}
|
104
|
+
}
|
105
|
+
}
|
106
|
+
}
|
@@ -6,7 +6,7 @@
|
|
6
6
|
margin: 0;
|
7
7
|
background-color: #24281A;
|
8
8
|
z-index: 1000000;
|
9
|
-
overflow-y:
|
9
|
+
overflow-y: auto;
|
10
10
|
|
11
11
|
@include respond-to("small") {
|
12
12
|
display: none;
|
@@ -17,7 +17,8 @@
|
|
17
17
|
left: 0;
|
18
18
|
top: 0;
|
19
19
|
|
20
|
-
font-family: "
|
20
|
+
font-family: "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
|
21
|
+
font-weight: 300;
|
21
22
|
|
22
23
|
ul {
|
23
24
|
padding: 0;
|
@@ -31,44 +32,38 @@
|
|
31
32
|
a {
|
32
33
|
line-height: 1.45;
|
33
34
|
text-decoration: none;
|
34
|
-
color: #D5D5D3;
|
35
|
-
|
36
|
-
&:hover {
|
37
|
-
color: #F3DF6C;
|
38
|
-
}
|
39
35
|
}
|
40
36
|
|
41
37
|
&.h1 {
|
42
38
|
font-size: 15px;
|
43
39
|
|
44
|
-
margin: 20px 0
|
40
|
+
margin: 20px 0 10px 20px;
|
45
41
|
|
46
42
|
a {
|
47
43
|
color: #F3DF6C;
|
48
44
|
}
|
49
|
-
}
|
50
|
-
|
51
|
-
&.h2 {
|
52
|
-
font-size: 13px;
|
53
|
-
color: #C3CED0;
|
54
|
-
margin: 0 0 5px 30px;
|
55
|
-
}
|
56
45
|
|
57
|
-
|
58
|
-
|
59
|
-
|
46
|
+
ul {
|
47
|
+
margin-top: 10px;
|
48
|
+
}
|
60
49
|
|
61
|
-
&.h4 {
|
62
50
|
|
63
|
-
|
51
|
+
.h2 {
|
52
|
+
font-size: 13px;
|
53
|
+
color: #C3CED0;
|
54
|
+
margin: 0 10px 5px 10px;
|
64
55
|
|
65
|
-
|
56
|
+
a {
|
57
|
+
color: #D5D5D3;
|
66
58
|
|
59
|
+
&:hover {
|
60
|
+
color: #F3DF6C;
|
61
|
+
}
|
62
|
+
}
|
63
|
+
}
|
67
64
|
}
|
68
65
|
|
69
|
-
&.h6 {
|
70
66
|
|
71
|
-
}
|
72
67
|
}
|
73
68
|
}
|
74
69
|
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
#vivus-body {
|
2
|
+
margin-left: 250px;
|
3
|
+
max-width: 950px;
|
4
|
+
padding: 30px;
|
5
|
+
|
6
|
+
@include respond-to("small") {
|
7
|
+
margin: 0;
|
8
|
+
padding: 20px;
|
9
|
+
}
|
10
|
+
|
11
|
+
ul.vivus-sections {
|
12
|
+
margin: 0;
|
13
|
+
padding: 0;
|
14
|
+
|
15
|
+
li.vivus-section {
|
16
|
+
list-style: none;
|
17
|
+
margin-bottom: 40px;
|
18
|
+
|
19
|
+
ul.vivus-components {
|
20
|
+
list-style: none;
|
21
|
+
margin: 0;
|
22
|
+
padding: 0;
|
23
|
+
}
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
@@ -1,56 +1,56 @@
|
|
1
1
|
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
|
2
2
|
|
3
3
|
/* Tomorrow Comment */
|
4
|
-
.comment,
|
5
|
-
.title {
|
4
|
+
.hljs-comment,
|
5
|
+
.hljs-title {
|
6
6
|
color: #8e908c;
|
7
7
|
}
|
8
8
|
|
9
9
|
/* Tomorrow Red */
|
10
|
-
.variable,
|
11
|
-
.attribute,
|
12
|
-
.tag,
|
13
|
-
.regexp,
|
14
|
-
.ruby .constant,
|
15
|
-
.xml .tag .title,
|
16
|
-
.xml .pi,
|
17
|
-
.xml .doctype,
|
18
|
-
.html .doctype,
|
19
|
-
.css .id,
|
20
|
-
.css .class,
|
21
|
-
.css .pseudo {
|
10
|
+
.hljs-variable,
|
11
|
+
.hljs-attribute,
|
12
|
+
.hljs-tag,
|
13
|
+
.hljs-regexp,
|
14
|
+
.hljs-ruby .hljs-constant,
|
15
|
+
.hljs-xml .hljs-tag .hljs-title,
|
16
|
+
.hljs-xml .hljs-pi,
|
17
|
+
.hljs-xml .hljs-doctype,
|
18
|
+
.hljs-html .hljs-doctype,
|
19
|
+
.hljs-css .hljs-id,
|
20
|
+
.hljs-css .hljs-class,
|
21
|
+
.hljs-css .hljs-pseudo {
|
22
22
|
color: #c82829;
|
23
23
|
}
|
24
24
|
|
25
25
|
/* Tomorrow Orange */
|
26
|
-
.number,
|
27
|
-
.preprocessor,
|
28
|
-
.pragma,
|
29
|
-
.built_in,
|
30
|
-
.literal,
|
31
|
-
.params,
|
32
|
-
.constant {
|
26
|
+
.hljs-number,
|
27
|
+
.hljs-preprocessor,
|
28
|
+
.hljs-pragma,
|
29
|
+
.hljs-built_in,
|
30
|
+
.hljs-literal,
|
31
|
+
.hljs-params,
|
32
|
+
.hljs-constant {
|
33
33
|
color: #f5871f;
|
34
34
|
}
|
35
35
|
|
36
36
|
/* Tomorrow Yellow */
|
37
|
-
.ruby .class .title,
|
38
|
-
.css .rules .attribute {
|
37
|
+
.hljs-ruby .hljs-class .hljs-title,
|
38
|
+
.hljs-css .hljs-rules .hljs-attribute {
|
39
39
|
color: #eab700;
|
40
40
|
}
|
41
41
|
|
42
42
|
/* Tomorrow Green */
|
43
|
-
.string,
|
44
|
-
.value,
|
45
|
-
.inheritance,
|
46
|
-
.header,
|
47
|
-
.ruby .symbol,
|
48
|
-
.xml .cdata {
|
43
|
+
.hljs-string,
|
44
|
+
.hljs-value,
|
45
|
+
.hljs-inheritance,
|
46
|
+
.hljs-header,
|
47
|
+
.hljs-ruby .hljs-symbol,
|
48
|
+
.hljs-xml .hljs-cdata {
|
49
49
|
color: #718c00;
|
50
50
|
}
|
51
51
|
|
52
52
|
/* Tomorrow Aqua */
|
53
|
-
.css .hexcolor {
|
53
|
+
.hljs-css .hljs-hexcolor {
|
54
54
|
color: #3e999f;
|
55
55
|
}
|
56
56
|
|