Rails 应用程序部署到 Heroku,构建问题
Rails app deployment into Heroku, build issues
我是整个 ruby rails 开发环境的新手,我正在努力将现有应用程序部署到 Heroku。
我已经与 Heroku 支持人员谈过,但他们未能继续解决我的问题,这令人失望。现在具体问题涉及以下终端命令:
$ git push heroku master
这是我的输出(我会从它开始出错的位置开始!):
remote: Installing turbolinks 2.5.3
remote: Installing rails 4.2.0
remote: Your bundle is complete!
remote: Gems in the groups development and test were not installed.
remote: It was installed into ./vendor/bundle
remote: Post-install message from rdoc:
remote: Depending on your version of ruby, you may need to install ruby rdoc/ri data:
remote: <= 1.8.6 : unsupported
remote: = 1.8.7 : gem install rdoc-data; rdoc-data --install
remote: = 1.9.1 : gem install rdoc-data; rdoc-data --install
remote: >= 1.9.2 : nothing to do! Yay!
remote: Bundle completed (39.87s)
remote: Cleaning up the bundler cache.
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: I, [2015-03-18T17:04:43.818368 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/FontAwesome-838af52e382b27dca33a344726a9ec67.otf
remote: I, [2015-03-18T17:04:43.820455 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-429acacb01a51b0738d8b0c6dcee0fc4.eot
remote: I, [2015-03-18T17:04:43.823090 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-9c8db592bac7eb9e7ef1b0c464140fa5.svg
remote: I, [2015-03-18T17:04:43.825779 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-9bf0604ed1778de864df7e69a3348217.ttf
remote: I, [2015-03-18T17:04:43.827790 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-ff4168b9c4bf807dd42d15ce204cb1ad.woff
remote: I, [2015-03-18T17:04:49.756561 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/application-cba6abf49f8c4efcc9f21fa8851e620a.js
remote: rake aborted!
remote: Sass::SyntaxError: Invalid CSS after "": expected keyframes selector (e.g. 10%), was "0"
remote: (in /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/app/assets/stylesheets/application.css)
remote: (sass):11234
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1165:in `expected'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1101:in `expected'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1081:in `expr!'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/static_parser.rb:46:in `parse_keyframes_selector'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:412:in `visit_rule'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `block in with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:115:in `with_frame'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `block (2 levels) in visit_directive'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `map'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `block in visit_directive'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:179:in `with_environment
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:500:in `visit_directive'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `block in with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:115:in `with_frame'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `map'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:179:in `with_environment
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `block in visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:157:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:8:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:36:in `css_tree'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:20:in `render'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/engine.rb:268:in `render'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/sass_compressor.rb:24:in `evaluate'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:197:in `block in evaluate'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `each'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `evaluate'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/bundled_asset.rb:25:in `initialize'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `new'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `build_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:94:in `block in build_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/caching.rb:58:in `cache_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:93:in `build_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:287:in `find_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:61:in `find_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:211:in `block in find_asset
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:257:in `benchmark'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:210:in `find_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:119:in `block in compile'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `each'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `compile'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/rake/sprocketstask.rb:146:in `with_logger'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
remote: Tasks: TOP => assets:precompile
remote: (See full trace by running task with --trace)
remote: !
remote: ! Precompiling assets failed.
remote: !
remote:
remote: ! Push rejected, failed to compile Ruby app
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to quiet-springs-8146.
remote:
To https://git.heroku.com/quiet-springs-8146.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/quiet-springs-8146.git'
这到底是什么意思,对于此类错误的潜在解决方案是什么?
如有任何帮助,我们将不胜感激!
application.css 文件包含的全部是我的 flash 样式(对于用户 authentication/signup/login 应用程序):Flash 只是包含这些元素的 class(顺便说一句,它确实有效,在我的浏览器中,Flash 消息看起来确实是 droid sans 和 13px 等)。
.flash {
color: #363636;
font-family: 'Droid Sans', sans-serif;
font-size: 13px;
}
FOA:main.css.scss
/* GLOBAL CSS
-------------------------------------------------- */
body {
width: 100%;
height: 100%;
font-family: Lora,"Helvetica Neue",Helvetica,Arial,sans-serif;
background-color: #000000;
}
html, body, #container {height: 100%;}
body > #container {height: auto; min-height: 5%;}
html {
width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0 0 35px;
text-transform: uppercase;
font-family: 'Roboto',"Helvetica Neue",Helvetica,Arial,sans-serif;
font-weight: 700;
letter-spacing: 1px;
}
p {
font-family: 'Droid Sans', sans-serif;
margin: 0 0 25px;
font-size: 13px;
line-height: 1.5;
}
@media(min-width:768px) {
p {
margin: 0 0 35px;
font-size: 20px;
line-height: 1.6;
}
}
a {
color: #562cd4;
-webkit-transition: all .2s ease-in-out;
-moz-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
a:hover,
a:focus {
text-decoration: none;
color: #5913d1;
}
.light {
font-weight: 400;
}
/* CUSTOMIZE THE NAVBAR
-------------------------------------------------- */
.navbar-custom {
margin-bottom: 0;
border-bottom: 1px solid rgba(255,255,255,.3);
text-transform: uppercase;
font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
background-color: #000000;
}
.navbar-custom .navbar-brand {
font-weight: 600;
}
.navbar-custom .navbar-brand:focus {
outline: 0;
}
.navbar-custom .navbar-brand .navbar-toggle {
padding: 4px 6px;
font-size: 16px;
color: #ffffff;
}
.navbar-custom .navbar-brand .navbar-toggle:focus,
.navbar-custom .navbar-brand .navbar-toggle:active {
outline: 0;
}
.navbar-custom a {
color: #ffffff;
}
.navbar-custom .nav li a {
-webkit-transition: background .3s ease-in-out;
-moz-transition: background .3s ease-in-out;
transition: background .3s ease-in-out;
}
.navbar-custom .nav li a:hover {
outline: 0;
color: rgba(255,255,255,.8);
background-color: transparent;
}
.navbar-custom .nav li a:focus,
.navbar-custom .nav li a:active {
outline: 0;
background-color: transparent;
}
.navbar-custom .nav li.active {
outline: 0;
}
.navbar-custom .nav li.active a {
background-color: rgba(255,255,255,.3);
}
.navbar-custom .nav li.active a:hover {
color: #ffffff;
}
@media(min-width:768px) {
.navbar-custom {
padding: 20px 0;
border-bottom: 0;
letter-spacing: 1px;
background: 0 0;
-webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
-moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
transition: background .5s ease-in-out,padding .5s ease-in-out;
}
.navbar-custom.top-nav-collapse {
padding: 0;
border-bottom: 1px solid rgba(255,255,255,.3);
background: #000;
}
}
#fafa_inline {
display: inline;
color: #ffffff;
}
/* CUSTOMIZE THE JUMBOTRON
-------------------------------------------------- */
.jumbotron {
background-image:url('https://dl-web.dropbox.com/get/astroboxio_vela_mosaic_background.gif?_subject_uid=209608449&w=AABTZ4DArPvunSTYalnTRheoQM2Kb8Y1wPnlMZEl1Adfhg');
height: 570px;
background-repeat: no-repeat;
background-size: cover
}
.jumbotron .title {
text-align: center;
}
.jumbotron_image {
margin-bottom: 50px;
}
.jumbotron .container {
position: relative;
top:10px;
}
.jumbotron astrobox {
color: #ffffff;
font-size: 110px;
font-family: 'Basic', sans-serif;
font-weight: bold;
display: inline;
}
.jumbotron io {
color: #ffffff;
font-size: 48px;
font-family: 'Lobster', sans-serif;
font-weight: bold;
display: inline;
}
.jumbotron .container p {
font-size: 13px;
color: #ffffff;
text-align: center;
font-family: 'Roboto', sans-serif;
text-transform: uppercase;
letter-spacing: 4px;
}
.jumbotron_paragraphs .jumbotron_image_ras {
padding-bottom: 0px;
margin-bottom: 5px;
}
.jumbotron_paragraphs .jumbotron_image_dotastronomy {
padding-bottom: 0px;
margin-bottom: 5px;
}
/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */
.carousel {
background-color: #000000;
height: 500px;
margin-bottom: 60px;
border: 1px solid black;
}
.carousel-caption {
z-index: 10;
}
.carousel-caption h1 {
z-index: 10;
}
.carousel-caption p {
z-index: 10;
}
.carousel .item {
height: 500px;
background-color: #000000;
}
.carousel-inner > .item > img {
position: absolute;
top: 0;
left: 0;
min-width: 100%;
height: 500px;
}
.intro .intro-body {
display: table-cell;
vertical-align: middle;
}
.intro .intro-body .brand-heading {
font-size: 40px;
}
.intro .intro-body .intro-text {
font-size: 18px;
}
@media(min-width:668px) {
.intro {
height: 100%;
padding: 0;
}
.intro .intro-body .brand-heading {
font-size: 100px;
}
.intro .intro-body .intro-text {
font-size: 26px;
}
}
/* CUSTOMIZE NEIGHBORHOOD-GUIDES
-------------------------------------------------- */
.neighborhood-guides {
background-color: #000000;
height: 490px;
}
.studio_pipeline {
background-size: 60%;
}
.studio_pipeline h2 {
color: #ffffff;
background-color: #562cd4;
background-size: 100%;
padding: 0.5cm;
font-size: 16px;
font-family: 'Roboto', sans-serif;
text-align: center;
letter-spacing: 2px;
text-transform: uppercase;
font-weight: initial;
border-top: 1px solid #dbdbdb;
border-bottom: 1px solid #dbdbdb;
}
.studio_pipeline p {
color: #ffffff;
background-color: #000000;
font-size: 13px;
font-family: 'Droid Sans', sans-serif;
text-align: center;
margin-bottom: 13px;
}
.thumbnail {
background-color: #000000;
border: 0;
}
.thumbnail_description {
background-color: #000000;
padding: 0;
text-align: center;
}
.thumbnail_description h1 {
background-color: #000000;
color: #ffffff;
font-family: 'Droid Sans', sans-serif;
font-weight: bold;
font-size: 30px;
text-transform: capitalize;
letter-spacing: 0;
padding: 5px;
margin: 0 0 0 0;
}
.thumbnail_description p {
background-color: #000000;
color: #363636;
font-family: 'Droid Sans', sans-serif;
font-size: 13px;
letter-spacing: 0;
padding: 0;
}
.thumbnail img {
background-color: #000000;
padding: 20px;
opacity: 0.85;
border-radius: 100%;
}
.thumbnail img:hover {
background-color: #000000;
opacity: 1.0;
}
.btn-circle {
width: 30px;
height: 30px;
margin-top: 15px;
margin-left: 48.8%;
padding: 8px;
border: 1px solid #ffffff;
border-radius: 100%!important;
font-size: 13px;
color: #ffffff;
background: 0 0;
-webkit-transition: background .3s ease-in-out;
-moz-transition: background .3s ease-in-out;
transition: background .3s ease-in-out;
}
.btn-circle:hover,
.btn-circle:focus {
outline: 0;
color: #ffffff;
background: rgba(255,255,255,.1);
}
.btn-circle i.animated {
-webkit-transition-property: -webkit-transform;
-webkit-transition-duration: 1s;
-moz-transition-property: -moz-transform;
-moz-transition-duration: 1s;
}
.btn-circle:hover i.animated {
-webkit-animation-name: pulse;
-moz-animation-name: pulse;
-webkit-animation-duration: 1.5s;
-moz-animation-duration: 1.5s;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-moz-animation-timing-function: linear;
}
@-webkit-keyframes pulse {
0 {
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@-moz-keyframes pulse {
0 {
-moz-transform: scale(1);
transform: scale(1);
}
50% {
-moz-transform: scale(1.2);
transform: scale(1.2);
}
100% {
-moz-transform: scale(1);
transform: scale(1);
}
}
.content-section {
padding-top: 100px;
}
.about {
width: 100%;
padding: 50px 0;
color: #ffffff;
background: url(../assets/images/downloads-bg.jpg) no-repeat center center scroll;
background-color: #000;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
#map {
width: 100%;
height: 200px;
margin-top: 100px;
}
@media(min-width:767px) {
.content-section {
padding-top: 250px;
}
.carousel-caption p {
margin-bottom: 20px;
font-size: 21px;
line-height: 1.4;
}
.about {
padding: 100px 0;
}
#map {
height: 400px;
margin-top: 250px;
}
}
.btn {
border-radius: 0;
text-transform: uppercase;
font-family: 'Roboto',"Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14px;
font-weight: 400;
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.btn-default {
border: 1px solid #ffffff;
color: #ffffff;
border-radius: 20%!important;
background-color: transparent;
}
.btn-default:hover,
.btn-default:focus {
border: 1px solid #ffffff;
outline: 0;
color: #ffffff;
background-color: #562cd4;
}
ul.banner-social-buttons {
margin-top: 0;
}
@media(max-width:1199px) {
ul.banner-social-buttons {
margin-top: 15px;
}
}
@media(max-width:767px) {
ul.banner-social-buttons li {
display: block;
margin-bottom: 20px;
padding: 0;
}
ul.banner-social-buttons li:last-child {
margin-bottom: 0;
}
}
/* CUSTOMIZE THE STICKY BAR FOOTER
-------------------------------------------------- */
.sticky-bar {
background: #000000;
bottom: 0;
color: #D3D3D3;
font-weight: 300;
left: 0;
margin: 0;
opacity: 0.9;
padding: 0em;
position: fixed;
width: 100%;
z-index:99999;}
.sticky-bar-inner {
margin:0 auto;
text-align: center;
width:100%;
background-color: #D3D3D3;
padding: 2px;
font-family: 'Roboto', sans-serif;
font-size: 11px;
color: #000000;
}
.sticky-bar-inner p {
margin:0 auto;
padding: 2px;
text-align: center;
width:100%;
font-size: 11px;
}
#footerlist {
padding-left:0;
}
#footerlist li {
display: inline;
list-style-type: none;
}
::-moz-selection {
text-shadow: none;
background: #fcfcfc;
background: rgba(255,255,255,.2);
}
::selection {
text-shadow: none;
background: #fcfcfc;
background: rgba(255,255,255,.2);
}
img::selection {
background: 0 0;
}
img::-moz-selection {
background: 0 0;
}
body {
webkit-tap-highlight-color: rgba(255,255,255,.2);
}
查看错误消息,我首先注意到的是您的文件的扩展名/app/assets/stylesheets/application.css
重命名
app/assets/stylesheets/application.css
到
app/assets/stylesheets/application.css.scss
(注意添加的扩展.scss
)
这样 sass
gem 实际上可以预处理您的样式表。
更新
在提交对 git
的更改时使用选项 -a
git commit -am <commit message>
此选项将自动暂存已修改 and/or 删除的文件。在您的情况下,app/assets/stylesheets/application.css
将被视为已删除,app/assets/stylesheets/application.css.scss
将被视为新添加。
Sass::SyntaxError: Invalid CSS after "": expected keyframes selector
(e.g. 10%), was "0" remote: (in
/tmp/build_365c7241bf197a8f84d0ec4a70ddd900/app/assets/stylesheets/main.css.scss:399)
要修复上述错误,在 app/assets/stylesheets/main.css.scss
中,您需要更新以下代码(使用 0%
而不是 0
):
@-webkit-keyframes pulse {
// Use 0% and not 0
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
//...
}
@-moz-keyframes pulse {
// Use 0% and not 0
0% {
-moz-transform: scale(1);
transform: scale(1);
}
//...
}
如果你不想改变application.css。您可以创建新文件:
例如:
custom.css.scss
如果您使用 bootstrap,请将 bootstrap rails 添加到 Gemfile 并将以下行导入到 custom.css.scss:
@import "bootstrap-sprockets";
@import "bootstrap";
运行 命令:
$ bundle install
$ git push heroku master -f
如果你不能在 heroku 中使用 bootstrap:
打开 config/environments/production.rb 并编辑以下行:
config.assets.compile = false
到
config.assets.compile = true
再次推送到 github 和 heroku。
我是整个 ruby rails 开发环境的新手,我正在努力将现有应用程序部署到 Heroku。
我已经与 Heroku 支持人员谈过,但他们未能继续解决我的问题,这令人失望。现在具体问题涉及以下终端命令:
$ git push heroku master
这是我的输出(我会从它开始出错的位置开始!):
remote: Installing turbolinks 2.5.3
remote: Installing rails 4.2.0
remote: Your bundle is complete!
remote: Gems in the groups development and test were not installed.
remote: It was installed into ./vendor/bundle
remote: Post-install message from rdoc:
remote: Depending on your version of ruby, you may need to install ruby rdoc/ri data:
remote: <= 1.8.6 : unsupported
remote: = 1.8.7 : gem install rdoc-data; rdoc-data --install
remote: = 1.9.1 : gem install rdoc-data; rdoc-data --install
remote: >= 1.9.2 : nothing to do! Yay!
remote: Bundle completed (39.87s)
remote: Cleaning up the bundler cache.
remote: -----> Preparing app for Rails asset pipeline
remote: Running: rake assets:precompile
remote: I, [2015-03-18T17:04:43.818368 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/FontAwesome-838af52e382b27dca33a344726a9ec67.otf
remote: I, [2015-03-18T17:04:43.820455 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-429acacb01a51b0738d8b0c6dcee0fc4.eot
remote: I, [2015-03-18T17:04:43.823090 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-9c8db592bac7eb9e7ef1b0c464140fa5.svg
remote: I, [2015-03-18T17:04:43.825779 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-9bf0604ed1778de864df7e69a3348217.ttf
remote: I, [2015-03-18T17:04:43.827790 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/fontawesome-webfont-ff4168b9c4bf807dd42d15ce204cb1ad.woff
remote: I, [2015-03-18T17:04:49.756561 #1194] INFO -- : Writing /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/public/assets/application-cba6abf49f8c4efcc9f21fa8851e620a.js
remote: rake aborted!
remote: Sass::SyntaxError: Invalid CSS after "": expected keyframes selector (e.g. 10%), was "0"
remote: (in /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/app/assets/stylesheets/application.css)
remote: (sass):11234
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1165:in `expected'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1101:in `expected'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/parser.rb:1081:in `expr!'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/scss/static_parser.rb:46:in `parse_keyframes_selector'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:412:in `visit_rule'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `block in with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:115:in `with_frame'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `block (2 levels) in visit_directive'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `map'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:501:in `block in visit_directive'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:179:in `with_environment
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:500:in `visit_directive'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `block in visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `block in with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:115:in `with_frame'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/stack.rb:79:in `with_base'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:158:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `block in visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `map'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:52:in `visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:167:in `block in visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:179:in `with_environment
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:166:in `visit_children'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `block in visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:186:in `visit_root'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/base.rb:36:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:157:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/visitors/perform.rb:8:in `visit'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:36:in `css_tree'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/tree/root_node.rb:20:in `render'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sass-3.4.13/lib/sass/engine.rb:268:in `render'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/sass_compressor.rb:24:in `evaluate'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/tilt-1.4.1/lib/tilt/template.rb:103:in `render'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:197:in `block in evaluate'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `each'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/context.rb:194:in `evaluate'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/bundled_asset.rb:25:in `initialize'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `new'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:377:in `build_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:94:in `block in build_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/caching.rb:58:in `cache_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:93:in `build_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/base.rb:287:in `find_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/index.rb:61:in `find_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:211:in `block in find_asset
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:257:in `benchmark'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:210:in `find_asset'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:119:in `block in compile'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `each'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/sprockets/manifest.rb:118:in `compile'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:70:in `block (3 levels) in define'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-2.12.3/lib/rake/sprocketstask.rb:146:in `with_logger'
remote: /tmp/build_02a03f7daac8fa16dbf45f752b79f4cc/vendor/bundle/ruby/2.0.0/gems/sprockets-rails-2.2.4/lib/sprockets/rails/task.rb:69:in `block (2 levels) in define'
remote: Tasks: TOP => assets:precompile
remote: (See full trace by running task with --trace)
remote: !
remote: ! Precompiling assets failed.
remote: !
remote:
remote: ! Push rejected, failed to compile Ruby app
remote:
remote: Verifying deploy...
remote:
remote: ! Push rejected to quiet-springs-8146.
remote:
To https://git.heroku.com/quiet-springs-8146.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to 'https://git.heroku.com/quiet-springs-8146.git'
这到底是什么意思,对于此类错误的潜在解决方案是什么?
如有任何帮助,我们将不胜感激!
application.css 文件包含的全部是我的 flash 样式(对于用户 authentication/signup/login 应用程序):Flash 只是包含这些元素的 class(顺便说一句,它确实有效,在我的浏览器中,Flash 消息看起来确实是 droid sans 和 13px 等)。
.flash {
color: #363636;
font-family: 'Droid Sans', sans-serif;
font-size: 13px;
}
FOA:main.css.scss
/* GLOBAL CSS
-------------------------------------------------- */
body {
width: 100%;
height: 100%;
font-family: Lora,"Helvetica Neue",Helvetica,Arial,sans-serif;
background-color: #000000;
}
html, body, #container {height: 100%;}
body > #container {height: auto; min-height: 5%;}
html {
width: 100%;
}
h1,
h2,
h3,
h4,
h5,
h6 {
margin: 0 0 35px;
text-transform: uppercase;
font-family: 'Roboto',"Helvetica Neue",Helvetica,Arial,sans-serif;
font-weight: 700;
letter-spacing: 1px;
}
p {
font-family: 'Droid Sans', sans-serif;
margin: 0 0 25px;
font-size: 13px;
line-height: 1.5;
}
@media(min-width:768px) {
p {
margin: 0 0 35px;
font-size: 20px;
line-height: 1.6;
}
}
a {
color: #562cd4;
-webkit-transition: all .2s ease-in-out;
-moz-transition: all .2s ease-in-out;
transition: all .2s ease-in-out;
}
a:hover,
a:focus {
text-decoration: none;
color: #5913d1;
}
.light {
font-weight: 400;
}
/* CUSTOMIZE THE NAVBAR
-------------------------------------------------- */
.navbar-custom {
margin-bottom: 0;
border-bottom: 1px solid rgba(255,255,255,.3);
text-transform: uppercase;
font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
background-color: #000000;
}
.navbar-custom .navbar-brand {
font-weight: 600;
}
.navbar-custom .navbar-brand:focus {
outline: 0;
}
.navbar-custom .navbar-brand .navbar-toggle {
padding: 4px 6px;
font-size: 16px;
color: #ffffff;
}
.navbar-custom .navbar-brand .navbar-toggle:focus,
.navbar-custom .navbar-brand .navbar-toggle:active {
outline: 0;
}
.navbar-custom a {
color: #ffffff;
}
.navbar-custom .nav li a {
-webkit-transition: background .3s ease-in-out;
-moz-transition: background .3s ease-in-out;
transition: background .3s ease-in-out;
}
.navbar-custom .nav li a:hover {
outline: 0;
color: rgba(255,255,255,.8);
background-color: transparent;
}
.navbar-custom .nav li a:focus,
.navbar-custom .nav li a:active {
outline: 0;
background-color: transparent;
}
.navbar-custom .nav li.active {
outline: 0;
}
.navbar-custom .nav li.active a {
background-color: rgba(255,255,255,.3);
}
.navbar-custom .nav li.active a:hover {
color: #ffffff;
}
@media(min-width:768px) {
.navbar-custom {
padding: 20px 0;
border-bottom: 0;
letter-spacing: 1px;
background: 0 0;
-webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
-moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
transition: background .5s ease-in-out,padding .5s ease-in-out;
}
.navbar-custom.top-nav-collapse {
padding: 0;
border-bottom: 1px solid rgba(255,255,255,.3);
background: #000;
}
}
#fafa_inline {
display: inline;
color: #ffffff;
}
/* CUSTOMIZE THE JUMBOTRON
-------------------------------------------------- */
.jumbotron {
background-image:url('https://dl-web.dropbox.com/get/astroboxio_vela_mosaic_background.gif?_subject_uid=209608449&w=AABTZ4DArPvunSTYalnTRheoQM2Kb8Y1wPnlMZEl1Adfhg');
height: 570px;
background-repeat: no-repeat;
background-size: cover
}
.jumbotron .title {
text-align: center;
}
.jumbotron_image {
margin-bottom: 50px;
}
.jumbotron .container {
position: relative;
top:10px;
}
.jumbotron astrobox {
color: #ffffff;
font-size: 110px;
font-family: 'Basic', sans-serif;
font-weight: bold;
display: inline;
}
.jumbotron io {
color: #ffffff;
font-size: 48px;
font-family: 'Lobster', sans-serif;
font-weight: bold;
display: inline;
}
.jumbotron .container p {
font-size: 13px;
color: #ffffff;
text-align: center;
font-family: 'Roboto', sans-serif;
text-transform: uppercase;
letter-spacing: 4px;
}
.jumbotron_paragraphs .jumbotron_image_ras {
padding-bottom: 0px;
margin-bottom: 5px;
}
.jumbotron_paragraphs .jumbotron_image_dotastronomy {
padding-bottom: 0px;
margin-bottom: 5px;
}
/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */
.carousel {
background-color: #000000;
height: 500px;
margin-bottom: 60px;
border: 1px solid black;
}
.carousel-caption {
z-index: 10;
}
.carousel-caption h1 {
z-index: 10;
}
.carousel-caption p {
z-index: 10;
}
.carousel .item {
height: 500px;
background-color: #000000;
}
.carousel-inner > .item > img {
position: absolute;
top: 0;
left: 0;
min-width: 100%;
height: 500px;
}
.intro .intro-body {
display: table-cell;
vertical-align: middle;
}
.intro .intro-body .brand-heading {
font-size: 40px;
}
.intro .intro-body .intro-text {
font-size: 18px;
}
@media(min-width:668px) {
.intro {
height: 100%;
padding: 0;
}
.intro .intro-body .brand-heading {
font-size: 100px;
}
.intro .intro-body .intro-text {
font-size: 26px;
}
}
/* CUSTOMIZE NEIGHBORHOOD-GUIDES
-------------------------------------------------- */
.neighborhood-guides {
background-color: #000000;
height: 490px;
}
.studio_pipeline {
background-size: 60%;
}
.studio_pipeline h2 {
color: #ffffff;
background-color: #562cd4;
background-size: 100%;
padding: 0.5cm;
font-size: 16px;
font-family: 'Roboto', sans-serif;
text-align: center;
letter-spacing: 2px;
text-transform: uppercase;
font-weight: initial;
border-top: 1px solid #dbdbdb;
border-bottom: 1px solid #dbdbdb;
}
.studio_pipeline p {
color: #ffffff;
background-color: #000000;
font-size: 13px;
font-family: 'Droid Sans', sans-serif;
text-align: center;
margin-bottom: 13px;
}
.thumbnail {
background-color: #000000;
border: 0;
}
.thumbnail_description {
background-color: #000000;
padding: 0;
text-align: center;
}
.thumbnail_description h1 {
background-color: #000000;
color: #ffffff;
font-family: 'Droid Sans', sans-serif;
font-weight: bold;
font-size: 30px;
text-transform: capitalize;
letter-spacing: 0;
padding: 5px;
margin: 0 0 0 0;
}
.thumbnail_description p {
background-color: #000000;
color: #363636;
font-family: 'Droid Sans', sans-serif;
font-size: 13px;
letter-spacing: 0;
padding: 0;
}
.thumbnail img {
background-color: #000000;
padding: 20px;
opacity: 0.85;
border-radius: 100%;
}
.thumbnail img:hover {
background-color: #000000;
opacity: 1.0;
}
.btn-circle {
width: 30px;
height: 30px;
margin-top: 15px;
margin-left: 48.8%;
padding: 8px;
border: 1px solid #ffffff;
border-radius: 100%!important;
font-size: 13px;
color: #ffffff;
background: 0 0;
-webkit-transition: background .3s ease-in-out;
-moz-transition: background .3s ease-in-out;
transition: background .3s ease-in-out;
}
.btn-circle:hover,
.btn-circle:focus {
outline: 0;
color: #ffffff;
background: rgba(255,255,255,.1);
}
.btn-circle i.animated {
-webkit-transition-property: -webkit-transform;
-webkit-transition-duration: 1s;
-moz-transition-property: -moz-transform;
-moz-transition-duration: 1s;
}
.btn-circle:hover i.animated {
-webkit-animation-name: pulse;
-moz-animation-name: pulse;
-webkit-animation-duration: 1.5s;
-moz-animation-duration: 1.5s;
-webkit-animation-iteration-count: infinite;
-moz-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-moz-animation-timing-function: linear;
}
@-webkit-keyframes pulse {
0 {
-webkit-transform: scale(1);
transform: scale(1);
}
50% {
-webkit-transform: scale(1.2);
transform: scale(1.2);
}
100% {
-webkit-transform: scale(1);
transform: scale(1);
}
}
@-moz-keyframes pulse {
0 {
-moz-transform: scale(1);
transform: scale(1);
}
50% {
-moz-transform: scale(1.2);
transform: scale(1.2);
}
100% {
-moz-transform: scale(1);
transform: scale(1);
}
}
.content-section {
padding-top: 100px;
}
.about {
width: 100%;
padding: 50px 0;
color: #ffffff;
background: url(../assets/images/downloads-bg.jpg) no-repeat center center scroll;
background-color: #000;
-webkit-background-size: cover;
-moz-background-size: cover;
background-size: cover;
-o-background-size: cover;
}
#map {
width: 100%;
height: 200px;
margin-top: 100px;
}
@media(min-width:767px) {
.content-section {
padding-top: 250px;
}
.carousel-caption p {
margin-bottom: 20px;
font-size: 21px;
line-height: 1.4;
}
.about {
padding: 100px 0;
}
#map {
height: 400px;
margin-top: 250px;
}
}
.btn {
border-radius: 0;
text-transform: uppercase;
font-family: 'Roboto',"Helvetica Neue",Helvetica,Arial,sans-serif;
font-size: 14px;
font-weight: 400;
-webkit-transition: all .3s ease-in-out;
-moz-transition: all .3s ease-in-out;
transition: all .3s ease-in-out;
}
.btn-default {
border: 1px solid #ffffff;
color: #ffffff;
border-radius: 20%!important;
background-color: transparent;
}
.btn-default:hover,
.btn-default:focus {
border: 1px solid #ffffff;
outline: 0;
color: #ffffff;
background-color: #562cd4;
}
ul.banner-social-buttons {
margin-top: 0;
}
@media(max-width:1199px) {
ul.banner-social-buttons {
margin-top: 15px;
}
}
@media(max-width:767px) {
ul.banner-social-buttons li {
display: block;
margin-bottom: 20px;
padding: 0;
}
ul.banner-social-buttons li:last-child {
margin-bottom: 0;
}
}
/* CUSTOMIZE THE STICKY BAR FOOTER
-------------------------------------------------- */
.sticky-bar {
background: #000000;
bottom: 0;
color: #D3D3D3;
font-weight: 300;
left: 0;
margin: 0;
opacity: 0.9;
padding: 0em;
position: fixed;
width: 100%;
z-index:99999;}
.sticky-bar-inner {
margin:0 auto;
text-align: center;
width:100%;
background-color: #D3D3D3;
padding: 2px;
font-family: 'Roboto', sans-serif;
font-size: 11px;
color: #000000;
}
.sticky-bar-inner p {
margin:0 auto;
padding: 2px;
text-align: center;
width:100%;
font-size: 11px;
}
#footerlist {
padding-left:0;
}
#footerlist li {
display: inline;
list-style-type: none;
}
::-moz-selection {
text-shadow: none;
background: #fcfcfc;
background: rgba(255,255,255,.2);
}
::selection {
text-shadow: none;
background: #fcfcfc;
background: rgba(255,255,255,.2);
}
img::selection {
background: 0 0;
}
img::-moz-selection {
background: 0 0;
}
body {
webkit-tap-highlight-color: rgba(255,255,255,.2);
}
查看错误消息,我首先注意到的是您的文件的扩展名/app/assets/stylesheets/application.css
重命名
app/assets/stylesheets/application.css
到
app/assets/stylesheets/application.css.scss
(注意添加的扩展.scss
)
这样 sass
gem 实际上可以预处理您的样式表。
更新
在提交对 git
-a
git commit -am <commit message>
此选项将自动暂存已修改 and/or 删除的文件。在您的情况下,app/assets/stylesheets/application.css
将被视为已删除,app/assets/stylesheets/application.css.scss
将被视为新添加。
Sass::SyntaxError: Invalid CSS after "": expected keyframes selector (e.g. 10%), was "0" remote: (in /tmp/build_365c7241bf197a8f84d0ec4a70ddd900/app/assets/stylesheets/main.css.scss:399)
要修复上述错误,在 app/assets/stylesheets/main.css.scss
中,您需要更新以下代码(使用 0%
而不是 0
):
@-webkit-keyframes pulse {
// Use 0% and not 0
0% {
-webkit-transform: scale(1);
transform: scale(1);
}
//...
}
@-moz-keyframes pulse {
// Use 0% and not 0
0% {
-moz-transform: scale(1);
transform: scale(1);
}
//...
}
如果你不想改变application.css。您可以创建新文件: 例如:
custom.css.scss
如果您使用 bootstrap,请将 bootstrap rails 添加到 Gemfile 并将以下行导入到 custom.css.scss:
@import "bootstrap-sprockets";
@import "bootstrap";
运行 命令:
$ bundle install
$ git push heroku master -f
如果你不能在 heroku 中使用 bootstrap: 打开 config/environments/production.rb 并编辑以下行:
config.assets.compile = false
到
config.assets.compile = true
再次推送到 github 和 heroku。