Comments (4)
I cannot reproduce this. I've added some tests that tests exactly this, and they all pass.
Can we rule out that GMail isn't stripping certain style rules in their sanitation of the HTML? You can generate an email through the rails console and then inspect the output:
$ bundle exec rails console
irb> mail = YourMailer.your_action(object)
irb> File.open('test.html') { |f| f << mail.html_part.body.decoded }
irb> ^D
$ cat test.html
If this still turns out to be negative, please supply your Gemfile.lock
from roadie.
Strange. There are some css stylings coming through, but not all. However, the ones that ARE actually generating out properly are stripped out by Gmail. For my purposes, I believe I'll have to take a different approach. Either way, here's the info you asked for:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" style="margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline">
<head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
<body style='margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;line-height:1;background:#ededed;font-family:"Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", "Trebuchet MS", sans-serif'><div class="team_weekly_report" style="padding:0;font-size:100%;font:inherit;vertical-align:baseline;background:white;border:1px solid #d9d9d9;width:700px;margin:20px auto">
<div class="first_block" style="margin:0;padding:0;font-size:100%;vertical-align:baseline;font:inherit;background:#f2f2f2;border:1px solid #d9d9d9">
<div class="goal_stats" style="padding:0;border:0;vertical-align:baseline;font:inherit;font-size:100%;margin:10px 3px">
<table style="margin:0;padding:0;border:0;font-size:100%;border-spacing:0;vertical-align:baseline;border-collapse:collapse;font:inherit;width:100%"><tr style="margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline">
<td style="margin:0;padding:0;border:0;font-size:100%;font:inherit;text-align:left;font-weight:normal;vertical-align:middle">
<div style="font:inherit;vertical-align:baseline;background:#41a0cf;border:1px solid #1f88bd;color:white;font-size:11px;margin:0 7px;padding:15px;text-transform:uppercase">
<strong style="margin:0;padding:0;border:0;vertical-align:baseline;font:inherit;display:block;font-size:44px;margin-bottom:15px">81 Days</strong>
Average Goal Duration
</div>
</td>
<td style="margin:0;padding:0;border:0;font-size:100%;font:inherit;text-align:left;font-weight:normal;vertical-align:middle">
<div style="font:inherit;vertical-align:baseline;background:#41a0cf;border:1px solid #1f88bd;color:white;font-size:11px;margin:0 7px;padding:15px;text-transform:uppercase">
<strong style="margin:0;padding:0;border:0;vertical-align:baseline;font:inherit;display:block;font-size:44px;margin-bottom:15px">0/wk</strong>
Interactions
</div>
</td>
<td style="margin:0;padding:0;border:0;font-size:100%;font:inherit;text-align:left;font-weight:normal;vertical-align:middle">
<div style="font:inherit;vertical-align:baseline;background:#41a0cf;border:1px solid #1f88bd;color:white;font-size:11px;margin:0 7px;padding:15px;text-transform:uppercase">
<strong style="margin:0;padding:0;border:0;vertical-align:baseline;font:inherit;display:block;font-size:44px;margin-bottom:15px">0</strong>
Goals Acheived
</div>
</td>
</tr></table>
</div>
<div class="goal_track" style="padding:0;border:0;vertical-align:baseline;font:inherit;font-size:100%;margin:10px">
<div class="title" style="margin:0;padding:0;border:0;vertical-align:baseline;font:inherit;color:#8c8c8c;font-size:11px;margin-bottom:10px">
<strong style="margin:0;padding:0;border:0;vertical-align:baseline;font:inherit;color:#222222;font-size:13px">Goal Track</strong>
Based on weekly activity
</div>
<div class="table_wrapper" style="margin:0;font-size:100%;font:inherit;vertical-align:baseline;border:1px solid #d9d8d8;background:white;-moz-border-radius:2px;-webkit-border-radius:2px;-o-border-radius:2px;-ms-border-radius:2px;-khtml-border-radius:2px;border-radius:2px;padding:2px">
<table style="margin:0;padding:0;border:0;font-size:100%;font:inherit;border-spacing:0;border-collapse:collapse;vertical-align:baseline;width:100%;margin-bottom:5px"><tbody style="margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline">
<tr style="margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline">
<td class="complete" style="margin:0;padding:0;border:0;font:inherit;vertical-align:middle;font-weight:normal;text-align:left;color:white;font-size:16px;background:linear-gradient(#81c636, #52a515), #52a515">
<div style="padding:0;border:0;vertical-align:baseline;font:inherit;font-size:100%;margin:5px">3</div>
</td>
<td class="active" style="margin:0;padding:0;border:0;font:inherit;vertical-align:middle;font-weight:normal;text-align:left;color:white;font-size:16px;background:#2c86be, linear-gradient(#59b0d8, #2c86be)">
<div style="padding:0;border:0;vertical-align:baseline;font:inherit;font-size:100%;margin:5px">2</div>
</td>
<td class="not_updated" style="margin:0;padding:0;border:0;font:inherit;vertical-align:middle;font-weight:normal;text-align:left;color:white;font-size:16px;background:#f16e23, linear-gradient(#f79d4d, #f16e23)">
<div style="padding:0;border:0;vertical-align:baseline;font:inherit;font-size:100%;margin:5px">2</div>
</td>
</tr>
<tr style="margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline">
<th class="complete" style="margin:0;border:0;font:inherit;vertical-align:middle;font-weight:normal;text-align:left;color:#9a9a9a;font-size:11px;padding:5px 0 0 5px">Complete</th>
<th class="active" style="margin:0;border:0;font:inherit;vertical-align:middle;font-weight:normal;text-align:left;color:#9a9a9a;font-size:11px;padding:5px 0 0 5px">Active</th>
<th class="not_updated" style="margin:0;border:0;font:inherit;vertical-align:middle;font-weight:normal;text-align:left;color:#9a9a9a;font-size:11px;padding:5px 0 0 5px">Not updated</th>
</tr>
</tbody></table>
</div>
</div>
</div>
</div></body>
</html>
/* line 17, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* line 20, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
body {
line-height: 1;
}
/* line 22, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
ol, ul {
list-style: none;
}
/* line 24, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
table {
border-collapse: collapse;
border-spacing: 0;
}
/* line 26, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
caption, th, td {
text-align: left;
font-weight: normal;
vertical-align: middle;
}
/* line 28, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q, blockquote {
quotes: none;
}
/* line 101, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
q:before, q:after, blockquote:before, blockquote:after {
content: "";
content: none;
}
/* line 30, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
a img {
border: none;
}
/* line 114, ../../../../../../../.rvm/gems/ruby-1.9.2-p290@worksimple/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
display: block;
}
/* line 5, ../../../../app/stylesheets/emails/team_weekly_report.sass */
body {
background: #ededed;
font-family: "Lucida Grande", "Lucida Sans", "Lucida Sans Unicode", "Trebuchet MS", sans-serif;
}
/* line 9, ../../../../app/stylesheets/emails/team_weekly_report.sass */
body table {
width: 100%;
}
/* line 12, ../../../../app/stylesheets/emails/team_weekly_report.sass */
.team_weekly_report {
background: white;
border: 1px solid #d9d9d9;
width: 700px;
margin: 20px auto;
}
/* line 18, ../../../../app/stylesheets/emails/team_weekly_report.sass */
.team_weekly_report .first_block {
background: #f2f2f2;
border: 1px solid #d9d9d9;
}
/* line 1, ../../../../app/stylesheets/emails/_goal_stats.sass */
.goal_stats {
margin: 10px 3px;
}
/* line 6, ../../../../app/stylesheets/emails/_goal_stats.sass */
.goal_stats table tr td div {
background: #41a0cf;
border: 1px solid #1f88bd;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-o-border-radius: 2px;
-ms-border-radius: 2px;
-khtml-border-radius: 2px;
border-radius: 2px;
color: white;
font-size: 11px;
margin: 0 7px;
padding: 15px;
text-transform: uppercase;
-moz-box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
-webkit-box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
-o-box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
box-shadow: #62b0d7 1px 1px 1px 1px inset, #aaaaaa 1px 1px 3px 0;
}
/* line 17, ../../../../app/stylesheets/emails/_goal_stats.sass */
.goal_stats table tr td div strong {
display: block;
font-size: 44px;
margin-bottom: 15px;
}
/* line 1, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track {
margin: 10px;
}
/* line 4, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .title {
color: #8c8c8c;
font-size: 11px;
margin-bottom: 10px;
}
/* line 9, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .title strong {
color: #222222;
font-size: 13px;
}
/* line 13, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper {
background: white;
border: 1px solid #d9d8d8;
-moz-border-radius: 2px;
-webkit-border-radius: 2px;
-o-border-radius: 2px;
-ms-border-radius: 2px;
-khtml-border-radius: 2px;
border-radius: 2px;
padding: 2px;
}
/* line 19, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table {
margin-bottom: 5px;
}
/* line 22, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr td {
color: white;
font-size: 16px;
}
/* line 26, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr td:first-child {
-moz-border-radius: 2px 0 0 2px;
-webkit-border-radius: 2px 0 0 2px;
-o-border-radius: 2px 0 0 2px;
-ms-border-radius: 2px 0 0 2px;
-khtml-border-radius: 2px 0 0 2px;
border-radius: 2px 0 0 2px;
}
/* line 29, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr td:last-child {
-moz-border-radius: 0 2px 2px 0;
-webkit-border-radius: 0 2px 2px 0;
-o-border-radius: 0 2px 2px 0;
-ms-border-radius: 0 2px 2px 0;
-khtml-border-radius: 0 2px 2px 0;
border-radius: 0 2px 2px 0;
}
/* line 32, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr td.complete {
background: #52a515;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #81c636), color-stop(100%, #52a515));
background: -webkit-linear-gradient(#81c636, #52a515);
background: -moz-linear-gradient(#81c636, #52a515);
background: -o-linear-gradient(#81c636, #52a515);
background: -ms-linear-gradient(#81c636, #52a515);
background: linear-gradient(#81c636, #52a515);
}
/* line 35, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr td.active {
background: #2c86be;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #59b0d8), color-stop(100%, #2c86be));
background: -webkit-linear-gradient(#59b0d8, #2c86be);
background: -moz-linear-gradient(#59b0d8, #2c86be);
background: -o-linear-gradient(#59b0d8, #2c86be);
background: -ms-linear-gradient(#59b0d8, #2c86be);
background: linear-gradient(#59b0d8, #2c86be);
}
/* line 38, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr td.not_updated {
background: #f16e23;
background: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #f79d4d), color-stop(100%, #f16e23));
background: -webkit-linear-gradient(#f79d4d, #f16e23);
background: -moz-linear-gradient(#f79d4d, #f16e23);
background: -o-linear-gradient(#f79d4d, #f16e23);
background: -ms-linear-gradient(#f79d4d, #f16e23);
background: linear-gradient(#f79d4d, #f16e23);
}
/* line 42, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr td div {
margin: 5px;
}
/* line 45, ../../../../app/stylesheets/emails/_goal_track.sass */
.goal_track .table_wrapper table tr th {
color: #9a9a9a;
font-size: 11px;
padding: 5px 0 0 5px;
}
GIT
remote: git://github.com/WorkSimple/marketo.git
revision: 4d1864dc9d764b8cf2c73d7f0b2ce92f3430f911
specs:
marketo (0.1.1)
rubyjedi-soap4r
GIT
remote: git://github.com/WorkSimple/sendgrid.git
revision: f2a780a406746d0207c7411db03d31c2bb876bcf
ref: f2a780a406746d0207c7411db03d31c2bb876bcf
specs:
sendgrid (0.1.5)
json
GIT
remote: git://github.com/thedarkone/rails-dev-boost.git
revision: 46fd99659f6a192f0a60557f459ca70dbfac3e6e
specs:
rails-dev-boost (0.1.1)
GEM
remote: http://rubygems.org/
specs:
POpen4 (0.1.4)
Platform (>= 0.4.0)
open4
Platform (0.4.0)
aasm (2.2.0)
abstract (1.0.0)
actionmailer (3.0.10)
actionpack (= 3.0.10)
mail (~> 2.2.19)
actionpack (3.0.10)
activemodel (= 3.0.10)
activesupport (= 3.0.10)
builder (~> 2.1.2)
erubis (~> 2.6.6)
i18n (~> 0.5.0)
rack (~> 1.2.1)
rack-mount (~> 0.6.14)
rack-test (~> 0.5.7)
tzinfo (~> 0.3.23)
activemodel (3.0.10)
activesupport (= 3.0.10)
builder (~> 2.1.2)
i18n (~> 0.5.0)
activerecord (3.0.10)
activemodel (= 3.0.10)
activesupport (= 3.0.10)
arel (~> 2.0.10)
tzinfo (~> 0.3.23)
activeresource (3.0.10)
activemodel (= 3.0.10)
activesupport (= 3.0.10)
activesupport (3.0.10)
acts-as-dag (2.5.5)
acts_as_audited_rails3 (1.1.2)
activerecord (>= 2.1)
addressable (2.2.6)
annotate (2.4.0)
arel (2.0.10)
authlogic (3.0.3)
activerecord (>= 3.0.7)
activerecord (>= 3.0.7)
awesome_nested_set (2.0.1)
activerecord (>= 3.0.0)
awesome_print (0.4.0)
aws-s3 (0.6.2)
builder
mime-types
xml-simple
builder (2.1.2)
bullet (2.0.1)
uniform_notifier (~> 1.0.0)
carmen (0.2.8)
chargify_api_ares (0.4.0)
chronic (0.6.2)
chunky_png (1.2.1)
ci_reporter (1.6.5)
builder (>= 2.1.2)
cocaine (0.2.0)
comma (0.4.1)
activesupport (>= 2.2.2)
compass (0.11.5)
chunky_png (~> 1.2)
fssm (>= 0.2.7)
sass (~> 3.1)
configatron (2.8.2)
yamler (>= 0.1.0)
cover_me (1.1.2)
configatron
hashie
css_parser (1.1.9)
daemons (1.1.4)
dalli (1.0.5)
delayed_job (2.1.4)
activesupport (~> 3.0)
daemons
delayed_job_admin (1.0.3)
delayed_job
rails
differ (0.1.2)
dynamic_form (1.1.4)
erubis (2.6.6)
abstract (>= 1.0.0)
ezcrypto (0.7.2)
factory_girl (2.0.4)
factory_girl_rails (1.1.0)
factory_girl (~> 2.0.0)
railties (>= 3.0.0)
fakeweb (1.3.0)
forgery (0.3.12)
nokogiri (~> 1.4)
formtastic (1.2.4)
actionpack (>= 2.3.7)
activesupport (>= 2.3.7)
i18n (~> 0.4)
fssm (0.2.7)
haml (3.1.2)
hashie (1.1.0)
hirb (0.5.0)
hoptoad_notifier (2.4.11)
activesupport
builder
htmlentities (4.3.0)
httpclient (2.1.5.2)
i18n (0.5.0)
jammit (0.6.3)
yui-compressor (>= 0.9.3)
jquery-rails (1.0.13)
railties (~> 3.0)
thor (~> 0.14)
json (1.5.3)
kgio (2.6.0)
lighthouse (2.1.0)
activeresource (>= 3.0.0)
activesupport (>= 3.0.0)
mail (2.2.19)
activesupport (>= 2.3.6)
i18n (>= 0.4.0)
mime-types (~> 1.16)
treetop (~> 1.4.8)
mime-types (1.16)
mocha (0.9.12)
multipass (1.2.3)
ezcrypto
mysql2 (0.2.13)
newrelic_rpm (3.1.1)
nokogiri (1.5.0)
open4 (1.1.0)
paperclip (2.3.16)
activerecord (>= 2.3.0)
activesupport (>= 2.3.2)
cocaine (>= 0.0.2)
mime-types
polyglot (0.3.2)
rack (1.2.3)
rack-mount (0.6.14)
rack (>= 1.0.0)
rack-ssl (1.3.2)
rack
rack-test (0.5.7)
rack (>= 1.0)
rails (3.0.10)
actionmailer (= 3.0.10)
actionpack (= 3.0.10)
activerecord (= 3.0.10)
activeresource (= 3.0.10)
activesupport (= 3.0.10)
bundler (~> 1.0)
railties (= 3.0.10)
railties (3.0.10)
actionpack (= 3.0.10)
activesupport (= 3.0.10)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (~> 0.14.4)
raindrops (0.7.0)
rake (0.9.2)
rdoc (3.9.2)
rmagick (2.12.2)
roadie (1.1.0)
actionmailer (~> 3.0.0)
css_parser
nokogiri (>= 1.4.4)
rubyjedi-soap4r (1.5.8.20100619003610)
httpclient (~> 2.1.5.2)
sass (3.1.7)
shoulda (2.11.3)
test-unit (2.3.2)
thor (0.14.6)
treetop (1.4.10)
polyglot
polyglot (>= 0.3.1)
tzinfo (0.3.29)
unicorn (4.0.1)
kgio (~> 2.4)
rack
raindrops (~> 0.6)
uniform_notifier (1.0.1)
userstamp (2.0.1)
will_paginate (3.0.0)
wirble (0.1.3)
xml-simple (1.1.0)
yamler (0.1.0)
yui-compressor (0.9.6)
POpen4 (>= 0.1.4)
PLATFORMS
ruby
DEPENDENCIES
aasm (>= 2.2.0)
acts-as-dag (>= 2.5.5)
acts_as_audited_rails3 (>= 1.1.2)
addressable (>= 2.2.6)
annotate
authlogic (>= 3.0.3)
awesome_nested_set (>= 2.0.1)
awesome_print
aws-s3 (>= 0.6.2)
bullet
carmen (>= 0.2.8)
chargify_api_ares (>= 0.3.9)
chronic (>= 0.4)
ci_reporter
comma (>= 0.4.1)
compass (>= 0.11.1)
cover_me
dalli (>= 1.0.5)
delayed_job (>= 2.1.4)
delayed_job_admin
differ (>= 0.1.2)
dynamic_form (>= 1.1.4)
factory_girl_rails
fakeweb
forgery
formtastic (~> 1.2.3)
haml (>= 3.1)
hirb
hoptoad_notifier (= 2.4.11)
htmlentities (>= 4.3.0)
jammit (>= 0.6.3)
jquery-rails (>= 1.0.3)
lighthouse (>= 2.1.0)
marketo (= 0.1.1)!
mocha
multipass (>= 1.2.3)
mysql2 (~> 0.2.11)
newrelic_rpm (= 3.1.1)
paperclip (>= 2.3.16)
rack-ssl (>= 1.3.2)
rails (= 3.0.10)
rails-dev-boost!
rmagick (~> 2.12.2)
roadie
sendgrid!
shoulda
test-unit
tzinfo (>= 0.3.26)
unicorn (>= 3.7.0)
userstamp (>= 2.0.1)
will_paginate (>= 3.0.pre2)
wirble
from roadie.
I would like you to either do a fork and implement a failing test or supply me with one simple testcase that I can turn in to a formal test myself. I cannot fix anything unless I can narrow it down. :-(
I'll keep this marked as "worksforme" and also close it until then.
from roadie.
I'll see what I can do. Thanks.
from roadie.
Related Issues (20)
- undefined method `children' for nil:NilClass HOT 13
- Support css_parser 1.4.x HOT 2
- Support Outlook's approach to margins HOT 2
- Media queries inlined HOT 9
- Roadie is erratically causing emails to be encoded differently HOT 3
- New release supporting Nokogiri 1.7? HOT 2
- Weird issue with content: '•'; in my CSS HOT 4
- Convert rem to px? HOT 1
- Allow anchor tags to be ignored HOT 3
- nokogiri is locked to 1.7.x, 1.8.x is out. HOT 5
- css_parser is locked to 1.4.x, 1.5.x is out HOT 6
- Add support for storing the document as XHTML HOT 3
- Stylesheet BOM stripping doesn't work with NetHttpProvider HOT 8
- support anchor/ image url stripping inside conditional tags HOT 5
- Image style attributes - Outlook (on windows) special cases HOT 1
- Transformation Hooks - readme out of date HOT 2
- [Announcement] Passive maintenance mode HOT 6
- Roadie output mangled when control chars are present in conditional comments HOT 1
- NoMethodError Exception: undefined method `match' for #<Hash:0x00000000062ecdf8> HOT 3
- Support CSS custom properties (variables) HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from roadie.