commit f3629f97964bf82ed63874ce8df7bf278b8b29ae Author: Denis Knauf Date: Wed Jul 13 18:55:59 2022 +0200 init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e9be3f6 --- /dev/null +++ b/.gitignore @@ -0,0 +1,71 @@ +# No files with whitespaces +*\ * + +# ---> Ruby +/.rake_tasks +*.gem +*.rbc +/.config +/coverage/ +/InstalledFiles +/pkg/ +/spec/reports/ +/spec/examples.txt +/test/tmp/ +/test/version_tmp/ +/tmp/ +/.cache/ +!/.cache/.keep + +# Ignore the build directory +/build + +# Ignore cache +.*.swp +.*.kate-swp +.*.swo +*~ + +# Logs +/log + +## Specific to RubyMotion: +.dat* +.repl_history +build/ + +/assets/build + +## Documentation cache and generated files: +/.yardoc/ +/_yardoc/ +/doc/ +/rdoc/ + +## Environment normalisation: +/.bundle/ +/vendor/bundle +/lib/bundler/man/ + +# for a library or gem, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# Gemfile.lock +# .ruby-version +# .ruby-gemset + +# unless supporting rvm < 1.11.0 or doing something fancy, ignore this: +.rvmrc + +# ---> Vim +[._]*.s[a-w][a-z] +[._]s[a-w][a-z] +*.un~ +Session.vim +.netrwhist +*~ + +*.css.map +/.sass-cache/ +/.cache +/.fonts_cache + diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..132f273 --- /dev/null +++ b/Gemfile @@ -0,0 +1,41 @@ +# If you do not have OpenSSL installed, change +# the following line to use 'http://' +source 'https://rubygems.org' + +gem 'rake' +gem 'puma' +gem 'awesome_print' + +gem 'execjs' +#gem 'mini_racer' +#gem 'duktape' + +gem 'ffi', '~> 1.13', '!= 1.14.2' + +# For faster file watcher updates on Windows: +#gem 'wdm', '~> 0.1.0', platforms: [:mswin, :mingw] + +# Windows does not come with time zone data +#gem 'tzinfo-data', platforms: [:mswin, :mingw, :jruby] + +# Middleman Gems +gem 'middleman', '>= 4.0.0' +gem 'middleman-livereload' +gem 'middleman-deploy', git: 'https://github.com/middleman-contrib/middleman-deploy.git' +gem 'middleman-minify-html' +gem 'middleman-blog' +gem 'middleman-asciidoc' +gem 'middleman-fonts', git: 'https://git.denkn.at/deac/middleman-fonts.git' + +gem 'haml' +gem 'coffee-script' +gem 'font-awesome-sass', '~> 6.0' # '~> 5.15' +gem 'builder' +gem 'activesupport', require: 'active_support/all' + +gem 'mini_magick' + +gem 'oga' +gem 'nokogiri' +gem 'r18n-desktop' +gem 'pry' diff --git a/Gemfile.lock b/Gemfile.lock new file mode 100644 index 0000000..53f8ccb --- /dev/null +++ b/Gemfile.lock @@ -0,0 +1,201 @@ +GIT + remote: https://git.denkn.at/deac/middleman-fonts.git + revision: 4664814b80cf2d13bb64255be2e9e4c133961a38 + specs: + middleman-fonts (0.0.1) + +GIT + remote: https://github.com/middleman-contrib/middleman-deploy.git + revision: 4d04b550b4c6888265d83ee9689f41e29dbae535 + specs: + middleman-deploy (2.0.0.pre.alpha) + middleman-core (>= 3.2) + net-sftp + ptools + +GEM + remote: https://rubygems.org/ + specs: + activesupport (6.1.5) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) + addressable (2.8.0) + public_suffix (>= 2.0.2, < 5.0) + ansi (1.5.0) + asciidoctor (2.0.17) + ast (2.4.2) + awesome_print (1.9.2) + backports (3.23.0) + builder (3.2.4) + coderay (1.1.3) + coffee-script (2.4.1) + coffee-script-source + execjs + coffee-script-source (1.12.2) + concurrent-ruby (1.1.10) + contracts (0.13.0) + dotenv (2.7.6) + em-websocket (0.5.3) + eventmachine (>= 0.12.9) + http_parser.rb (~> 0) + erubis (2.7.0) + eventmachine (1.2.7) + execjs (2.8.1) + fast_blank (1.0.1) + fastimage (2.2.6) + ffi (1.15.5) + font-awesome-sass (6.1.1) + sassc (~> 2.0) + haml (5.2.2) + temple (>= 0.8.0) + tilt + hamster (3.0.0) + concurrent-ruby (~> 1.0) + hashie (3.6.0) + htmlcompressor (0.2.0) + http_parser.rb (0.8.0) + i18n (1.6.0) + concurrent-ruby (~> 1.0) + kramdown (2.3.2) + rexml + listen (3.0.8) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) + memoist (0.16.2) + method_source (1.0.0) + middleman (4.4.2) + coffee-script (~> 2.2) + haml (>= 4.0.5) + kramdown (>= 2.3.0) + middleman-cli (= 4.4.2) + middleman-core (= 4.4.2) + middleman-asciidoc (1.0.0) + asciidoctor (>= 1.5.0) + middleman-core (~> 4.0) + middleman-blog (4.0.3) + addressable (~> 2.3) + middleman-core (>= 4.0.0) + tzinfo (>= 0.3.0) + middleman-cli (4.4.2) + thor (>= 0.17.0, < 2.0) + middleman-core (4.4.2) + activesupport (>= 6.1, < 7.0) + addressable (~> 2.4) + backports (~> 3.6) + bundler (~> 2.0) + contracts (~> 0.13.0) + dotenv + erubis + execjs (~> 2.0) + fast_blank + fastimage (~> 2.0) + hamster (~> 3.0) + hashie (~> 3.4) + i18n (~> 1.6.0) + listen (~> 3.0.0) + memoist (~> 0.14) + padrino-helpers (~> 0.15.0) + parallel + rack (>= 1.4.5, < 3) + sassc (~> 2.0) + servolux + tilt (~> 2.0.9) + toml + uglifier (~> 3.0) + webrick + middleman-livereload (3.4.7) + em-websocket (~> 0.5.1) + middleman-core (>= 3.3) + rack-livereload (~> 0.3.15) + middleman-minify-html (3.4.1) + htmlcompressor (~> 0.2.0) + middleman-core (>= 3.2) + mini_magick (4.11.0) + mini_portile2 (2.8.0) + minitest (5.15.0) + net-sftp (3.0.0) + net-ssh (>= 5.0.0, < 7.0.0) + net-ssh (6.1.0) + nio4r (2.5.8) + nokogiri (1.13.4) + mini_portile2 (~> 2.8.0) + racc (~> 1.4) + oga (3.3) + ast + ruby-ll (~> 2.1) + padrino-helpers (0.15.1) + i18n (>= 0.6.7, < 2) + padrino-support (= 0.15.1) + tilt (>= 1.4.1, < 3) + padrino-support (0.15.1) + parallel (1.22.1) + parslet (2.0.0) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + ptools (1.4.2) + public_suffix (4.0.7) + puma (5.6.4) + nio4r (~> 2.0) + r18n-core (5.0.1) + r18n-desktop (5.0.1) + r18n-core (~> 5.0) + racc (1.6.0) + rack (2.2.3) + rack-livereload (0.3.17) + rack + rake (13.0.6) + rb-fsevent (0.11.1) + rb-inotify (0.10.1) + ffi (~> 1.0) + rexml (3.2.5) + ruby-ll (2.1.2) + ansi + ast + sassc (2.4.0) + ffi (~> 1.9) + servolux (0.13.0) + temple (0.8.2) + thor (1.2.1) + tilt (2.0.10) + toml (0.3.0) + parslet (>= 1.8.0, < 3.0.0) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) + uglifier (3.2.0) + execjs (>= 0.3.0, < 3) + webrick (1.7.0) + zeitwerk (2.5.4) + +PLATFORMS + ruby + +DEPENDENCIES + activesupport + awesome_print + builder + coffee-script + execjs + ffi (~> 1.13, != 1.14.2) + font-awesome-sass (~> 6.0) + haml + middleman (>= 4.0.0) + middleman-asciidoc + middleman-blog + middleman-deploy! + middleman-fonts! + middleman-livereload + middleman-minify-html + mini_magick + nokogiri + oga + pry + puma + r18n-desktop + rake + +BUNDLED WITH + 2.2.33 diff --git a/README.adoc b/README.adoc new file mode 100644 index 0000000..dd1ff0a --- /dev/null +++ b/README.adoc @@ -0,0 +1,23 @@ += homepage + +== init + + bundle update + +== compile + + rake + +== deploy + + rake deploy:test + +or + + rake deploy:production + +== run server (local) + + rake run + +Will listen on port `:9290` diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..b11ea46 --- /dev/null +++ b/Rakefile @@ -0,0 +1,274 @@ +# encoding: UTF-8 +# vim: set noet sw=2 ts=2 sts=2: +require 'pathname' +require 'font-awesome-sass' +require 'set' +require "mini_magick" + +MiniMagick.configure do |config| + config.cli = :graphicsmagick + config.timeout = 5 +end + +class Pathname + def each_parent top_dir = nil, &exe + top_dir = + case top_dir + when nil then Pahname.new '/' + when Pathname then top_dir.expand_path + else Pathname.new( top_dir.to_s).expand_path + end + each_parent_till_dir top_dir, &exe + end + + def each_parent_till_dir top_dir, &exe + return to_enum( self, __method__) unless block_given? + d = self + until top_dir == d + yield d + d = d.dirname + end + end + + def parents top_dir = nil + each_parent( top_dir).to_a + end + + def parents_till_dir top_dir, &exe + each_parent_till_dir( top_dir).to_a + end +end + +def bexec *a + sh *%w[bundle exec], *a.map(&:to_s) +end + +def middleman *a + bexec :middleman, *a +end + +def opal_c *a + bexec %w[opal -c], *a +end + +def coffee_c *a + sh *%w[coffee -mc], *a.map(&:to_s) +end + +def deploy env + ENV['TARGET'] = env.to_s + middleman :deploy +end + +def flatten_args_ *as, &e + as.each do |a| + case a + when Array then flatten_args_ *a, &e + else yield a.to_s + end + end +end + +def flatten_args *as, &e + if block_given? + flatten_args_ *as, &e + else + r = [] + flatten_args_ *as, &r.method( :push) + r + end +end + +def font_sfnt2woff t, cache_dir + STDERR.puts "Build font > #{t.name} < #{t.source}" + f = Pathname.new( t.source).basename + symdest = Pathname.new( t.source).relative_path_from cache_dir + symlink = cache_dir + f + cacdest = cache_dir.join( Pathname.new( t.name).basename) + symlink.unlink if begin symlink.lstat; rescue Errno::ENOENT; false; end + symlink.make_symlink symdest + pid = Process.spawn 'sfnt2woff-zopfli', f.to_s, chdir: cache_dir.to_s + _, status = Process.wait2 pid + # sfnt2woff-zopfli will not return anything else than exit-status 0 + raise "sfnt2woff-zopfli failed!" unless 0 == status.exitstatus + raise "sfnt2woff-zopfli failed!" unless cacdest.exist? + cacdest.rename t.name +end + +def font_webify t, cache_dir + STDERR.puts "Build font: #{t.name}" + f = Pathname.new( t.source).basename + symdest = Pathname.new( t.source).relative_path_from cache_dir + symlink = cache_dir + f + cacdest = cache_dir.join( Pathname.new( t.name).basename) + symlink.unlink if begin symlink.lstat; rescue Errno::ENOENT; false; end + symlink.make_symlink symdest + pid = Process.spawn 'webify', f.to_s, chdir: cache_dir.to_s + _, status = Process.wait2 pid + # webify will not return anything else than exit-status 0 + raise "Webify failed!" unless 0 == status.exitstatus + raise "Webify failed!" unless cacdest.exist? + cacdest.rename t.name +end + +def tmp_fork dest, *exec_args, &e + unless exec_args.empty? + args = flatten_args exec_args + return tmp_fork( dest) { Kernel.exec *args } + end + + tmp = Pathname.new "#{dest}.tmp" + child = fork do + STDOUT.reopen tmp.open( 'w') + yield + end + Process.waitpid child + if 0 == $?.exitstatus + tmp.rename dest + true + else + false + end +end + +asset_source_dir = Pathname.new( 'assets') + 'src' +asset_build_dir = Pathname.new( 'assets') + 'build' + 'assets' +cache_dir = Pathname.new '.cache' +font_build_dir = asset_build_dir + 'fonts' +fa_fonts_dir = Pathname.new FontAwesome::Sass::fonts_path +fa_fonts = + fa_fonts_dir.find.select( &:file?).map do |f| + font_build_dir + f.relative_path_from( fa_fonts_dir) + end +all_js = [] # asset_build_dir.join 'scripts', 'all.js' +#all_css = asset_build_dir.join 'styles', 'baroque.css' +directory asset_build_dir +#directory all_js.dirname + +script_srcs = [] +font_metadata_srcs = [] +asset_source_dir.find do |f| + case f.basename.to_s + when /^\./ then Find.prune + when /\.opal$/ then script_srcs.push f + when /\.coffee$/ then script_srcs.push f + when /\.js$/ then script_srcs.push f + when 'METADATA.json' then font_metadata_srcs.push f + end +end + +#file all_js => [asset_source_dir.join( 'all.coffee'), +# all_js.dirname, *script_srcs] do |t| +# STDERR.puts "COFFEE >#{t.name} <#{t.source}" +# coffee_c '-o', asset_build_dir+'scripts', t.source +#end + +fa_fonts.each do |font| + directory *fa_fonts.map {|f| f.dirname }.uniq + file font => [fa_fonts_dir + font.relative_path_from( font_build_dir), font.dirname] do |t| + cp t.source, t.name + end +end + + +#directory all_css.dirname => asset_build_dir +#file all_css => [asset_source_dir + 'styles' + 'baroque.css', asset_source_dir+'styles'] do +# STDERR.puts "SCSS >#{t.name} <#{t.source}" +# tmp_fork t.name, %w[bundle exec scss], all_css.dirname, t.source +#end + +fonts_source_dir = asset_source_dir + 'fonts' +fonts_build_dir = asset_build_dir + 'fonts' +fonts_cache_dir = cache_dir + 'fonts' +all_fonts = [] +fonts_source_dir.find do |f| + case f.basename.to_s + when /^\./ then Find.prune + when /^(.*)\.(ttf|otf)$/ then + #file fonts_build_dir + f.basename => [f, fonts_build_dir] do |t| + # cp t.source, t.name + #end + #%w[svg woff eot].each do |ext| + %w[woff].each do |ext| + d = fonts_build_dir + "#$1.#{ext}" + all_fonts.push d + file d => [f, fonts_cache_dir, fonts_build_dir] do |t| + font_sfnt2woff t, fonts_cache_dir + end + end + d = fonts_build_dir + f.basename + all_fonts.push d + file d => f do |t| + cp t.source, t.name + end + #when /^(.*)\.otf$/ then from_otf += %w[svg woff eot].map {|ext| fonts_build_dir + "#$1.#{ext}" } + end +end +directory fonts_cache_dir => cache_dir +directory fonts_build_dir => asset_build_dir +directory asset_build_dir+'styles' => asset_build_dir + +fonts_css = asset_build_dir+'styles'+'fonts.css' +task fonts_css => font_metadata_srcs+[fonts_css.dirname, cache_dir] do |t| + STDERR.puts "Generate #{t.name}" + require 'json' + require 'active_support/all' + cache_file = cache_dir+File.basename( t.name) + File.open cache_file, 'w' do |d| + font_metadata_srcs.each do |f| + STDERR.puts " <= #{f}" + JSON.parse( File.read( f))['fonts'].each do |font| + font = font.symbolize_keys + font[:ttf] = "/assets/fonts/#{font[:filename]}" + font[:woff] = "/assets/fonts/#{font[:filename].gsub /\.[ot]tf\Z/, '.woff'}" + d.puts sprintf( <s"; + font-weight: %i; + font-style: % + + + + +
+
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/source/422.html b/source/422.html new file mode 100644 index 0000000..c08eac0 --- /dev/null +++ b/source/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/source/500.html b/source/500.html new file mode 100644 index 0000000..78a030a --- /dev/null +++ b/source/500.html @@ -0,0 +1,66 @@ + + + + We're sorry, but something went wrong (500) + + + + + + +
+
+

