multi_typograf 0.0.2
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.
- data/.gitignore +18 -0
- data/.travis.yml +10 -0
- data/Gemfile +8 -0
- data/LICENSE.txt +22 -0
- data/README.md +49 -0
- data/Rakefile +53 -0
- data/lib/multi_typograf.rb +112 -0
- data/lib/multi_typograf/adapters/art_typograf.rb +13 -0
- data/lib/multi_typograf/adapters/typograf.rb +13 -0
- data/lib/multi_typograf/adapters/typographer.rb +11 -0
- data/lib/multi_typograf/adapters/typographica.rb +11 -0
- data/lib/multi_typograf/adapters/typography.rb +12 -0
- data/lib/multi_typograf/filter.rb +12 -0
- data/lib/multi_typograf/version.rb +3 -0
- data/multi_typograf.gemspec +26 -0
- data/report/html_printer.rb +61 -0
- data/report/report_formatter.rb +66 -0
- data/report/report_shared_example.rb +397 -0
- data/report/report_spec.rb +12 -0
- data/report/template/bak.png +0 -0
- data/report/template/bootstrap.min.css +206 -0
- data/report/template/index.html +172 -0
- data/report/template/jquery.slabtext.min.js +2 -0
- data/report/template/slabtext.css +1 -0
- data/spec/adapter_shared_example.rb +27 -0
- data/spec/helper.rb +19 -0
- data/spec/multi_typograf_spec.rb +78 -0
- metadata +146 -0
@@ -0,0 +1,12 @@
|
|
1
|
+
require 'multi_typograf'
|
2
|
+
require 'rspec'
|
3
|
+
require File.expand_path('../report_shared_example', __FILE__)
|
4
|
+
|
5
|
+
describe MultiTypograf do
|
6
|
+
# typographer typographica
|
7
|
+
%w(art_typograf typograf).each do |adapter|
|
8
|
+
context adapter do
|
9
|
+
it_behaves_like "an adapter", adapter
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
Binary file
|
@@ -0,0 +1,206 @@
|
|
1
|
+
/*!
|
2
|
+
* Bootstrap v2.2.1
|
3
|
+
*
|
4
|
+
* Copyright 2012 Twitter, Inc
|
5
|
+
* Licensed under the Apache License v2.0
|
6
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
7
|
+
*
|
8
|
+
* Designed and built with all the love in the world @twitter by @mdo and @fat.
|
9
|
+
*/
|
10
|
+
.clearfix{*zoom:1;}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0;}
|
11
|
+
.clearfix:after{clear:both;}
|
12
|
+
.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0;}
|
13
|
+
.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
|
14
|
+
article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block;}
|
15
|
+
audio,canvas,video{display:inline-block;*display:inline;*zoom:1;}
|
16
|
+
audio:not([controls]){display:none;}
|
17
|
+
html{font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;}
|
18
|
+
a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px;}
|
19
|
+
a:hover,a:active{outline:0;}
|
20
|
+
sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline;}
|
21
|
+
sup{top:-0.5em;}
|
22
|
+
sub{bottom:-0.25em;}
|
23
|
+
img{max-width:100%;width:auto\9;height:auto;vertical-align:middle;border:0;-ms-interpolation-mode:bicubic;}
|
24
|
+
#map_canvas img,.google-maps img{max-width:none;}
|
25
|
+
button,input,select,textarea{margin:0;font-size:100%;vertical-align:middle;}
|
26
|
+
button,input{*overflow:visible;line-height:normal;}
|
27
|
+
button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}
|
28
|
+
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer;}
|
29
|
+
input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}
|
30
|
+
input[type="search"]::-webkit-search-decoration,input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;}
|
31
|
+
textarea{overflow:auto;vertical-align:top;}
|
32
|
+
body{margin:0;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;color:#333333;background-color:#ffffff;}
|
33
|
+
a{color:#0088cc;text-decoration:none;}
|
34
|
+
a:hover{color:#005580;text-decoration:underline;}
|
35
|
+
.img-rounded{-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;}
|
36
|
+
.img-polaroid{padding:4px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0, 0, 0, 0.2);-webkit-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);-moz-box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);box-shadow:0 1px 3px rgba(0, 0, 0, 0.1);}
|
37
|
+
.img-circle{-webkit-border-radius:500px;-moz-border-radius:500px;border-radius:500px;}
|
38
|
+
.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;}
|
39
|
+
.row:after{clear:both;}
|
40
|
+
[class*="span"]{float:left;min-height:1px;margin-left:20px;}
|
41
|
+
.container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:940px;}
|
42
|
+
.span12{width:940px;}
|
43
|
+
.span11{width:860px;}
|
44
|
+
.span10{width:780px;}
|
45
|
+
.span9{width:700px;}
|
46
|
+
.span8{width:620px;}
|
47
|
+
.span7{width:540px;}
|
48
|
+
.span6{width:460px;}
|
49
|
+
.span5{width:380px;}
|
50
|
+
.span4{width:300px;}
|
51
|
+
.span3{width:220px;}
|
52
|
+
.span2{width:140px;}
|
53
|
+
.span1{width:60px;}
|
54
|
+
.offset12{margin-left:980px;}
|
55
|
+
.offset11{margin-left:900px;}
|
56
|
+
.offset10{margin-left:820px;}
|
57
|
+
.offset9{margin-left:740px;}
|
58
|
+
.offset8{margin-left:660px;}
|
59
|
+
.offset7{margin-left:580px;}
|
60
|
+
.offset6{margin-left:500px;}
|
61
|
+
.offset5{margin-left:420px;}
|
62
|
+
.offset4{margin-left:340px;}
|
63
|
+
.offset3{margin-left:260px;}
|
64
|
+
.offset2{margin-left:180px;}
|
65
|
+
.offset1{margin-left:100px;}
|
66
|
+
.row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;}
|
67
|
+
.row-fluid:after{clear:both;}
|
68
|
+
.row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.127659574468085%;*margin-left:2.074468085106383%;}
|
69
|
+
.row-fluid [class*="span"]:first-child{margin-left:0;}
|
70
|
+
.row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.127659574468085%;}
|
71
|
+
.row-fluid .span12{width:100%;*width:99.94680851063829%;}
|
72
|
+
.row-fluid .span11{width:91.48936170212765%;*width:91.43617021276594%;}
|
73
|
+
.row-fluid .span10{width:82.97872340425532%;*width:82.92553191489361%;}
|
74
|
+
.row-fluid .span9{width:74.46808510638297%;*width:74.41489361702126%;}
|
75
|
+
.row-fluid .span8{width:65.95744680851064%;*width:65.90425531914893%;}
|
76
|
+
.row-fluid .span7{width:57.44680851063829%;*width:57.39361702127659%;}
|
77
|
+
.row-fluid .span6{width:48.93617021276595%;*width:48.88297872340425%;}
|
78
|
+
.row-fluid .span5{width:40.42553191489362%;*width:40.37234042553192%;}
|
79
|
+
.row-fluid .span4{width:31.914893617021278%;*width:31.861702127659576%;}
|
80
|
+
.row-fluid .span3{width:23.404255319148934%;*width:23.351063829787233%;}
|
81
|
+
.row-fluid .span2{width:14.893617021276595%;*width:14.840425531914894%;}
|
82
|
+
.row-fluid .span1{width:6.382978723404255%;*width:6.329787234042553%;}
|
83
|
+
.row-fluid .offset12{margin-left:104.25531914893617%;*margin-left:104.14893617021275%;}
|
84
|
+
.row-fluid .offset12:first-child{margin-left:102.12765957446808%;*margin-left:102.02127659574467%;}
|
85
|
+
.row-fluid .offset11{margin-left:95.74468085106382%;*margin-left:95.6382978723404%;}
|
86
|
+
.row-fluid .offset11:first-child{margin-left:93.61702127659574%;*margin-left:93.51063829787232%;}
|
87
|
+
.row-fluid .offset10{margin-left:87.23404255319149%;*margin-left:87.12765957446807%;}
|
88
|
+
.row-fluid .offset10:first-child{margin-left:85.1063829787234%;*margin-left:84.99999999999999%;}
|
89
|
+
.row-fluid .offset9{margin-left:78.72340425531914%;*margin-left:78.61702127659572%;}
|
90
|
+
.row-fluid .offset9:first-child{margin-left:76.59574468085106%;*margin-left:76.48936170212764%;}
|
91
|
+
.row-fluid .offset8{margin-left:70.2127659574468%;*margin-left:70.10638297872339%;}
|
92
|
+
.row-fluid .offset8:first-child{margin-left:68.08510638297872%;*margin-left:67.9787234042553%;}
|
93
|
+
.row-fluid .offset7{margin-left:61.70212765957446%;*margin-left:61.59574468085106%;}
|
94
|
+
.row-fluid .offset7:first-child{margin-left:59.574468085106375%;*margin-left:59.46808510638297%;}
|
95
|
+
.row-fluid .offset6{margin-left:53.191489361702125%;*margin-left:53.085106382978715%;}
|
96
|
+
.row-fluid .offset6:first-child{margin-left:51.063829787234035%;*margin-left:50.95744680851063%;}
|
97
|
+
.row-fluid .offset5{margin-left:44.68085106382979%;*margin-left:44.57446808510638%;}
|
98
|
+
.row-fluid .offset5:first-child{margin-left:42.5531914893617%;*margin-left:42.4468085106383%;}
|
99
|
+
.row-fluid .offset4{margin-left:36.170212765957444%;*margin-left:36.06382978723405%;}
|
100
|
+
.row-fluid .offset4:first-child{margin-left:34.04255319148936%;*margin-left:33.93617021276596%;}
|
101
|
+
.row-fluid .offset3{margin-left:27.659574468085104%;*margin-left:27.5531914893617%;}
|
102
|
+
.row-fluid .offset3:first-child{margin-left:25.53191489361702%;*margin-left:25.425531914893618%;}
|
103
|
+
.row-fluid .offset2{margin-left:19.148936170212764%;*margin-left:19.04255319148936%;}
|
104
|
+
.row-fluid .offset2:first-child{margin-left:17.02127659574468%;*margin-left:16.914893617021278%;}
|
105
|
+
.row-fluid .offset1{margin-left:10.638297872340425%;*margin-left:10.53191489361702%;}
|
106
|
+
.row-fluid .offset1:first-child{margin-left:8.51063829787234%;*margin-left:8.404255319148938%;}
|
107
|
+
[class*="span"].hide,.row-fluid [class*="span"].hide{display:none;}
|
108
|
+
[class*="span"].pull-right,.row-fluid [class*="span"].pull-right{float:right;}
|
109
|
+
.container{margin-right:auto;margin-left:auto;*zoom:1;}.container:before,.container:after{display:table;content:"";line-height:0;}
|
110
|
+
.container:after{clear:both;}
|
111
|
+
.container-fluid{padding-right:20px;padding-left:20px;*zoom:1;}.container-fluid:before,.container-fluid:after{display:table;content:"";line-height:0;}
|
112
|
+
.container-fluid:after{clear:both;}
|
113
|
+
p{margin:0 0 10px;}
|
114
|
+
.lead{margin-bottom:20px;font-size:21px;font-weight:200;line-height:30px;}
|
115
|
+
small{font-size:85%;}
|
116
|
+
strong{font-weight:bold;}
|
117
|
+
em{font-style:italic;}
|
118
|
+
cite{font-style:normal;}
|
119
|
+
.muted{color:#999999;}
|
120
|
+
.text-warning{color:#c09853;}
|
121
|
+
a.text-warning:hover{color:#a47e3c;}
|
122
|
+
.text-error{color:#b94a48;}
|
123
|
+
a.text-error:hover{color:#953b39;}
|
124
|
+
.text-info{color:#3a87ad;}
|
125
|
+
a.text-info:hover{color:#2d6987;}
|
126
|
+
.text-success{color:#468847;}
|
127
|
+
a.text-success:hover{color:#356635;}
|
128
|
+
h1,h2,h3,h4,h5,h6{margin:10px 0;font-family:inherit;font-weight:bold;line-height:20px;color:inherit;text-rendering:optimizelegibility;}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small{font-weight:normal;line-height:1;color:#999999;}
|
129
|
+
h1,h2,h3{line-height:40px;}
|
130
|
+
h1{font-size:38.5px;}
|
131
|
+
h2{font-size:31.5px;}
|
132
|
+
h3{font-size:24.5px;}
|
133
|
+
h4{font-size:17.5px;}
|
134
|
+
h5{font-size:14px;}
|
135
|
+
h6{font-size:11.9px;}
|
136
|
+
h1 small{font-size:24.5px;}
|
137
|
+
h2 small{font-size:17.5px;}
|
138
|
+
h3 small{font-size:14px;}
|
139
|
+
h4 small{font-size:14px;}
|
140
|
+
.page-header{padding-bottom:9px;margin:20px 0 30px;border-bottom:1px solid #eeeeee;}
|
141
|
+
ul,ol{padding:0;margin:0 0 10px 25px;}
|
142
|
+
ul ul,ul ol,ol ol,ol ul{margin-bottom:0;}
|
143
|
+
li{line-height:20px;}
|
144
|
+
ul.unstyled,ol.unstyled{margin-left:0;list-style:none;}
|
145
|
+
dl{margin-bottom:20px;}
|
146
|
+
dt,dd{line-height:20px;}
|
147
|
+
dt{font-weight:bold;}
|
148
|
+
dd{margin-left:10px;}
|
149
|
+
.dl-horizontal{*zoom:1;}.dl-horizontal:before,.dl-horizontal:after{display:table;content:"";line-height:0;}
|
150
|
+
.dl-horizontal:after{clear:both;}
|
151
|
+
.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
|
152
|
+
.dl-horizontal dd{margin-left:180px;}
|
153
|
+
hr{margin:20px 0;border:0;border-top:1px solid #eeeeee;border-bottom:1px solid #ffffff;}
|
154
|
+
abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999999;}
|
155
|
+
abbr.initialism{font-size:90%;text-transform:uppercase;}
|
156
|
+
blockquote{padding:0 0 0 15px;margin:0 0 20px;border-left:5px solid #eeeeee;}blockquote p{margin-bottom:0;font-size:16px;font-weight:300;line-height:25px;}
|
157
|
+
blockquote small{display:block;line-height:20px;color:#999999;}blockquote small:before{content:'\2014 \00A0';}
|
158
|
+
blockquote.pull-right{float:right;padding-right:15px;padding-left:0;border-right:5px solid #eeeeee;border-left:0;}blockquote.pull-right p,blockquote.pull-right small{text-align:right;}
|
159
|
+
blockquote.pull-right small:before{content:'';}
|
160
|
+
blockquote.pull-right small:after{content:'\00A0 \2014';}
|
161
|
+
q:before,q:after,blockquote:before,blockquote:after{content:"";}
|
162
|
+
address{display:block;margin-bottom:20px;font-style:normal;line-height:20px;}
|
163
|
+
table{max-width:100%;background-color:transparent;border-collapse:collapse;border-spacing:0;}
|
164
|
+
.table{width:100%;margin-bottom:20px;}.table th,.table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd;}
|
165
|
+
.table th{font-weight:bold;}
|
166
|
+
.table thead th{vertical-align:bottom;}
|
167
|
+
.table caption+thead tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child th,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child th,.table thead:first-child tr:first-child td{border-top:0;}
|
168
|
+
.table tbody+tbody{border-top:2px solid #dddddd;}
|
169
|
+
.table-condensed th,.table-condensed td{padding:4px 5px;}
|
170
|
+
.table-bordered{border:1px solid #dddddd;border-collapse:separate;*border-collapse:collapse;border-left:0;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;}.table-bordered th,.table-bordered td{border-left:1px solid #dddddd;}
|
171
|
+
.table-bordered caption+thead tr:first-child th,.table-bordered caption+tbody tr:first-child th,.table-bordered caption+tbody tr:first-child td,.table-bordered colgroup+thead tr:first-child th,.table-bordered colgroup+tbody tr:first-child th,.table-bordered colgroup+tbody tr:first-child td,.table-bordered thead:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child th,.table-bordered tbody:first-child tr:first-child td{border-top:0;}
|
172
|
+
.table-bordered thead:first-child tr:first-child th:first-child,.table-bordered tbody:first-child tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px;}
|
173
|
+
.table-bordered thead:first-child tr:first-child th:last-child,.table-bordered tbody:first-child tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px;}
|
174
|
+
.table-bordered thead:last-child tr:last-child th:first-child,.table-bordered tbody:last-child tr:last-child td:first-child,.table-bordered tfoot:last-child tr:last-child td:first-child{-webkit-border-radius:0 0 0 4px;-moz-border-radius:0 0 0 4px;border-radius:0 0 0 4px;-webkit-border-bottom-left-radius:4px;border-bottom-left-radius:4px;-moz-border-radius-bottomleft:4px;}
|
175
|
+
.table-bordered thead:last-child tr:last-child th:last-child,.table-bordered tbody:last-child tr:last-child td:last-child,.table-bordered tfoot:last-child tr:last-child td:last-child{-webkit-border-bottom-right-radius:4px;border-bottom-right-radius:4px;-moz-border-radius-bottomright:4px;}
|
176
|
+
.table-bordered caption+thead tr:first-child th:first-child,.table-bordered caption+tbody tr:first-child td:first-child,.table-bordered colgroup+thead tr:first-child th:first-child,.table-bordered colgroup+tbody tr:first-child td:first-child{-webkit-border-top-left-radius:4px;border-top-left-radius:4px;-moz-border-radius-topleft:4px;}
|
177
|
+
.table-bordered caption+thead tr:first-child th:last-child,.table-bordered caption+tbody tr:first-child td:last-child,.table-bordered colgroup+thead tr:first-child th:last-child,.table-bordered colgroup+tbody tr:first-child td:last-child{-webkit-border-top-right-radius:4px;border-top-right-radius:4px;-moz-border-radius-topright:4px;}
|
178
|
+
.table-striped tbody tr:nth-child(odd) td,.table-striped tbody tr:nth-child(odd) th{background-color:#f9f9f9;}
|
179
|
+
.table-hover tbody tr:hover td,.table-hover tbody tr:hover th{background-color:#f5f5f5;}
|
180
|
+
table td[class*="span"],table th[class*="span"],.row-fluid table td[class*="span"],.row-fluid table th[class*="span"]{display:table-cell;float:none;margin-left:0;}
|
181
|
+
.table td.span1,.table th.span1{float:none;width:44px;margin-left:0;}
|
182
|
+
.table td.span2,.table th.span2{float:none;width:124px;margin-left:0;}
|
183
|
+
.table td.span3,.table th.span3{float:none;width:204px;margin-left:0;}
|
184
|
+
.table td.span4,.table th.span4{float:none;width:284px;margin-left:0;}
|
185
|
+
.table td.span5,.table th.span5{float:none;width:364px;margin-left:0;}
|
186
|
+
.table td.span6,.table th.span6{float:none;width:444px;margin-left:0;}
|
187
|
+
.table td.span7,.table th.span7{float:none;width:524px;margin-left:0;}
|
188
|
+
.table td.span8,.table th.span8{float:none;width:604px;margin-left:0;}
|
189
|
+
.table td.span9,.table th.span9{float:none;width:684px;margin-left:0;}
|
190
|
+
.table td.span10,.table th.span10{float:none;width:764px;margin-left:0;}
|
191
|
+
.table td.span11,.table th.span11{float:none;width:844px;margin-left:0;}
|
192
|
+
.table td.span12,.table th.span12{float:none;width:924px;margin-left:0;}
|
193
|
+
.table tbody tr.success td{background-color:#dff0d8;}
|
194
|
+
.table tbody tr.error td{background-color:#f2dede;}
|
195
|
+
.table tbody tr.warning td{background-color:#fcf8e3;}
|
196
|
+
.table tbody tr.info td{background-color:#d9edf7;}
|
197
|
+
.table-hover tbody tr.success:hover td{background-color:#d0e9c6;}
|
198
|
+
.table-hover tbody tr.error:hover td{background-color:#ebcccc;}
|
199
|
+
.table-hover tbody tr.warning:hover td{background-color:#faf2cc;}
|
200
|
+
.table-hover tbody tr.info:hover td{background-color:#c4e3f3;}
|
201
|
+
.hidden{display:none;visibility:hidden;}
|
202
|
+
.visible-phone{display:none !important;}
|
203
|
+
.visible-tablet{display:none !important;}
|
204
|
+
.hidden-desktop{display:none !important;}
|
205
|
+
.visible-desktop{display:inherit !important;}
|
206
|
+
@media (min-width:768px) and (max-width:979px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important ;} .visible-tablet{display:inherit !important;} .hidden-tablet{display:none !important;}}@media (max-width:767px){.hidden-desktop{display:inherit !important;} .visible-desktop{display:none !important;} .visible-phone{display:inherit !important;} .hidden-phone{display:none !important;}}@media (max-width:767px){body{padding-left:20px;padding-right:20px;} .navbar-fixed-top,.navbar-fixed-bottom,.navbar-static-top{margin-left:-20px;margin-right:-20px;} .container-fluid{padding:0;} .dl-horizontal dt{float:none;clear:none;width:auto;text-align:left;} .dl-horizontal dd{margin-left:0;} .container{width:auto;} .row-fluid{width:100%;} .row,.thumbnails{margin-left:0;} .thumbnails>li{float:none;margin-left:0;} [class*="span"],.uneditable-input[class*="span"],.row-fluid [class*="span"]{float:none;display:block;width:100%;margin-left:0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .span12,.row-fluid .span12{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .row-fluid [class*="offset"]:first-child{margin-left:0;} .input-large,.input-xlarge,.input-xxlarge,input[class*="span"],select[class*="span"],textarea[class*="span"],.uneditable-input{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;} .input-prepend input,.input-append input,.input-prepend input[class*="span"],.input-append input[class*="span"]{display:inline-block;width:auto;} .controls-row [class*="span"]+[class*="span"]{margin-left:0;} .modal{position:fixed;top:20px;left:20px;right:20px;width:auto;margin:0;}.modal.fade{top:-100px;} .modal.fade.in{top:20px;}}@media (max-width:480px){.nav-collapse{-webkit-transform:translate3d(0, 0, 0);} .page-header h1 small{display:block;line-height:20px;} input[type="checkbox"],input[type="radio"]{border:1px solid #ccc;} .form-horizontal .control-label{float:none;width:auto;padding-top:0;text-align:left;} .form-horizontal .controls{margin-left:0;} .form-horizontal .control-list{padding-top:0;} .form-horizontal .form-actions{padding-left:10px;padding-right:10px;} .media .pull-left,.media .pull-right{float:none;display:block;margin-bottom:10px;} .media-object{margin-right:0;margin-left:0;} .modal{top:10px;left:10px;right:10px;} .modal-header .close{padding:10px;margin:-10px;} .carousel-caption{position:static;}}@media (min-width:768px) and (max-width:979px){.row{margin-left:-20px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:20px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:724px;} .span12{width:724px;} .span11{width:662px;} .span10{width:600px;} .span9{width:538px;} .span8{width:476px;} .span7{width:414px;} .span6{width:352px;} .span5{width:290px;} .span4{width:228px;} .span3{width:166px;} .span2{width:104px;} .span1{width:42px;} .offset12{margin-left:764px;} .offset11{margin-left:702px;} .offset10{margin-left:640px;} .offset9{margin-left:578px;} .offset8{margin-left:516px;} .offset7{margin-left:454px;} .offset6{margin-left:392px;} .offset5{margin-left:330px;} .offset4{margin-left:268px;} .offset3{margin-left:206px;} .offset2{margin-left:144px;} .offset1{margin-left:82px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.7624309392265194%;*margin-left:2.709239449864817%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.7624309392265194%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.43646408839778%;*width:91.38327259903608%;} .row-fluid .span10{width:82.87292817679558%;*width:82.81973668743387%;} .row-fluid .span9{width:74.30939226519337%;*width:74.25620077583166%;} .row-fluid .span8{width:65.74585635359117%;*width:65.69266486422946%;} .row-fluid .span7{width:57.18232044198895%;*width:57.12912895262725%;} .row-fluid .span6{width:48.61878453038674%;*width:48.56559304102504%;} .row-fluid .span5{width:40.05524861878453%;*width:40.00205712942283%;} .row-fluid .span4{width:31.491712707182323%;*width:31.43852121782062%;} .row-fluid .span3{width:22.92817679558011%;*width:22.87498530621841%;} .row-fluid .span2{width:14.3646408839779%;*width:14.311449394616199%;} .row-fluid .span1{width:5.801104972375691%;*width:5.747913483013988%;} .row-fluid .offset12{margin-left:105.52486187845304%;*margin-left:105.41847889972962%;} .row-fluid .offset12:first-child{margin-left:102.76243093922652%;*margin-left:102.6560479605031%;} .row-fluid .offset11{margin-left:96.96132596685082%;*margin-left:96.8549429881274%;} .row-fluid .offset11:first-child{margin-left:94.1988950276243%;*margin-left:94.09251204890089%;} .row-fluid .offset10{margin-left:88.39779005524862%;*margin-left:88.2914070765252%;} .row-fluid .offset10:first-child{margin-left:85.6353591160221%;*margin-left:85.52897613729868%;} .row-fluid .offset9{margin-left:79.8342541436464%;*margin-left:79.72787116492299%;} .row-fluid .offset9:first-child{margin-left:77.07182320441989%;*margin-left:76.96544022569647%;} .row-fluid .offset8{margin-left:71.2707182320442%;*margin-left:71.16433525332079%;} .row-fluid .offset8:first-child{margin-left:68.50828729281768%;*margin-left:68.40190431409427%;} .row-fluid .offset7{margin-left:62.70718232044199%;*margin-left:62.600799341718584%;} .row-fluid .offset7:first-child{margin-left:59.94475138121547%;*margin-left:59.838368402492065%;} .row-fluid .offset6{margin-left:54.14364640883978%;*margin-left:54.037263430116376%;} .row-fluid .offset6:first-child{margin-left:51.38121546961326%;*margin-left:51.27483249088986%;} .row-fluid .offset5{margin-left:45.58011049723757%;*margin-left:45.47372751851417%;} .row-fluid .offset5:first-child{margin-left:42.81767955801105%;*margin-left:42.71129657928765%;} .row-fluid .offset4{margin-left:37.01657458563536%;*margin-left:36.91019160691196%;} .row-fluid .offset4:first-child{margin-left:34.25414364640884%;*margin-left:34.14776066768544%;} .row-fluid .offset3{margin-left:28.45303867403315%;*margin-left:28.346655695309746%;} .row-fluid .offset3:first-child{margin-left:25.69060773480663%;*margin-left:25.584224756083227%;} .row-fluid .offset2{margin-left:19.88950276243094%;*margin-left:19.783119783707537%;} .row-fluid .offset2:first-child{margin-left:17.12707182320442%;*margin-left:17.02068884448102%;} .row-fluid .offset1{margin-left:11.32596685082873%;*margin-left:11.219583872105325%;} .row-fluid .offset1:first-child{margin-left:8.56353591160221%;*margin-left:8.457152932878806%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:20px;} input.span12, textarea.span12, .uneditable-input.span12{width:710px;} input.span11, textarea.span11, .uneditable-input.span11{width:648px;} input.span10, textarea.span10, .uneditable-input.span10{width:586px;} input.span9, textarea.span9, .uneditable-input.span9{width:524px;} input.span8, textarea.span8, .uneditable-input.span8{width:462px;} input.span7, textarea.span7, .uneditable-input.span7{width:400px;} input.span6, textarea.span6, .uneditable-input.span6{width:338px;} input.span5, textarea.span5, .uneditable-input.span5{width:276px;} input.span4, textarea.span4, .uneditable-input.span4{width:214px;} input.span3, textarea.span3, .uneditable-input.span3{width:152px;} input.span2, textarea.span2, .uneditable-input.span2{width:90px;} input.span1, textarea.span1, .uneditable-input.span1{width:28px;}}@media (min-width:1200px){.row{margin-left:-30px;*zoom:1;}.row:before,.row:after{display:table;content:"";line-height:0;} .row:after{clear:both;} [class*="span"]{float:left;min-height:1px;margin-left:30px;} .container,.navbar-static-top .container,.navbar-fixed-top .container,.navbar-fixed-bottom .container{width:1170px;} .span12{width:1170px;} .span11{width:1070px;} .span10{width:970px;} .span9{width:870px;} .span8{width:770px;} .span7{width:670px;} .span6{width:570px;} .span5{width:470px;} .span4{width:370px;} .span3{width:270px;} .span2{width:170px;} .span1{width:70px;} .offset12{margin-left:1230px;} .offset11{margin-left:1130px;} .offset10{margin-left:1030px;} .offset9{margin-left:930px;} .offset8{margin-left:830px;} .offset7{margin-left:730px;} .offset6{margin-left:630px;} .offset5{margin-left:530px;} .offset4{margin-left:430px;} .offset3{margin-left:330px;} .offset2{margin-left:230px;} .offset1{margin-left:130px;} .row-fluid{width:100%;*zoom:1;}.row-fluid:before,.row-fluid:after{display:table;content:"";line-height:0;} .row-fluid:after{clear:both;} .row-fluid [class*="span"]{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;margin-left:2.564102564102564%;*margin-left:2.5109110747408616%;} .row-fluid [class*="span"]:first-child{margin-left:0;} .row-fluid .controls-row [class*="span"]+[class*="span"]{margin-left:2.564102564102564%;} .row-fluid .span12{width:100%;*width:99.94680851063829%;} .row-fluid .span11{width:91.45299145299145%;*width:91.39979996362975%;} .row-fluid .span10{width:82.90598290598291%;*width:82.8527914166212%;} .row-fluid .span9{width:74.35897435897436%;*width:74.30578286961266%;} .row-fluid .span8{width:65.81196581196582%;*width:65.75877432260411%;} .row-fluid .span7{width:57.26495726495726%;*width:57.21176577559556%;} .row-fluid .span6{width:48.717948717948715%;*width:48.664757228587014%;} .row-fluid .span5{width:40.17094017094017%;*width:40.11774868157847%;} .row-fluid .span4{width:31.623931623931625%;*width:31.570740134569924%;} .row-fluid .span3{width:23.076923076923077%;*width:23.023731587561375%;} .row-fluid .span2{width:14.52991452991453%;*width:14.476723040552828%;} .row-fluid .span1{width:5.982905982905983%;*width:5.929714493544281%;} .row-fluid .offset12{margin-left:105.12820512820512%;*margin-left:105.02182214948171%;} .row-fluid .offset12:first-child{margin-left:102.56410256410257%;*margin-left:102.45771958537915%;} .row-fluid .offset11{margin-left:96.58119658119658%;*margin-left:96.47481360247316%;} .row-fluid .offset11:first-child{margin-left:94.01709401709402%;*margin-left:93.91071103837061%;} .row-fluid .offset10{margin-left:88.03418803418803%;*margin-left:87.92780505546462%;} .row-fluid .offset10:first-child{margin-left:85.47008547008548%;*margin-left:85.36370249136206%;} .row-fluid .offset9{margin-left:79.48717948717949%;*margin-left:79.38079650845607%;} .row-fluid .offset9:first-child{margin-left:76.92307692307693%;*margin-left:76.81669394435352%;} .row-fluid .offset8{margin-left:70.94017094017094%;*margin-left:70.83378796144753%;} .row-fluid .offset8:first-child{margin-left:68.37606837606839%;*margin-left:68.26968539734497%;} .row-fluid .offset7{margin-left:62.393162393162385%;*margin-left:62.28677941443899%;} .row-fluid .offset7:first-child{margin-left:59.82905982905982%;*margin-left:59.72267685033642%;} .row-fluid .offset6{margin-left:53.84615384615384%;*margin-left:53.739770867430444%;} .row-fluid .offset6:first-child{margin-left:51.28205128205128%;*margin-left:51.175668303327875%;} .row-fluid .offset5{margin-left:45.299145299145295%;*margin-left:45.1927623204219%;} .row-fluid .offset5:first-child{margin-left:42.73504273504273%;*margin-left:42.62865975631933%;} .row-fluid .offset4{margin-left:36.75213675213675%;*margin-left:36.645753773413354%;} .row-fluid .offset4:first-child{margin-left:34.18803418803419%;*margin-left:34.081651209310785%;} .row-fluid .offset3{margin-left:28.205128205128204%;*margin-left:28.0987452264048%;} .row-fluid .offset3:first-child{margin-left:25.641025641025642%;*margin-left:25.53464266230224%;} .row-fluid .offset2{margin-left:19.65811965811966%;*margin-left:19.551736679396257%;} .row-fluid .offset2:first-child{margin-left:17.094017094017094%;*margin-left:16.98763411529369%;} .row-fluid .offset1{margin-left:11.11111111111111%;*margin-left:11.004728132387708%;} .row-fluid .offset1:first-child{margin-left:8.547008547008547%;*margin-left:8.440625568285142%;} input,textarea,.uneditable-input{margin-left:0;} .controls-row [class*="span"]+[class*="span"]{margin-left:30px;} input.span12, textarea.span12, .uneditable-input.span12{width:1156px;} input.span11, textarea.span11, .uneditable-input.span11{width:1056px;} input.span10, textarea.span10, .uneditable-input.span10{width:956px;} input.span9, textarea.span9, .uneditable-input.span9{width:856px;} input.span8, textarea.span8, .uneditable-input.span8{width:756px;} input.span7, textarea.span7, .uneditable-input.span7{width:656px;} input.span6, textarea.span6, .uneditable-input.span6{width:556px;} input.span5, textarea.span5, .uneditable-input.span5{width:456px;} input.span4, textarea.span4, .uneditable-input.span4{width:356px;} input.span3, textarea.span3, .uneditable-input.span3{width:256px;} input.span2, textarea.span2, .uneditable-input.span2{width:156px;} input.span1, textarea.span1, .uneditable-input.span1{width:56px;} .thumbnails{margin-left:-30px;} .thumbnails>li{margin-left:30px;} .row-fluid .thumbnails{margin-left:0;}}
|
@@ -0,0 +1,172 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html>
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Публичная порка типографов 2.0</title>
|
6
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
7
|
+
<meta name="description" content="Публичная порка типографов 2.0. Конкурс на самый лучший типограф.">
|
8
|
+
<link href="bootstrap.min.css" rel="stylesheet">
|
9
|
+
<link href="slabtext.css" rel="stylesheet">
|
10
|
+
<link href='http://fonts.googleapis.com/css?family=Neucha&subset=cyrillic' rel='stylesheet'>
|
11
|
+
<style>
|
12
|
+
.promo h1 {
|
13
|
+
font-family:'Neucha', cursive;
|
14
|
+
color:#fff;
|
15
|
+
text-shadow: 0px 15px 5px rgba(0,0,0,0.1),
|
16
|
+
10px 20px 5px rgba(0,0,0,0.05),
|
17
|
+
-10px 20px 5px rgba(0,0,0,0.05);
|
18
|
+
}
|
19
|
+
h2 {
|
20
|
+
font-family:'Neucha', cursive;
|
21
|
+
color:#bc3852;
|
22
|
+
}
|
23
|
+
.promo {
|
24
|
+
box-shadow:inset 0 0 15px #000;
|
25
|
+
background: #bc3852 url(bak.png) no-repeat center center fixed;
|
26
|
+
-webkit-background-size: cover;
|
27
|
+
-moz-background-size: cover;
|
28
|
+
-o-background-size: cover;
|
29
|
+
background-size: cover;
|
30
|
+
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='.bak.png', sizingMethod='scale');
|
31
|
+
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='bak.png', sizingMethod='scale')"
|
32
|
+
}
|
33
|
+
</style>
|
34
|
+
</head>
|
35
|
+
<body>
|
36
|
+
<!-- <a href="https://github.com/stereobooster/multi_typograf"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_white_ffffff.png" alt="Fork me on GitHub"></a> -->
|
37
|
+
<div class="promo">
|
38
|
+
<div class="container">
|
39
|
+
<br><br>
|
40
|
+
<div class="row">
|
41
|
+
<div class="span8">
|
42
|
+
<h1>Публичная порка</h1>
|
43
|
+
<h1>типографов</h1>
|
44
|
+
</div>
|
45
|
+
<div class="span4">
|
46
|
+
<h1>2.0</h1>
|
47
|
+
</div>
|
48
|
+
</div>
|
49
|
+
<br>
|
50
|
+
<div class="row">
|
51
|
+
<div class="span4 offset4">
|
52
|
+
<iframe src="http://ghbtns.com/github-btn.html?user=stereobooster&repo=multi_typograf&type=watch&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="170" height="30"></iframe>
|
53
|
+
<iframe src="http://ghbtns.com/github-btn.html?user=stereobooster&repo=multi_typograf&type=fork&count=true&size=large" allowtransparency="true" frameborder="0" scrolling="0" width="170" height="30"></iframe>
|
54
|
+
</div>
|
55
|
+
</div>
|
56
|
+
<br>
|
57
|
+
</div>
|
58
|
+
</div>
|
59
|
+
<div class="container">
|
60
|
+
<br>
|
61
|
+
<div class="row">
|
62
|
+
<div class="span4">
|
63
|
+
<h2>Предыстория</h2>
|
64
|
+
<p>Данный эксперимент был вдохновлен <a href="http://typograf.ru/flog/">публичной поркой <nobr>он-лайн</nobr> типографов</a> Евгения Лепёшкина. Огромное ему спасибо за тестовые данные и за <a href="http://typograf.ru/">Типограф</a><br>
|
65
|
+
Хотелось повторить давний эксперимент (последний раз он проводился аж 2009). Хотелось поучаствовать в конкурсе со своим типографом.</p>
|
66
|
+
</div>
|
67
|
+
<div class="span4">
|
68
|
+
<h2>Технические детали</h2>
|
69
|
+
<p>Каждый типограф участвующий в эксперименте реализован как ruby gem. Все эти типографы подключаются в другой gem (<a href="https://github.com/stereobooster/multi_typograf">multi_typograf</a>), который выступает декоратором для разных движков типографирования. Так же этот gem содержит скрипт для генерации этого отчета. Отчет генерируется в результате запуска <a href="https://github.com/stereobooster/multi_typograf/blob/master/report/report_shared_example.rb">тестов (rpesc)</a> для каждого gem.</p>
|
70
|
+
</div>
|
71
|
+
<div class="span4">
|
72
|
+
<h2>Помогите проекту</h2>
|
73
|
+
<p>Чем можно помочь:
|
74
|
+
<ul>
|
75
|
+
<li>Предлагайте те<b>к</b>сты для <a href="https://github.com/stereobooster/multi_typograf/blob/master/report/report_shared_example.rb">тесткейсов</a> (Pull Request или <a href="https://github.com/stereobooster/multi_typograf/issues">тикет</a>)</li>
|
76
|
+
<li>Можно реализовать gem для других претендентов</li>
|
77
|
+
<li>Исправления или уточнения документации</li>
|
78
|
+
</ul>
|
79
|
+
</p>
|
80
|
+
</div>
|
81
|
+
</div>
|
82
|
+
<div class="row">
|
83
|
+
<div class="span12">
|
84
|
+
<h2>Испытуемые</h2>
|
85
|
+
<p><a href="https://github.com/stereobooster/art_typograf"><b>art_typograf</b></a> — <a href="http://www.artlebedev.ru/tools/typograf/">типограф Aртмеия Лебедева</a></p>
|
86
|
+
<p><a href="https://github.com/stereobooster/typograf"><b>typograf</b></a> — <a href="http://typograf.ru/">Типограф Евгения Лепёшкина</a></p>
|
87
|
+
<br>
|
88
|
+
<table class="table table-striped">
|
89
|
+
{% table %}
|
90
|
+
</table>
|
91
|
+
<br><br>
|
92
|
+
</div>
|
93
|
+
</div>
|
94
|
+
<div class="row">
|
95
|
+
<div class="span12">
|
96
|
+
<div id="disqus_thread"></div>
|
97
|
+
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
98
|
+
<a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
|
99
|
+
</div>
|
100
|
+
</div>
|
101
|
+
<div class="row">
|
102
|
+
<div class="span7 offset3">
|
103
|
+
Дата обновления: {% date %}; <nobr>Коммит: <a href="https://github.com/stereobooster/multi_typograf/commit/{% sha %}">{% sha %}</a></nobr>
|
104
|
+
<br><br>
|
105
|
+
</div>
|
106
|
+
</div>
|
107
|
+
</div>
|
108
|
+
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script>
|
109
|
+
<script src="jquery.slabtext.min.js"></script>
|
110
|
+
<script>
|
111
|
+
var disqus_shortname = 'method67';
|
112
|
+
var _gaq=[
|
113
|
+
['_addOrganic','bing.com','q'],
|
114
|
+
['_addOrganic','images.yandex.ru','text'],
|
115
|
+
['_addOrganic','blogs.yandex.ru','text'],
|
116
|
+
['_addOrganic','video.yandex.ru','text'],
|
117
|
+
['_addOrganic','mail.ru','q'],
|
118
|
+
['_addOrganic','go.mail.ru','q'],
|
119
|
+
['_addOrganic','rambler.ru','words'],
|
120
|
+
['_addOrganic','nova.rambler.ru','query'],
|
121
|
+
['_addOrganic','nova.rambler.ru','words'],
|
122
|
+
['_addOrganic','gogo.ru','q'],
|
123
|
+
['_addOrganic','nigma.ru','s'],
|
124
|
+
['_addOrganic','search.qip.ru','query'],
|
125
|
+
['_addOrganic','webalta.ru','q'],
|
126
|
+
['_addOrganic','sm.aport.ru','r'],
|
127
|
+
['_addOrganic','meta.ua','q'],
|
128
|
+
['_addOrganic','search.bigmir.net','z'],
|
129
|
+
['_addOrganic','search.i.ua','q'],
|
130
|
+
['_addOrganic','index.online.ua','q'],
|
131
|
+
['_addOrganic','web20.a.ua','query'],
|
132
|
+
['_addOrganic','search.ukr.net','search_query'],
|
133
|
+
['_addOrganic','search.com.ua','q'],
|
134
|
+
['_addOrganic','search.ua','q'],
|
135
|
+
['_addOrganic','poisk.ru','text'],
|
136
|
+
['_addOrganic','go.km.ru','sq'],
|
137
|
+
['_addOrganic','liveinternet.ru','ask'],
|
138
|
+
['_addOrganic','gde.ru','keywords'],
|
139
|
+
['_addOrganic','affiliates.quintura.com','request'],
|
140
|
+
['_addOrganic','akavita.by','z'],
|
141
|
+
['_addOrganic','search.tut.by','query'],
|
142
|
+
['_addOrganic','all.by','query'],
|
143
|
+
['_addOrganic','ukr.net','search_query'],
|
144
|
+
['_addOrganic','quintura.ru','request'],
|
145
|
+
['_addOrganic','qip.ru','query'],
|
146
|
+
['_addOrganic','metabot.ru','st'],
|
147
|
+
['_addOrganic','i.ua','q'],
|
148
|
+
['_addOrganic','a.ua','s'],
|
149
|
+
['_setAccount','UA-23778458-1'],
|
150
|
+
['_trackPageview']];
|
151
|
+
var addthis_config = {
|
152
|
+
data_ga_property: 'UA-23778458-1',
|
153
|
+
data_ga_social: true
|
154
|
+
};
|
155
|
+
|
156
|
+
$(window).load(function() {
|
157
|
+
$("h1").slabText({
|
158
|
+
"viewportBreakpoint":380
|
159
|
+
});
|
160
|
+
|
161
|
+
(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
|
162
|
+
g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
|
163
|
+
s.parentNode.insertBefore(g,s)}(document,'script'));
|
164
|
+
|
165
|
+
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
166
|
+
dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
|
167
|
+
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
168
|
+
});
|
169
|
+
</script>
|
170
|
+
<!-- <script src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4f032ec338067ecc"></script> -->
|
171
|
+
</body>
|
172
|
+
</html>
|
@@ -0,0 +1,2 @@
|
|
1
|
+
/*! jQuery slabtext plugin v2.2 MIT/GPL2 @freqdec */
|
2
|
+
(function($){$.fn.slabText=function(options){var settings={fontRatio:0.78,forceNewCharCount:true,wrapAmpersand:true,headerBreakpoint:null,viewportBreakpoint:null,noResizeEvent:false,resizeThrottleTime:300,maxFontSize:999,postTweak:true,precision:3,minCharsPerLine:0};$("body").addClass("slabtexted");return this.each(function(){if(options){$.extend(settings,options);}var $this=$(this),keepSpans=$("span.slabtext",$this).length,words=keepSpans?[]:String($.trim($this.text())).replace(/\s{2,}/g," ").split(" "),origFontSize=null,idealCharPerLine=null,fontRatio=settings.fontRatio,forceNewCharCount=settings.forceNewCharCount,headerBreakpoint=settings.headerBreakpoint,viewportBreakpoint=settings.viewportBreakpoint,postTweak=settings.postTweak,precision=settings.precision,resizeThrottleTime=settings.resizeThrottleTime,minCharsPerLine=settings.minCharsPerLine,resizeThrottle=null,viewportWidth=$(window).width(),headLink=$this.find("a:first").attr("href")||$this.attr("href"),linkTitle=headLink?$this.find("a:first").attr("title"):"";if(!keepSpans&&minCharsPerLine&&words.join(" ").length<minCharsPerLine){return;}var grabPixelFontSize=function(){var dummy=jQuery('<div style="display:none;font-size:1em;margin:0;padding:0;height:auto;line-height:1;border:0;"> </div>').appendTo($this),emH=dummy.height();dummy.remove();return emH;};var resizeSlabs=function resizeSlabs(){var parentWidth=$this.width(),fs;$this.removeClass("slabtextdone slabtextinactive");if(viewportBreakpoint&&viewportBreakpoint>viewportWidth||headerBreakpoint&&headerBreakpoint>parentWidth){$this.addClass("slabtextinactive");return;}fs=grabPixelFontSize();if(!keepSpans&&(forceNewCharCount||fs!=origFontSize)){origFontSize=fs;var newCharPerLine=Math.min(60,Math.floor(parentWidth/(origFontSize*fontRatio))),wordIndex=0,lineText=[],counter=0,preText="",postText="",finalText="",slice,preDiff,postDiff;if(newCharPerLine!=idealCharPerLine){idealCharPerLine=newCharPerLine;while(wordIndex<words.length){postText="";while(postText.length<idealCharPerLine){preText=postText;postText+=words[wordIndex]+" ";if(++wordIndex>=words.length){break;}}if(minCharsPerLine){slice=words.slice(wordIndex).join(" ");if(slice.length<minCharsPerLine){postText+=slice;preText=postText;wordIndex=words.length+2;}}preDiff=idealCharPerLine-preText.length;postDiff=postText.length-idealCharPerLine;if((preDiff<postDiff)&&(preText.length>=(minCharsPerLine||2))){finalText=preText;wordIndex--;}else{finalText=postText;}finalText=$("<div/>").text(finalText).html();if(settings.wrapAmpersand){finalText=finalText.replace(/&/g,'<span class="amp">&</span>');}finalText=$.trim(finalText);lineText.push('<span class="slabtext">'+finalText+"</span>");}$this.html(lineText.join(" "));if(headLink){$this.wrapInner('<a href="'+headLink+'" '+(linkTitle?'title="'+linkTitle+'" ':"")+"/>");}}}else{origFontSize=fs;}$("span.slabtext",$this).each(function(){var $span=$(this),innerText=$span.text(),wordSpacing=innerText.split(" ").length>1,diff,ratio,fontSize;if(postTweak){$span.css({"word-spacing":0,"letter-spacing":0});}ratio=parentWidth/$span.width();fontSize=parseFloat(this.style.fontSize)||origFontSize;$span.css("font-size",Math.min((fontSize*ratio).toFixed(precision),settings.maxFontSize)+"px");diff=!!postTweak?parentWidth-$span.width():false;if(diff){$span.css((wordSpacing?"word":"letter")+"-spacing",(diff/(wordSpacing?innerText.split(" ").length-1:innerText.length)).toFixed(precision)+"px");}});$this.addClass("slabtextdone");};resizeSlabs();if(!settings.noResizeEvent){$(window).resize(function(){if($(window).width()==viewportWidth){return;}viewportWidth=$(window).width();clearTimeout(resizeThrottle);resizeThrottle=setTimeout(resizeSlabs,resizeThrottleTime);});}});};})(jQuery);
|
@@ -0,0 +1 @@
|
|
1
|
+
.slabtexted .slabtext{display:-moz-inline-box;display:inline-block;white-space:nowrap}.slabtextinactive .slabtext{display:inline;white-space:normal;font-size:1em !important;letter-spacing:inherit !important;word-spacing:inherit !important;*letter-spacing:0 !important;*word-spacing:0 !important;}.slabtextdone .slabtext{display:block;line-height:0.9;}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
shared_examples_for "an adapter" do |adapter|
|
4
|
+
|
5
|
+
before do
|
6
|
+
begin
|
7
|
+
MultiTypograf.use adapter
|
8
|
+
rescue LoadError
|
9
|
+
pending "Adapter #{adapter} couldn't be loaded (not installed?)"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
OPT = {
|
14
|
+
:use_p => false, :use_br => false, :entity_type => :html,
|
15
|
+
:nowraped => {:nonbsp => 0}, :paragraph => {:insert => 0}, :symbols => 0
|
16
|
+
} unless defined? OPT
|
17
|
+
|
18
|
+
describe '.process' do
|
19
|
+
|
20
|
+
it 'It works' do
|
21
|
+
text = "В этом тексте много пробелов."
|
22
|
+
text_processed = 'В этом тексте много пробелов.'
|
23
|
+
MultiTypograf.process(text, OPT).should eq text_processed
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
end
|
data/spec/helper.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
def macruby?
|
2
|
+
defined?(RUBY_ENGINE) && RUBY_ENGINE == 'macruby'
|
3
|
+
end
|
4
|
+
|
5
|
+
unless ENV['CI'] || macruby?
|
6
|
+
require 'simplecov'
|
7
|
+
SimpleCov.start do
|
8
|
+
add_filter 'spec'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
require 'multi_typograf'
|
13
|
+
require 'rspec'
|
14
|
+
|
15
|
+
class MockDecoder
|
16
|
+
def self.procces(string, options={})
|
17
|
+
'test'
|
18
|
+
end
|
19
|
+
end
|