42 changed files with 533 additions and 131 deletions
Split View
Diff Options
-
8.dockerignore
-
46Dockerfile
-
6Gemfile
-
BINapp/assets/images/bg-music.jpg
-
17app/assets/javascripts/aplayer.js
-
1app/assets/javascripts/application.js
-
1app/assets/stylesheets/application.css.scss
-
11app/assets/stylesheets/grayscale.scss
-
3app/assets/stylesheets/grayscale/_band.scss
-
0app/assets/stylesheets/grayscale/_info.scss
-
19app/assets/stylesheets/grayscale/_music.scss
-
51app/assets/stylesheets/grayscale/_neues.scss
-
22app/assets/stylesheets/grayscale/_projects.scss
-
20app/views/comfy/cms/content/_neues.haml
-
1app/views/comfy/cms/content/_players.haml
-
46app/views/layouts/_static.html.haml
-
93app/views/layouts/application.html.haml
-
2config/application.rb
-
8config/boot.rb
-
2config/environments/production.rb
-
2config/initializers/comfortable_mexican_sofa.rb
-
46db/cms_seeds/daemsing/layouts/band/content.html
-
14db/cms_seeds/daemsing/layouts/blog/content.html
-
4db/cms_seeds/daemsing/layouts/info/content.html
-
60db/cms_seeds/daemsing/layouts/kontakt/content.html
-
24db/cms_seeds/daemsing/layouts/music/content.html
-
12db/cms_seeds/daemsing/layouts/neues/content.html
-
6db/cms_seeds/daemsing/layouts/startseite/content.html
-
BINdb/cms_seeds/daemsing/pages/index/band/chris.jpg
-
36db/cms_seeds/daemsing/pages/index/band/content.html
-
BINdb/cms_seeds/daemsing/pages/index/band/hans.jpg
-
BINdb/cms_seeds/daemsing/pages/index/band/herbert.jpg
-
BINdb/cms_seeds/daemsing/pages/index/band/juergen.jpg
-
BINdb/cms_seeds/daemsing/pages/index/band/nobs.jpg
-
8db/cms_seeds/daemsing/pages/index/content.html
-
6db/cms_seeds/daemsing/pages/index/info/content.html
-
15db/cms_seeds/daemsing/pages/index/kontakt/content.html
-
23db/cms_seeds/daemsing/pages/index/music/content.html
-
11db/cms_seeds/daemsing/pages/index/neues/content.html
-
9docker-compose.yml
-
7package.json
-
24yarn.lock
@ -0,0 +1,8 @@ |
|||
.git |
|||
.bundle |
|||
node_modules |
|||
public/assets |
|||
storage/* |
|||
tmp |
|||
log/* |
|||
db/*.sqlite3 |
@ -0,0 +1,46 @@ |
|||
FROM ruby:2.5.5-alpine |
|||
|
|||
# Set local timezone |
|||
RUN apk add --update tzdata && \ |
|||
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \ |
|||
echo "Europe/Berlin" > /etc/timezone |
|||
|
|||
# Install your app's runtime dependencies in the container |
|||
RUN apk add --virtual runtime-deps nodejs libffi-dev readline sqlite sqlite-libs imagemagick |
|||
|
|||
# Do not install gem documentation |
|||
RUN echo 'gem: --no-ri --no-rdoc' > ~/.gemrc |
|||
RUN gem install bundler |
|||
|
|||
# Bundle into the temp directory |
|||
WORKDIR /tmp |
|||
ADD Gemfile* ./ |
|||
|
|||
# Install Yarn and others |
|||
ENV PATH=/root/.yarn/bin:$PATH |
|||
RUN apk add --virtual build-yarn curl && \ |
|||
touch ~/.bashrc && \ |
|||
curl -o- -L https://yarnpkg.com/install.sh | sh && \ |
|||
apk del build-yarn && \ |
|||
apk add --virtual build-deps build-base openssl-dev libc-dev linux-headers libxml2-dev libxslt-dev readline-dev sqlite-dev |
|||
|
|||
RUN bundle install --without development test && \ |
|||
apk del build-deps && \ |
|||
rm -rf /var/cache/apk/* |
|||
|
|||
# Configure production environment variables |
|||
ENV APP_HOME=/app \ |
|||
RAILS_ENV=production \ |
|||
RACK_ENV=production |
|||
|
|||
# Copy the app's code into the container |
|||
COPY . $APP_HOME |
|||
WORKDIR $APP_HOME |
|||
|
|||
RUN bundle exec rake assets:precompile |
|||
|
|||
# Expose port 3000 from the container |
|||
EXPOSE 3000 |
|||
|
|||
# Run puma server by default |
|||
CMD ["bundle", "exec", "puma", "-C", "config/puma.rb"] |
@ -0,0 +1,17 @@ |
|||
(function($) { |
|||
"use strict"; // Start of use strict
|
|||
|
|||
var audio = attachments.split(' ').map(function(path){ |
|||
var name = decodeURIComponent(path.split('/').slice(-1)[0]); |
|||
return { |
|||
name: name, |
|||
artist: 'Dämsing', |
|||
url: path |
|||
} |
|||
}); |
|||
const ap = new APlayer({ |
|||
container: document.getElementById('aplayer'), |
|||
audio: audio, |
|||
theme: '#0A0074' |
|||
}); |
|||
})(jQuery); // End of use strict
|
@ -0,0 +1,3 @@ |
|||
.band-section { |
|||
padding: 6rem 0; |
|||
} |
@ -0,0 +1,19 @@ |
|||
@import "bootstrap/scss/functions"; |
|||
@import "bootstrap/scss/variables"; |
|||
@import "bootstrap/scss/mixins"; |
|||
@import "bootstrap/scss/utilities/text"; |
|||
|
|||
.music-section { |
|||
padding: 10rem 0 2rem; |
|||
background: linear-gradient( |
|||
to bottom, |
|||
#{fade-out($black, .7)} 0%, |
|||
#{fade-out($black, .3)} 75%, |
|||
$black 100% |
|||
), |
|||
url(asset_path('bg-music.jpg')); |
|||
background-position: center; |
|||
background-repeat: no-repeat; |
|||
background-attachment: scroll; |
|||
background-size: cover; |
|||
} |
@ -0,0 +1,51 @@ |
|||
@import "bootstrap/scss/functions"; |
|||
@import "bootstrap/scss/variables"; |
|||
@import "bootstrap/scss/mixins"; |
|||
@import "bootstrap/scss/utilities/text"; |
|||
@import "bootstrap/scss/utilities/spacing"; |
|||
|
|||
.neues-section { |
|||
padding: 4rem 0; |
|||
|
|||
.featured-text { |
|||
padding: 2rem; |
|||
|
|||
h4 { |
|||
color: $black; |
|||
} |
|||
|
|||
p { |
|||
@extend .text-black-50; |
|||
margin-bottom: 0; |
|||
} |
|||
|
|||
@media (min-width: 992px) { |
|||
padding: 0 0 0 2rem; |
|||
border-left: 0.5rem solid $primary; |
|||
} |
|||
} |
|||
|
|||
.neues-text { |
|||
padding: 3rem; |
|||
font-size: 90%; |
|||
|
|||
h4{ |
|||
@extend .text-white; |
|||
} |
|||
|
|||
p { |
|||
@extend .text-white-50; |
|||
margin-bottom: 0; |
|||
} |
|||
|
|||
@media (min-width: 992px) { |
|||
padding: 5rem; |
|||
|
|||
hr { |
|||
border-color: $primary; |
|||
border-width: .25rem; |
|||
width: 30%; |
|||
} |
|||
} |
|||
} |
|||
} |
@ -1,22 +0,0 @@ |
|||
.projects-section { |
|||
padding: 10rem 0; |
|||
.featured-text { |
|||
padding: 2rem; |
|||
@media (min-width: 992px) { |
|||
padding: 0 0 0 2rem; |
|||
border-left: 0.5rem solid $primary; |
|||
} |
|||
} |
|||
.project-text { |
|||
padding: 3rem; |
|||
font-size: 90%; |
|||
@media (min-width: 992px) { |
|||
padding: 5rem; |
|||
hr { |
|||
border-color: $primary; |
|||
border-width: .25rem; |
|||
width: 30%; |
|||
} |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,20 @@ |
|||
%section#neues.neues-section.bg-light |
|||
.container |
|||
- @cms_site.blog_posts.published.first.tap do |blog| |
|||
/ Featured Project Row |
|||
.row.align-items-center.no-gutters.mb-4.mb-lg-5 |
|||
.col-xl-8.col-lg-7 |
|||
= image_tag 'bg-masthead.jpg', class:'img-fluid mb-3 mb-lg-0' |
|||
.col-xl-4.col-lg-5 |
|||
.featured-text.text-center.text-lg-left |
|||
!= render inline: blog.content_cache |
|||
|
|||
- @cms_site.blog_posts.published[1..-1].each_with_index do |blog, idx| |
|||
.row.justify-content-center.no-gutters{ class:(idx.even? ? 'mb-5 mb-lg-0' : '') } |
|||
.col-lg-6 |
|||
= image_tag 'demo-image-01.jpg', class:'img-fluid' |
|||
.col-lg-6 |
|||
.bg-black.text-center.h-100.neues |
|||
.d-flex.h-100 |
|||
.neues-text.w-100.my-auto.text-center{ class:(idx.even? ? 'text-lg-left' : 'text-lg-right' ) } |
|||
!= render inline: blog.content_cache |
@ -0,0 +1 @@ |
|||
!= h @cms_page.inspect |
@ -0,0 +1,46 @@ |
|||
/ Projects Section |
|||
%section#projects.projects-section.bg-light |
|||
.container |
|||
/ Featured Project Row |
|||
.row.align-items-center.no-gutters.mb-4.mb-lg-5 |
|||
.col-xl-8.col-lg-7 |
|||
= image_tag 'bg-masthead.jpg', class:'img-fluid mb-3 mb-lg-0' |
|||
.col-xl-4.col-lg-5 |
|||
.featured-text.text-center.text-lg-left |
|||
%h4 Shoreline |
|||
%p.text-black-50.mb-0 Grayscale is open source and MIT licensed. This means you can use it for any project - even commercial projects! Download it, customize it, and publish your website! |
|||
|
|||
/ Project One Row |
|||
.row.justify-content-center.no-gutters.mb-5.mb-lg-0 |
|||
.col-lg-6 |
|||
= image_tag 'demo-image-01.jpg', class:'img-fluid' |
|||
.col-lg-6 |
|||
.bg-black.text-center.h-100.project |
|||
.d-flex.h-100 |
|||
.project-text.w-100.my-auto.text-center.text-lg-left |
|||
%h4.text-white Misty |
|||
%p.mb-0.text-white-50 An example of where you can put an image of a project, or anything else, along with a description. |
|||
%hr.d-none.d-lg-block.mb-0.ml-0/ |
|||
|
|||
/ Project Two Row |
|||
.row.justify-content-center.no-gutters |
|||
.col-lg-6 |
|||
= image_tag 'demo-image-02.jpg', class:'img-fluid' |
|||
.col-lg-6.order-lg-first |
|||
.bg-black.text-center.h-100.project |
|||
.d-flex.h-100 |
|||
.project-text.w-100.my-auto.text-center.text-lg-right |
|||
%h4.text-white Mountains |
|||
%p.mb-0.text-white-50 Another example of a project with its respective description. These sections work well responsively as well, try this theme on a small screen! |
|||
%hr.d-none.d-lg-block.mb-0.mr-0/ |
|||
|
|||
/ Signup Section |
|||
%section#signup.signup-section |
|||
.container |
|||
.row |
|||
.col-md-10.col-lg-8.mx-auto.text-center |
|||
%i.far.fa-paper-plane.fa-2x.mb-2.text-white |
|||
%h2.text-white.mb-5 Subscribe to receive updates! |
|||
%form.form-inline.d-flex |
|||
%input#inputEmail.form-control.flex-fill.mr-0.mr-sm-2.mb-3.mb-sm-0{:placeholder => "Enter email address...", :type => "email"}/ |
|||
%button.btn.btn-primary.mx-auto{:type => "submit"} Subscribe |
@ -1,4 +1,10 @@ |
|||
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) |
|||
|
|||
require 'bundler/setup' # Set up gems listed in the Gemfile. |
|||
require 'bootsnap/setup' # Speed up boot time by caching expensive operations. |
|||
begin |
|||
require 'bootsnap/setup' # Speed up boot time by caching expensive operations. |
|||
rescue LoadError |
|||
# bootsnap is an optional dependency, so if we don't have it it's fine |
|||
# Do not load in production because file system (where cache would be written) is read-only |
|||
nil |
|||
end |
@ -0,0 +1,46 @@ |
|||
[attributes] |
|||
--- |
|||
label: Band |
|||
app_layout: '' |
|||
position: 1 |
|||
|
|||
[content] |
|||
<section id="band" class="band-section"> |
|||
<div class="container"> |
|||
<div class="row justify-content-center"> |
|||
<div class="col-md-2"> |
|||
<h3 class="text-center">{{ cms:text header_1, namespace:1 }}</h3> |
|||
{{ cms:file image_1, as:'image', class:'rounded-circle mx-auto d-block img-fluid', namespace:1 }} |
|||
{{ cms:wysiwyg column_1, namespace:1 }} |
|||
</div> |
|||
|
|||
<div class="col-md-2"> |
|||
<h3 class="text-center">{{ cms:text header_2, namespace:2 }}</h3> |
|||
{{ cms:file image_2, as:'image', class:'rounded-circle mx-auto d-block img-fluid', namespace:2 }} |
|||
{{ cms:wysiwyg column_2, namespace:2 }} |
|||
</div> |
|||
|
|||
<div class="col-md-2"> |
|||
<h3 class="text-center">{{ cms:text header_3, namespace:3 }}</h3> |
|||
{{ cms:file image_3, as:'image', class:'rounded-circle mx-auto d-block img-fluid', namespace:3 }} |
|||
{{ cms:wysiwyg column_3, namespace:3 }} |
|||
</div> |
|||
|
|||
<div class="col-md-2"> |
|||
<h3 class="text-center">{{ cms:text header_4, namespace:4 }}</h3> |
|||
{{ cms:file image_4, as:'image', class:'rounded-circle mx-auto d-block img-fluid', namespace:4 }} |
|||
{{ cms:wysiwyg column_4, namespace:4 }} |
|||
</div> |
|||
|
|||
<div class="col-md-2"> |
|||
<h3 class="text-center">{{ cms:text header_5, namespace:5 }}</h3> |
|||
{{ cms:file image_5, as:'image', class:'rounded-circle mx-auto d-block img-fluid', namespace:5 }} |
|||
{{ cms:wysiwyg column_5, namespace:5 }} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
[js] |
|||
|
|||
[css] |
|||
|
@ -0,0 +1,14 @@ |
|||
[attributes] |
|||
--- |
|||
label: Blog |
|||
app_layout: '' |
|||
position: 4 |
|||
|
|||
[content] |
|||
<h4>{{ cms:text title }}</h4> |
|||
{{ cms:wysiwyg content }} |
|||
<hr class="d-none d-lg-block mb-0 ml-0"> |
|||
[js] |
|||
|
|||
[css] |
|||
|
@ -0,0 +1,60 @@ |
|||
[attributes] |
|||
--- |
|||
label: Kontakt |
|||
app_layout: '' |
|||
position: 3 |
|||
|
|||
[content] |
|||
<section id="kontakt" class="contact-section bg-black"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col-md-4 mb-3 mb-md-0"> |
|||
<div class="card py-4 h-100"> |
|||
<div class="card-body text-center"> |
|||
<i class="fas fa-map-marked-alt text-primary mb-2"></i> |
|||
<h4 class="text-uppercase m-0">Addresse</h4> |
|||
<hr class="my-4"> |
|||
<div class="small text-black-50">{{ cms:text address }}</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 mb-3 mb-md-0"> |
|||
<div class="card py-4 h-100"> |
|||
<div class="card-body text-center"> |
|||
<i class="fas fa-envelope text-primary mb-2"></i> |
|||
<h4 class="text-uppercase m-0">Email</h4> |
|||
<hr class="my-4"> |
|||
<div class="small text-black-50"> |
|||
<a href="mailto:kontakt@daemsing.koeln">{{ cms:text email }}</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="col-md-4 mb-3 mb-md-0"> |
|||
<div class="card py-4 h-100"> |
|||
<div class="card-body text-center"> |
|||
<i class="fas fa-mobile-alt text-primary mb-2"></i> |
|||
<h4 class="text-uppercase m-0">Telefon</h4> |
|||
<hr class="my-4"> |
|||
<div class="small text-black-50">{{ cms:text phone }}</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="social d-flex justify-content-center"> |
|||
<a class="mx-2" href="#"> |
|||
<i class="fab fa-twitter"></i> |
|||
</a> |
|||
<a class="mx-2" href="{{ cms:text fb-link }}"> |
|||
<i class="fab fa-facebook-f"></i> |
|||
</a> |
|||
<a class="mx-2" href="#"> |
|||
<i class="fab fa-github"></i> |
|||
</a> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
[js] |
|||
|
|||
[css] |
|||
|
@ -0,0 +1,24 @@ |
|||
[attributes] |
|||
--- |
|||
label: Musik |
|||
app_layout: '' |
|||
position: 5 |
|||
|
|||
[content] |
|||
<section id="music" class="music-section text-center"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col"> |
|||
<h2 class="text-white mb-4">{{ cms:text title }}</h2> |
|||
<script> |
|||
var attachments="{{ cms:files attachments }}"; |
|||
</script> |
|||
<div id="aplayer"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</section> |
|||
[js] |
|||
|
|||
[css] |
|||
|
@ -0,0 +1,12 @@ |
|||
[attributes] |
|||
--- |
|||
label: Neues |
|||
app_layout: '' |
|||
position: 2 |
|||
|
|||
[content] |
|||
{{ cms:partial neues }} |
|||
[js] |
|||
|
|||
[css] |
|||
|
@ -1,11 +1,22 @@ |
|||
[attributes] |
|||
--- |
|||
label: Kontakt |
|||
layout: startseite |
|||
layout: kontakt |
|||
target_page: |
|||
categories: [] |
|||
is_published: true |
|||
position: 2 |
|||
position: 4 |
|||
|
|||
[wysiwyg content] |
|||
<p>Wie kannst du uns erreichen?</p> |
|||
|
|||
[text head] |
|||
|
|||
[text address] |
|||
Dämsing, Attendorner Strasse 3, 51109 Köln |
|||
[text email] |
|||
kontakt@daemsing.koeln |
|||
[text phone] |
|||
n/a |
|||
[text fb-link] |
|||
https://www.facebook.com/Daemsing/ |
@ -0,0 +1,23 @@ |
|||
[attributes] |
|||
--- |
|||
label: Musik |
|||
layout: music |
|||
target_page: |
|||
categories: [] |
|||
is_published: true |
|||
position: 2 |
|||
|
|||
[text title] |
|||
Wie klingt es? |
|||
[text content] |
|||
|
|||
[text button] |
|||
|
|||
[text meta-description] |
|||
|
|||
[text meta-keywords] |
|||
|
|||
[text clyp-url] |
|||
https://clyp.it/5s24yh4e |
|||
[files attachments] |
|||
Dämsing - Afgrund.mp3 |
@ -0,0 +1,11 @@ |
|||
[attributes] |
|||
--- |
|||
label: Neues |
|||
layout: neues |
|||
target_page: |
|||
categories: [] |
|||
is_published: true |
|||
position: 3 |
|||
|
|||
[text head] |
|||
Neues 2 |
@ -0,0 +1,9 @@ |
|||
version: '2' |
|||
services: |
|||
web: |
|||
build: . |
|||
command: bin/rails server --port 3000 --binding 0.0.0.0 -e production |
|||
ports: |
|||
- "3000:3000" |
|||
volumes: |
|||
- .:/myapp |
Write
Preview
Loading…
Cancel
Save
Reference in new issue