We're sorry, but something went wrong.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/source/apple-touch-icon-precomposed.png b/source/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..e69de29 diff --git a/source/apple-touch-icon.png b/source/apple-touch-icon.png new file mode 100644 index 0000000..e69de29 diff --git a/source/assets/scripts/application.js.coffee b/source/assets/scripts/application.js.coffee new file mode 100644 index 0000000..6fa2dc8 --- /dev/null +++ b/source/assets/scripts/application.js.coffee @@ -0,0 +1,21 @@ +window.price_sum_field_calculator = (count_fields_sel='.count.field', sum_field_sel='#sum_field') -> + fields = document.querySelectorAll count_fields_sel + sum_field = document.querySelector sum_field_sel + + change_f = (e) -> + sum = 0 + + for el in fields + price = el.getAttribute 'data-price' + sf = el.getAttribute 'for' + s = 1 * el.value * price + sfe = document.querySelector "##{sf}" + sfe.textContent = (if 0==s then '' else s) if sfe + sum += s + + sum_field.textContent = sum + + for el in fields + el.addEventListener 'change', change_f + el.addEventListener 'input', change_f + change_f() diff --git a/source/assets/styles/_fonts.scss b/source/assets/styles/_fonts.scss new file mode 100644 index 0000000..9721c2a --- /dev/null +++ b/source/assets/styles/_fonts.scss @@ -0,0 +1,30 @@ +$fonts-url: '/assets/fonts'; + +@mixin font-face($family, $local1, $local2, $rpath, $weight: normal, $style: normal) { + $path: "#{$fonts-url}/#{$rpath}"; + + @font-face { + font-family: $family; + font-weight: $weight; + font-style: $style; + src: local($local1), + local($local2), + url("#{$path}.woff") format("woff"), + url("#{$path}.ttf") format("truetype"); + } +} + +@include font-face ('Alegreya', 'Alegreya Regular', 'Alegreya-Regular', 'Alegreya/Alegreya-Regular', 400); +@include font-face ('Alegreya', 'Alegreya Italic', 'Alegreya-Italic', 'Alegreya/Alegreya-Italic', 400, italic); +@include font-face ('Alegreya', 'Alegreya Medium', 'Alegreya-Medium', 'Alegreya/Alegreya-Medium', 500); +@include font-face ('Alegreya', 'Alegreya MediumItalic', 'Alegreya-MediumItalic', 'Alegreya/Alegreya-MediumItalic', 500, italic); +@include font-face ('Alegreya', 'Alegreya Bold', 'Alegreya-Bold', 'Alegreya/Alegreya-Bold', 700); +@include font-face ('Alegreya', 'Alegreya BoldItalic', 'Alegreya-BoldItalic', 'Alegreya/Alegreya-BoldItalic', 700, italic); +@include font-face ('Alegreya Sans', 'Alegreya Sans Regular', 'AlegreyaSans-Regular', 'Alegreya_Sans/AlegreyaSans-Regular', 400); +@include font-face ('Alegreya Sans', 'Alegreya Sans Italic', 'AlegreyaSans-Italic', 'Alegreya_Sans/AlegreyaSans-Italic', 400, italic); +@include font-face ('Alegreya Sans', 'Alegreya Sans Medium', 'AlegreyaSans-Medium', 'Alegreya_Sans/AlegreyaSans-Medium', 500); +@include font-face ('Alegreya Sans', 'Alegreya Sans MediumItalic', 'AlegreyaSans-MediumItalic', 'Alegreya_Sans/AlegreyaSans-MediumItalic', 500, italic); +@include font-face ('Alegreya Sans', 'Alegreya Sans Bold', 'AlegreyaSans-Bold', 'Alegreya_Sans/AlegreyaSans-Bold', 700); +@include font-face ('Alegreya Sans', 'Alegreya Sans BoldItalic', 'AlegreyaSans-BoldItalic', 'Alegreya_Sans/AlegreyaSans-BoldItalic', 700, italic); +@include font-face ('Inconsolata', 'Inconsolata Regular', 'Inconsolata-Regular', 'Inconsolata/Inconsolata-Regular', 400); +@include font-face ('Inconsolata', 'Inconsolata Bold', 'Inconsolata-Bold', 'Inconsolata/Inconsolata-Bold', 700); diff --git a/source/assets/styles/all.css.scss b/source/assets/styles/all.css.scss new file mode 100644 index 0000000..3083fa3 --- /dev/null +++ b/source/assets/styles/all.css.scss @@ -0,0 +1,12 @@ +// vim: set noet sw=2 sts=2 ts=2: +$fa-font-path: "/assets/fonts/font-awesome"; +@function font-path($path) { + @return "/assets/fonts/#{$path}"; +} +@import "font-awesome"; +@import "_fonts.scss"; + +* { + text-rendering: optimizeLegibility; +} + diff --git a/source/favicon.ico b/source/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/source/layouts/__layout.erb b/source/layouts/__layout.erb new file mode 100644 index 0000000..dec76b6 --- /dev/null +++ b/source/layouts/__layout.erb @@ -0,0 +1,20 @@ + + + + + + + + + <%= current_page.data.title || "Middleman" %> + + + + <%= stylesheet_link_tag :site %> + <%= javascript_include_tag :all %> + + + + <%= yield %> + + diff --git a/source/layouts/_aside.html.haml b/source/layouts/_aside.html.haml new file mode 100644 index 0000000..01b308b --- /dev/null +++ b/source/layouts/_aside.html.haml @@ -0,0 +1,21 @@ +._aside + %aside#navigation + - unless current_page.data.nonav + = partial 'layouts/nav' + -# + %h2 Recent Articles + %ol + - blog.articles[0...10].each do |article| + %li + = link_to article.title, article + %span= article.date.strftime '%b %e' + + %h2 Tags + %ol + - blog.tags.each do |tag, articles| + %li= link_to "#{tag} (#{articles.size})", tag_path(tag) + + %h2 By Year + %ol + - blog.articles.group_by {|a| a.date.year }.each do |year, articles| + %li= link_to "#{year} (#{articles.size})", blog_year_path(year) diff --git a/source/layouts/_footer.html.haml b/source/layouts/_footer.html.haml new file mode 100644 index 0000000..cee85ac --- /dev/null +++ b/source/layouts/_footer.html.haml @@ -0,0 +1,69 @@ +- unless @breadcrumbs.nil? + %nav.breadcrumbs + %ul + - @breadcrumbs.each do |c| + - c = Array.wrap c + - if 1 < c.count + %li= link_to *c + - else + %li= c +._footer + .teaser + %footer + %h1 Renate Hudler & Karl Heinz Grube + .row_maybe.meh + .col + %h4 Datenschutz + %ul + -#.fa-ul + -#%li + -#%span.fa-li.fa-stack + %i.fas.fa-envelope.fa-stack-0_5x + %i.fas.fa-ban.fa-stack-1x(style="color:Tomato") + Keine Cookies :) + %li + -#%span.fa-li.fa-stack + %i.fas.fa-shoe-prints.fa-stack-0_5x + %i.fas.fa-ban.fa-stack-1x(style="color:Tomato") + Kein Tracking :) + %li + -#%span.fa-li + %i.fas.fa-ticket-alt + Bei Ticketbestellungen werden Ihre angegebenen Daten übermittelt und für die Erfüllung der Bestellung gespeichert und nach dem Konzert gelöscht. + %li + Desweiteren wird ein Cookie während der Ticketbestellung gespeichert. + %li + -#%span.fa-li + %i.fas.fa-envelope + Wenn Sie sich für unseren Newsletter anmelden, speichern wir Ihre angegeben Daten solange Sie den Newsletter erhalten möchten. + + .col + %h4 Impressum + %dl + %dt Kontakt + %dd + %p + %a(href="mailto:kontakt@hudlergrube.com") + %i.fas.fa-envelope.fa-fw + Renate Hudler & Karl Heinz Grube + %p + %i.fas.fa-map-marker-alt.fa-fw + Renate Hudler + %br + Rudolf-Jankostr. 3 + %br + 2380 Perchtoldsdorf + -#%p + %i.fas.fa-phone.fa-fw + +43 6 + %dt Design + %dd + %a(href="https://denkn.at" title="DenKn" target="_blank") + %i.fas.fa-external-link-square-alt.fa-fw + DenKn.at + %dd + %a(href="https://www.instagram.com/_klararts_/" title="Klaras Instagram" target="_blank") + %i.fab.fa-instagram.fa-fw + Klara Arts + -#.totopto + %a(href="#") ⬆ diff --git a/source/layouts/_head.html.haml b/source/layouts/_head.html.haml new file mode 100644 index 0000000..0aedf6f --- /dev/null +++ b/source/layouts/_head.html.haml @@ -0,0 +1,14 @@ +%head + %meta(charset="utf-8") + %meta(http-equiv="X-UA-Compatible" content="IE=edge") + %meta(name="viewport" content="width=device-width, initial-scale=1") + %title= current_page.data.title || '' + -#%meta{name: :description, content: site.description} + %link(rel="stylesheet" href="/assets/styles/fonts.css") + %link(rel="stylesheet" href="/assets/styles/all.css") + - if current_page.data.stylesheet + %link(rel="stylesheet" href="/assets/styles/#{current_page.data.stylesheet}.css") + -#%script(type="text/javascript" src="/assets/scripts/all.js") + + -#%link(rel="canonical" href="{{ page.url | replace:'index.html','' | prepend: site.baseurl | prepend: site.url }}") + -#%link(rel="alternate" type="application/rss+xml" title="{{ site.title }}" href="{{ '/feed.xml' | prepend: site.baseurl | prepend: site.url }}") diff --git a/source/layouts/_header.html.haml b/source/layouts/_header.html.haml new file mode 100644 index 0000000..17447ca --- /dev/null +++ b/source/layouts/_header.html.haml @@ -0,0 +1,5 @@ +._header + %header + %h1 + = current_page.data.title || '' + //.header-sticky= partial 'layouts/aside' diff --git a/source/layouts/_nav.html.haml b/source/layouts/_nav.html.haml new file mode 100644 index 0000000..6767595 --- /dev/null +++ b/source/layouts/_nav.html.haml @@ -0,0 +1,46 @@ +%nav<> + %ul.right<> + -#%li + %a(href='https://hölle.de' title="Facebock") + %i.fab.fa-facebook-square + -#%li + %a(href='https://schnackseln.at' title="Zwitscher") + %i.fab.fa-twitter-square + %li + = link_to 'https://www.youtube.com/channel/UC8xM33hBE4lEmiZl9aTvAbA', title: "Unser Youtube-Channel", hover: 'Youtube', target: :_blank do + %i.fab.faw.fa-youtube + %span.HIDDEN Youtube + %li + = link_to 'mailto:kontakt@hudlergrube.com', title: "Schreiben Sie uns eine Email", hover: 'Mail' do + %i.fas.faw.fa-envelope + %span.HIDDEN Email + %ul.left<> + %li{class: [active_page?("/") && :active_page]} + = link_to '/', title: 'Hudler & Grube' do + %i.fas.faw.fa-home + %span.HIDDEN Hudler & Grube Homepage + %li{class: [active_page?("/events") && :active_page]} + = link_to '/events', title: 'Veranstaltungen', hover: 'Veranstaltungen' do + %i.fa-solid.fa-tw.fa-calendar-alt + %span.HIDDEN Kalender + -#%li{class: [active_page?("/gallery") && :active_page]} + = link_to '/gallery', title: 'Veranstaltungs- & Künstlerphotos', hover: 'Veranstaltungs- & Künstlerphotos' do + %i.fas.faw.fa-camera + %span.HIDDEN Veranstaltungs- & Künstlerphotos + %li{class: [active_page?("/bio") && :active_page]} + = link_to '/bio', title: 'Biographien', hover: 'Biographien' do + %i.fas.faw.fa-id-badge + %span.HIDDEN Biographien + %li{class: [active_page?("/repertoire") && :active_page]} + = link_to '/repertoire', title: 'Repertoire', hover: 'Repertoire' do + %i.fas.faw.fa-folder-open + %span.HIDDEN Repertoire + -#%li + = link_to '/videos', title: 'Musik und Videos' do + %i.fas.fa-film + -#%li + %a(href='/music.html') + -#%i.fas.fa-music + Musik + -#%li= link_to 'Live', '/live.html' + -#%li= link_to 'Festival', '/festival/', title: 'Unser geplantes Festival im Mai' diff --git a/source/layouts/base.html.haml b/source/layouts/base.html.haml new file mode 100644 index 0000000..a3c7944 --- /dev/null +++ b/source/layouts/base.html.haml @@ -0,0 +1,5 @@ +!!! 5 +%html#_{lang: :de, class: current_page.data.style, style: current_page.data[:background_image] ? "--global-background-image: url(#{current_page.data.background_image})" : nil} + = partial 'layouts/head' + %body{class: (current_page.data.type || 'page')} + = yield diff --git a/source/layouts/default.html.haml b/source/layouts/default.html.haml new file mode 100644 index 0000000..490b66b --- /dev/null +++ b/source/layouts/default.html.haml @@ -0,0 +1,12 @@ += partial 'layouts/base', {} do + = partial 'layouts/header' + = partial 'layouts/aside' + ._main + %main + //.border-a + //.border-b + .beginning_content + = yield + .ending_content + //end of default + = partial 'layouts/footer' diff --git a/source/layouts/page.html.haml b/source/layouts/page.html.haml new file mode 100644 index 0000000..c47988a --- /dev/null +++ b/source/layouts/page.html.haml @@ -0,0 +1,5 @@ += partial 'layouts/default' do + -#%header.post-header + -# %h1.post-title= current_page.data.title + -#%article.post-content= yield + %article= yield diff --git a/source/robots.txt b/source/robots.txt new file mode 100644 index 0000000..37b576a --- /dev/null +++ b/source/robots.txt @@ -0,0 +1 @@ +# See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file