mountain_view 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +7 -5
- data/app/assets/javascripts/mountain_view/prism.js +5 -0
- data/app/assets/stylesheets/mountain_view/prism.css +137 -0
- data/lib/mountain_view/version.rb +1 -1
- data/test/dummy/log/development.log +647 -1372
- data/test/dummy/tmp/cache/assets/development/sprockets/05047392adf909e89a37882b1df46aa8 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/056a4da9bcd21e1bc54fc870c1bd1c93 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0848104d612d68babe788b064bb6a773 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0a5bb8ddcf321e88738e02ffb0cd02ef +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0c5cdad092202271d7dcd4a4e9434459 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/0ee705b1349b8360286fea9ed4e5e40e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1025fb0f151fc866114ecf98044f10ee +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1358febedd4ca96d2bffd10daf71a841 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13e30b9b47c795b0bf1c24f728ef72bb +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/19cd783e0750e55a88466eaf34cf8ee3 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/1a3befd27690385985935fbefadee114 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/37f90f006cee6a567571d9ef098f959c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/46844defcba01dc849d9b419893f98cc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/4b8ca8528217ffd457d34f6d3c10390e +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/5288a3be9b42eac33a8c5107b2c1a3e7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6469b6494dfcb7811bd823eb37679edb +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/646c70596539b146a28d3463b52e331d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/676413c50ebcc02f3683f0b74d03cd10 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6b18a41e40b87e9cf56140076eaf8ee7 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/6d1c1dbe626c83b900adee3270c25207 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/7eb84ecf34a4f7e714d58448a8eb10bd +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/895678836daa2e7d767a0b18998d3b32 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/90a2a412cf77f0878e811db239c79cbc +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/9e3fff55e666e905677ea1ec03cbf90c +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a18133f41da2aa5e6c4ceeb0912758e4 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/a668b6ff88911a6fc7ee3ed2bce99925 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/adf63b8c230bec424832f299d6783649 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/b9bd83a3b44c1d3d3f3475bd4c0cba7f +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c6c9787ab538d56f0bf078335b046968 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c7ee05b0bd8082e947e7f11a52d43d4d +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/c8918b8c937b226f93f33acabc876a06 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cd2a0221f05ca5fd45fa56d923f36195 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cd456657bdefb4c3249301a5754fdbe2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d6c936f92dce001a74c5de9eff308ea2 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/d78f431479fa8ad43875544b8c50d206 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/fd60d93b12b3001c215f1c6581eca777 +0 -0
- data/test/mountain_view_test.rb +15 -0
- metadata +89 -17
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/test.log +0 -1589
- data/test/tmp/app/components/widget/_widget.html.haml +0 -0
- data/test/tmp/app/components/widget/widget.coffee +0 -0
- data/test/tmp/app/components/widget/widget.scss +0 -0
- data/test/tmp/app/components/widget/widget.yml +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf9f3a42f8af9715d3b0c0855903cd0aeba57c49
|
4
|
+
data.tar.gz: ba52d8500178623e782b1a41e26605b31bf2ce69
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 596f9344da8ac52a2418062f8e2ef09961253b6a1f261ad6f3d9fec026abe13af9dfd6533b81c9607e5cfaeaa7962251ee5acd8856076813943a8cce575f3390
|
7
|
+
data.tar.gz: 4f6beb3bd54dccecf71eb67e96ca4267e024f41ad3161533743c8b399fae48b36e4514bd9e577fb2389c59b9b217500bb5a56483f7c3c116b1d664d4fe6c20ea
|
data/README.md
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# Mountain View
|
2
2
|
|
3
3
|
Mountain View helps you create reusable visual components on your Rails
|
4
|
-
Application.
|
4
|
+
Application and automatically generates a style guide for your components.
|
5
5
|
|
6
6
|
## Installation
|
7
7
|
|
@@ -60,23 +60,23 @@ helper:
|
|
60
60
|
```
|
61
61
|
|
62
62
|
### Assets
|
63
|
-
You can require all the components CSS and JS automatically by requiring `mountain_view` in
|
63
|
+
You can require all the components CSS and JS automatically by requiring `mountain_view` in your main JS and CSS files.
|
64
64
|
|
65
65
|
```
|
66
66
|
//= require mountain_view
|
67
67
|
```
|
68
68
|
|
69
69
|
### Automatically generated Style Guide
|
70
|
-
A style guide will be automatically generated. This
|
70
|
+
A style guide will be automatically generated. This style guide never falls behind and it reflects your components in their latest version.
|
71
71
|
|
72
72
|
#### Setting up the style guide
|
73
73
|
1) Add the following line to your `routes.rb` file.
|
74
74
|
```ruby
|
75
75
|
mount MountainView::Engine => "/mountain_view"
|
76
76
|
```
|
77
|
-
2) Create stubs for your components.
|
77
|
+
2) Create stubs for your components. These stubs will be the examples in the style guide.
|
78
78
|
|
79
|
-
E.g:
|
79
|
+
E.g: `app/components/card/card.yml`
|
80
80
|
```yml
|
81
81
|
-
|
82
82
|
:title: "Aspen Snowmass"
|
@@ -117,3 +117,5 @@ E.g: `/app/components/card/card.yml`
|
|
117
117
|
* [Esteban Pastorino](https://github.com/kitop)
|
118
118
|
* [Ignacio Gutierrez](https://github.com/jgnatch)
|
119
119
|
|
120
|
+
## Credits
|
121
|
+
This library was inspired by [Rizzo](rizzo.lonelyplanet.com/styleguide/ui-components), a wonderful living style guide created by the guys at LonelyPlanet. [More info here](http://engineering.lonelyplanet.com/2014/05/18/a-maintainable-styleguide.html)
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/* http://prismjs.com/download.html?themes=prism&languages=clike+javascript+ruby */
|
2
|
+
self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{};var Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var a={};for(var r in e)e.hasOwnProperty(r)&&(a[r]=t.util.clone(e[r]));return a;case"Array":return e.map(function(e){return t.util.clone(e)})}return e}},languages:{extend:function(e,n){var a=t.util.clone(t.languages[e]);for(var r in n)a[r]=n[r];return a},insertBefore:function(e,n,a,r){r=r||t.languages;var i=r[e];if(2==arguments.length){a=arguments[1];for(var l in a)a.hasOwnProperty(l)&&(i[l]=a[l]);return i}var s={};for(var o in i)if(i.hasOwnProperty(o)){if(o==n)for(var l in a)a.hasOwnProperty(l)&&(s[l]=a[l]);s[o]=i[o]}return t.languages.DFS(t.languages,function(t,n){n===r[e]&&t!=e&&(this[t]=s)}),r[e]=s},DFS:function(e,n,a){for(var r in e)e.hasOwnProperty(r)&&(n.call(e,r,e[r],a||r),"Object"===t.util.type(e[r])?t.languages.DFS(e[r],n):"Array"===t.util.type(e[r])&&t.languages.DFS(e[r],n,r))}},highlightAll:function(e,n){for(var a,r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),i=0;a=r[i++];)t.highlightElement(a,e===!0,n)},highlightElement:function(a,r,i){for(var l,s,o=a;o&&!e.test(o.className);)o=o.parentNode;if(o&&(l=(o.className.match(e)||[,""])[1],s=t.languages[l]),s){a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+l,o=a.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(e,"").replace(/\s+/g," ")+" language-"+l);var u=a.textContent;if(u){u=u.replace(/^(?:\r?\n|\r)/,"");var g={element:a,language:l,grammar:s,code:u};if(t.hooks.run("before-highlight",g),r&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){g.highlightedCode=n.stringify(JSON.parse(e.data),l),t.hooks.run("before-insert",g),g.element.innerHTML=g.highlightedCode,i&&i.call(g.element),t.hooks.run("after-highlight",g)},c.postMessage(JSON.stringify({language:g.language,code:g.code}))}else g.highlightedCode=t.highlight(g.code,g.grammar,g.language),t.hooks.run("before-insert",g),g.element.innerHTML=g.highlightedCode,i&&i.call(a),t.hooks.run("after-highlight",g)}}},highlight:function(e,a,r){var i=t.tokenize(e,a);return n.stringify(t.util.encode(i),r)},tokenize:function(e,n){var a=t.Token,r=[e],i=n.rest;if(i){for(var l in i)n[l]=i[l];delete n.rest}e:for(var l in n)if(n.hasOwnProperty(l)&&n[l]){var s=n[l];s="Array"===t.util.type(s)?s:[s];for(var o=0;o<s.length;++o){var u=s[o],g=u.inside,c=!!u.lookbehind,f=0,h=u.alias;u=u.pattern||u;for(var p=0;p<r.length;p++){var d=r[p];if(r.length>e.length)break e;if(!(d instanceof a)){u.lastIndex=0;var m=u.exec(d);if(m){c&&(f=m[1].length);var y=m.index-1+f,m=m[0].slice(f),v=m.length,k=y+v,b=d.slice(0,y+1),w=d.slice(k+1),N=[p,1];b&&N.push(b);var O=new a(l,g?t.tokenize(m,g):m,h);N.push(O),w&&N.push(w),Array.prototype.splice.apply(r,N)}}}}}return r},hooks:{all:{},add:function(e,n){var a=t.hooks.all;a[e]=a[e]||[],a[e].push(n)},run:function(e,n){var a=t.hooks.all[e];if(a&&a.length)for(var r,i=0;r=a[i++];)r(n)}}},n=t.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(n.stringify=function(e,a,r){if("string"==typeof e)return e;if("Array"===t.util.type(e))return e.map(function(t){return n.stringify(t,a,e)}).join("");var i={type:e.type,content:n.stringify(e.content,a,r),tag:"span",classes:["token",e.type],attributes:{},language:a,parent:r};if("comment"==i.type&&(i.attributes.spellcheck="true"),e.alias){var l="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(i.classes,l)}t.hooks.run("wrap",i);var s="";for(var o in i.attributes)s+=o+'="'+(i.attributes[o]||"")+'"';return"<"+i.tag+' class="'+i.classes.join(" ")+'" '+s+">"+i.content+"</"+i.tag+">"},!self.document)return self.addEventListener?(self.addEventListener("message",function(e){var n=JSON.parse(e.data),a=n.language,r=n.code;self.postMessage(JSON.stringify(t.util.encode(t.tokenize(r,t.languages[a])))),self.close()},!1),self.Prism):self.Prism;var a=document.getElementsByTagName("script");return a=a[a.length-1],a&&(t.filename=a.src,document.addEventListener&&!a.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)),self.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=Prism);;
|
3
|
+
Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/("|')(\\\n|\\?.)*?\1/,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":{pattern:/[a-z0-9_]+\(/i,inside:{punctuation:/\(/}},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|~|\^|%/,ignore:/&(lt|gt|amp);/i,punctuation:/[{}[\];(),.:]/};;
|
4
|
+
Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|-?Infinity)\b/,"function":/(?!\d)[a-z0-9_$]+(?=\()/i}),Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/i,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/i,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript},alias:"language-javascript"}});;
|
5
|
+
Prism.languages.ruby=Prism.languages.extend("clike",{comment:/#[^\r\n]*(\r?\n|$)/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/,builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*[?!]?\b/}),Prism.languages.insertBefore("ruby","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0},variable:/[@$]+\b[a-zA-Z_][a-zA-Z_0-9]*[?!]?\b/,symbol:/:\b[a-zA-Z_][a-zA-Z_0-9]*[?!]?\b/});;
|
@@ -0,0 +1,137 @@
|
|
1
|
+
/* http://prismjs.com/download.html?themes=prism&languages=clike+javascript+ruby */
|
2
|
+
/**
|
3
|
+
* prism.js default theme for JavaScript, CSS and HTML
|
4
|
+
* Based on dabblet (http://dabblet.com)
|
5
|
+
* @author Lea Verou
|
6
|
+
*/
|
7
|
+
|
8
|
+
code[class*="language-"],
|
9
|
+
pre[class*="language-"] {
|
10
|
+
color: black;
|
11
|
+
text-shadow: 0 1px white;
|
12
|
+
font-family: Consolas, Monaco, 'Andale Mono', monospace;
|
13
|
+
direction: ltr;
|
14
|
+
text-align: left;
|
15
|
+
white-space: pre;
|
16
|
+
word-spacing: normal;
|
17
|
+
word-break: normal;
|
18
|
+
line-height: 1.5;
|
19
|
+
|
20
|
+
-moz-tab-size: 4;
|
21
|
+
-o-tab-size: 4;
|
22
|
+
tab-size: 4;
|
23
|
+
|
24
|
+
-webkit-hyphens: none;
|
25
|
+
-moz-hyphens: none;
|
26
|
+
-ms-hyphens: none;
|
27
|
+
hyphens: none;
|
28
|
+
}
|
29
|
+
|
30
|
+
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
|
31
|
+
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
|
32
|
+
text-shadow: none;
|
33
|
+
background: #b3d4fc;
|
34
|
+
}
|
35
|
+
|
36
|
+
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
|
37
|
+
code[class*="language-"]::selection, code[class*="language-"] ::selection {
|
38
|
+
text-shadow: none;
|
39
|
+
background: #b3d4fc;
|
40
|
+
}
|
41
|
+
|
42
|
+
@media print {
|
43
|
+
code[class*="language-"],
|
44
|
+
pre[class*="language-"] {
|
45
|
+
text-shadow: none;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
/* Code blocks */
|
50
|
+
pre[class*="language-"] {
|
51
|
+
padding: 1em;
|
52
|
+
margin: .5em 0;
|
53
|
+
overflow: auto;
|
54
|
+
}
|
55
|
+
|
56
|
+
:not(pre) > code[class*="language-"],
|
57
|
+
pre[class*="language-"] {
|
58
|
+
background: #f5f2f0;
|
59
|
+
}
|
60
|
+
|
61
|
+
/* Inline code */
|
62
|
+
:not(pre) > code[class*="language-"] {
|
63
|
+
padding: .1em;
|
64
|
+
border-radius: .3em;
|
65
|
+
}
|
66
|
+
|
67
|
+
.token.comment,
|
68
|
+
.token.prolog,
|
69
|
+
.token.doctype,
|
70
|
+
.token.cdata {
|
71
|
+
color: slategray;
|
72
|
+
}
|
73
|
+
|
74
|
+
.token.punctuation {
|
75
|
+
color: #999;
|
76
|
+
}
|
77
|
+
|
78
|
+
.namespace {
|
79
|
+
opacity: .7;
|
80
|
+
}
|
81
|
+
|
82
|
+
.token.property,
|
83
|
+
.token.tag,
|
84
|
+
.token.boolean,
|
85
|
+
.token.number,
|
86
|
+
.token.constant,
|
87
|
+
.token.symbol,
|
88
|
+
.token.deleted {
|
89
|
+
color: #905;
|
90
|
+
}
|
91
|
+
|
92
|
+
.token.selector,
|
93
|
+
.token.attr-name,
|
94
|
+
.token.string,
|
95
|
+
.token.char,
|
96
|
+
.token.builtin,
|
97
|
+
.token.inserted {
|
98
|
+
color: #690;
|
99
|
+
}
|
100
|
+
|
101
|
+
.token.operator,
|
102
|
+
.token.entity,
|
103
|
+
.token.url,
|
104
|
+
.language-css .token.string,
|
105
|
+
.style .token.string {
|
106
|
+
color: #a67f59;
|
107
|
+
background: hsla(0, 0%, 100%, .5);
|
108
|
+
}
|
109
|
+
|
110
|
+
.token.atrule,
|
111
|
+
.token.attr-value,
|
112
|
+
.token.keyword {
|
113
|
+
color: #07a;
|
114
|
+
}
|
115
|
+
|
116
|
+
.token.function {
|
117
|
+
color: #DD4A68;
|
118
|
+
}
|
119
|
+
|
120
|
+
.token.regex,
|
121
|
+
.token.important,
|
122
|
+
.token.variable {
|
123
|
+
color: #e90;
|
124
|
+
}
|
125
|
+
|
126
|
+
.token.important,
|
127
|
+
.token.bold {
|
128
|
+
font-weight: bold;
|
129
|
+
}
|
130
|
+
.token.italic {
|
131
|
+
font-style: italic;
|
132
|
+
}
|
133
|
+
|
134
|
+
.token.entity {
|
135
|
+
cursor: help;
|
136
|
+
}
|
137
|
+
|