Initial commit

This commit is contained in:
Alexander Yakovlev 2012-06-12 11:44:45 +07:00
commit 536d89b72f
23 changed files with 503 additions and 0 deletions

47
Rakefile Normal file
View file

@ -0,0 +1,47 @@
require "fileutils"
SOURCE = "./_source"
CONFIG = {
'posts' => File.join(SOURCE, "_posts"),
'post_ext' => "md"
}
# Usage: rake post title="A Title"
desc "Begin a new post in #{CONFIG['posts']}"
task :post do
mkdir_p CONFIG['posts']
title = ENV["title"] || "new-post"
slug = title.downcase.strip.gsub(/\s+/, '-').gsub(/[^\w-]/, '')
filename = File.join(CONFIG['posts'], "#{Time.now.strftime('%Y-%m-%d')}-#{slug}.#{CONFIG['post_ext']}")
if File.exist?(filename)
abort("rake aborted!") if ask("#{filename} already exists. Do you want to overwrite?", ['y', 'n']) == 'n'
end
puts "Creating new post: #{filename}"
open(filename, 'w') do |post|
post.puts "---"
post.puts "layout: post"
post.puts "title: \"#{title.gsub(/-/,' ')}\""
post.puts "---"
post.puts
post.puts
post.puts "<!-- more -->"
post.puts
post.puts
end
end # task :post
desc "Launch preview environment"
task :preview do
system "jekyll --server"
end # task :preview
desc "Clean generated site files"
task :clean do
FileUtils.rm site_files
end
task :default do
system "jekyll"
end

12
_config.yml Normal file
View file

@ -0,0 +1,12 @@
source: ./_source
destination: ./_site
plugins: ./_plugins
permalink: none
title: Ресторан «Баккара»
markdown: rdiscount
paginate: 15
auto: false
lsi: false
rdiscount:
extensions: [smart]
theme: gerder

17
_plugins/excerpt.rb Normal file
View file

@ -0,0 +1,17 @@
# This goes in _plugins/excerpt.rb
module Jekyll
class Post
alias_method :original_to_liquid, :to_liquid
def to_liquid
original_to_liquid.deep_merge({
'excerpt' => content.match('<!--more-->') ? content.split('<!--more-->').first : nil
})
end
end
module Filters
def mark_excerpt(content)
content.gsub('<!--more-->', '<div id="more"><a name="more"></a></div>')
end
end
end

View file

@ -0,0 +1,50 @@
module Jekyll
# Compiled LESS CSS into CSS. You must specify an empty YAML front matter
# at the beginning of the file.
# .less -> .css
class LessConverter < Converter
safe true
priority :low
pygments_prefix "\n"
pygments_suffix "\n"
def setup
return if @setup
require 'less'
@setup = true
rescue LoadError
STDERR.puts 'You are missing a library required for less. Please run:'
STDERR.puts ' $ [sudo] gem install less'
raise FatalException.new("Missing dependency: less")
end
def matches(ext)
ext =~ /less/i
end
def output_ext(ext)
".css"
end
def convert(content)
setup
if content =~ /\@import\s["'](\w+)["'];/ then
file = nil
if File.extname($1) != 'less' then file = Dir.getwd()+'/_temp/stylesheets/'+$1+'.less'
else file = Dir.getwd()+'_temp/stylesheets/'+$1 end
included = File.open(file)
included_contents = included.read
content = included_contents << content
content.gsub!(/\@import\s["'](\w+)["'];/,'')
end
begin
parser = Less::Parser.new
parser.parse(content).to_css(:compress => true)
# Less::Engine.new(content).to_css
rescue => e
puts "Less Exception: #{e.message}"
end
end
end
end

38
_plugins/lightbox.rb Normal file
View file

@ -0,0 +1,38 @@
# Lightbox tag plugin for Jekyll
# Usage: {% lightbox [position] [filename] [alt/title] %}
# Usage sample: {% lightbox left sample.jpg "This is the sample" %}
require "mini_magick"
module Jekyll
class LightBox < Liquid::Tag
def initialize(tag_name, markup, tokens)
@image = nil
@error = nil
results = markup.scan(/^(?<position>left|right|center)\s(?<filepath>.+)\.(?<extension>jpg|jpeg|jpe|gif|png|bmp)\s["]?(?<description>.+)["]?$/i)
unless results then
@error = "Image lightbox: Error processing input."
return
end
return
@image['file'] = results[2] + '.' + results[3]
@image['thumbnail'] = results[2] + '_thumb.' + results[3]
@image['position'] = results[1]
@image['description'] = results[4]
unless File.exist?(@image['file']) then @error = "Image lightbox: File not found." end
super
end
def render(context)
if @error then return @error end
return %Q!<a href="#{@image['file']}" class='lightbox'>
<img class="image-#{@image['position']}" title="#{@image['description']}" alt="#{@image['description']}" src="#{@image['thumbnail']}">
</a>!
end
end
end
Liquid::Template.register_tag('lightbox', Jekyll::LightBox)

29
_plugins/navtree.rb Normal file
View file

@ -0,0 +1,29 @@
module Jekyll
class NavTree < Liquid::Tag
def initialize(tag_name, text, tokens)
super
end
def render(context)
site = context.registers[:site]
output = '<ul>'
temp = site.pages.sort do |x,y|
unless defined? y.data['order'] then y.data['order'] = 0 end
unless defined? x.data['order'] then x.data['order'] = 0 end
y.data['order'].to_i <=> x.data['order'].to_i
end
temp.each do |page|
if page.data['title'].nil? or page.data['shownav'] == false then next end
output += '<li><a href="'+page.url+'">'+page.data['title']+'</a></li>'
output += '<img src="/images/separator.png">'
end
output += '</ul>'
output
end
end
end
Liquid::Template.register_tag('nav_tree', Jekyll::NavTree)

31
_plugins/thumbnails.rb Normal file
View file

@ -0,0 +1,31 @@
require "mini_magick"
module Jekyll
module Thumbnails
class ThumbnailGenerator < Jekyll::Generator
safe false
def generate(site)
site.static_files.clone.each do |sf|
next unless sf.kind_of?(Jekyll::StaticFile) && sf.path =~ /\.jpg$|\.jpe|\.jpeg/
#site.static_files.delete(sf)
extension = File.extname(sf.path)
name = File.basename(sf.path, extension)
destination = File.dirname(sf.path)
image = MiniMagick::Image.open(sf.path)
size = site.config['width'] * 0.3
if (image[:width] > size) then
image.resize "#{size}x#{size}"
name = name + '_thumb'
image.write(destination + '/' + name + extension)
destination = destination.sub(site.source, '')
name = name + extension
site.static_files << StaticFile.new(site, site.source, destination, name)
end
end
end
end
end
end

8
_source/404.md Normal file
View file

@ -0,0 +1,8 @@
---
layout: default
---
#Ошибка
К сожалению, вы ошиблись адресом. Такой страницы не существует.
Но у нас есть много других страниц! Например, <a href="/">эта</a>.

View file

@ -0,0 +1 @@
<p>&copy; {{ site.time | date: "%Y"}} ресторан «Баккара». Сайт сделан в <a href="http://strogiypapa.ru">ООО «Строгий папа».</a></p>

View file

@ -0,0 +1 @@
{% nav_tree %}

View file

@ -0,0 +1,38 @@
<!DOCTYPE html>
<html lang="ru"><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="/stylesheets/default.css">
{% if page.url %}<link rel="canonical" href="{{ page.url }}" />{% endif %}
<title>{{ site.title }}{% if page.title %}: {% endif %}{{ page.title }}</title>
</head>
<body>
<div id="header"></div>
<div id="page">
<div id="hover_menu"></div>
<div id="main_content">
{% if page.title %}<h2>{{ page.title }}</h2>{% endif %}
{{ content }}
</div>
<div id="navigation">
{% include navigation.html %}
</div>
</div>
<div id="footer">
{% include footer.html %}
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"> </script>
<script>
$(document).ready(function(){
$("#header").mouseenter(function(){
$("#main_content").toggle();
$("#navigation").is(":visible") ? $("#navigation").hide() : $("#navigation").slideDown('slow');
});
$('a.lightbox').colorbox({rel:'{{ page.url }}'});
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 156 KiB

BIN
_source/images/element.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
_source/images/footer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

BIN
_source/images/header.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 KiB

BIN
_source/images/page_bgr.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

28
_source/index.md Normal file
View file

@ -0,0 +1,28 @@
---
layout: default
title: Главная
order: 0
---
## Добро пожаловать
Если ваш экскаватор вдруг стал плохо копать, просто смахните с него пыль!
> Однажды в студеную зимнюю пору я из лесу вышел, был жаркий июль.
> Гляжу - поднимается медленно в гору девица, сжимая в зубах ридикюль.
### Советы огородника-камикадзе
Шайтан-байтан сидеть на стена. Шайтан-байтан свалиться со сна. Весь королевский илык, весь королевский арык не могут шайтана, не могут байтана, не могут байтана, шайтана-байтана, байтана-шайтана тык-тык.
**Руссено́рск,** **руссоно́рск** ([норв.]() Russenorsk, Russonorsk), или *«Моя-по-твоя»* ([норв.]() *Moja på tvoja*) — смешанный русско-норвежский язык (один из примеров пиджина), обслуживавший общение поморских и норвежских торговцев на северном побережье Норвегии.
Существовал с [1750]() по [1914]() годы, когда велась [активная морская торговля]() зерном и рыбой между Норвегией и [Поморьем]().
В руссенорске зафиксировано около 400 слов, 50 % лексики — из норвежского языка, 40 % — из русского, остальные заимствованы из английского, нидерландского, нижненемецкого, финского и саамского. Грамматика и фонетика чрезвычайно упрощены.
####Примеры фраз
* *Moja på tvoja.* — Я говорю на твоем [языке]().
* *Kak sprek? Moje niet forsto.* — Что ты говоришь? Я тебя не понимаю.
* *å råbbåte* — работать.
* *klæba* — хлеб.

View file

@ -0,0 +1,66 @@
---
---
@bg: #ffffff;
@text: #000000;
@links: #4c57d8;
@additional: #081073;
@pagewidth: 850px;
body {
/*font-family: 'PT Sans', 'Arial', sans-serif;*/
background: @bg url(/images/background.png);
color: @text;
font-size:16px;
a{
color: @links;
}
p {
text-indent: 2em;
}
}
.default(@topmargin: 0px){
width: @pagewidth;
margin: @topmargin auto;
}
#header{
height: 298px;
background: url('/images/header.png');
.default;
}
#page{
.default(-1em);
background: url('/images/page_bgr.png');
}
#footer{
.default;
height: 144px;
background: url('/images/footer.png');
}
#navigation{
display: none;
margin: 0;
ul{
list-style-type: none;
text-align: center;
li:after{
background: url('/images/separator.png');
}
li{
padding: 1em 0;
}
a{
color: @text;
font-size: 20px;
text-decoration: none;
}
}
}
#main_content{
padding: 2em;
}

View file

@ -0,0 +1,15 @@
---
title: О ресторане
layout: default
---
Расположившись на территории горнолыжного комплекса &ldquo;Московские Альпы&rdquo;, гостеприимный альпийский домик охотно принимает под свой кров всех желающих, причем для каждого гостя найдется угощение по карману и занятие по душе.</p>
<p>Угощают в &ldquo;Шале&rdquo; типичными &ldquo;альпийскими&rdquo; блюдами. Например, &ldquo;Раклетт&rdquo;, &ldquo;Горячий камень&rdquo;, &ldquo;Фондю&rdquo;. Не останутся без внимания и любители европейской кухни. Демократичные цены, бизнес-ланч и специальные предложения удовлетворят пожелания каждого гостя.</p>
<p>Однако сытная кухня &ndash; не единственная гордость ресторана. Здесь проводятся яркие корпоративные и дружеские банкеты, свадьбы, детские дни рождения, стильные презентации и вечеринки. Банкетное меню, украшение зала, шоу-программа, фейерверк и индивидульный подход к каждому гостю позволит Вам провести прекрасный вечер в ресторане &ldquo;Шале&rdquo;.</p>
<!--more-->
<p>В &ldquo;Шале&rdquo; проходят концерты бардовской песни с участием таких известных исполнителей, как Тимур Шаов и Александр Городницкий и многих других. Ежемесячно ресторан принимает участников турнира бильярдистов. Им есть где развернуться &ndash; просторный бильярдный зал вмещает 4 &ldquo;русских&rdquo; и 4 &ldquo;американских&rdquo; стола. А в дни важных матчей у проекционного экрана собираются импульсивные болельщики. В общем, публика здесь самая разнообразная. А объединяет ее особый &ldquo;альпийский&rdquo; дух, царящий у подножия горного склона в демократичном и гостеприимном &ldquo;Шале&rdquo;.</p>

View file

@ -0,0 +1,24 @@
---
title: Организация мероприятий
layout: default
---
<p>Любое торжество начинается, прежде всего, с работы. Вы тратите время на поиск помещения, сравнение стоимости, выбор блюд, составление шоу-программы и многое другое. Либо, как вариант, доверяете организацию мероприятия event-агентству, но результат как в первом, так и во втором случае не всегда бывает таким, как Вам бы того хотелось.</p>
<p>Представляем Вам Идеальное решение для проведения мероприятия:</p>
<p>Только в Ресторане «Шале» Вы сможете оправдать свои желания, получив массу удовольствия от высокого уровня сервиса, большого ассортимента блюд и отличной атмосферы в ресторане, будь то небольшой семейный ужин или массовый корпоративный праздник.</p>
<!--more-->
<p>Ресторан «Шале», расположенный в самом живописном месте города Москвы, обладает всей необходимой инфраструктурой для проведения любого торжества. Ресторан предложит изысканные блюда высочайшего качества в большом ассортименте, а наличие спортивных площадок и горнолыжных склонов, поможет разнообразить программу спортивными играми. Также мы поможем Вам профессионально организовать шоу-программу с участием звезд отечественной и зарубежной эстрады, ведущих DJs.</p>
<p>Большой зал нашего ресторана рассчитан на прием до 300 гостей, так же готовы Вам предложить один
из двух малых банкетных залов, предназначенных для проведения закрытых семинаров и коллективных
встреч, а в теплое время года мы с радостью организуем торжество на открытой террасе.</p>
<p>Организация праздника в ресторане «Шале» &ndash; это самый простой и надежный способ провести мероприятие с удовольствием и для себя, и для Ваших гостей. Ведь от Вас потребуется только высказать свои предпочтения, а все остальное сделает команда профессионалов.</p>
<p>Услуги по организации праздников предоставляются как для корпоративных заказчиков (праздники, банкеты, вечеринки, презентации, проведение семинаров, организация календарных праздников), так и для частных
клиентов (юбилей, день рождения, организация свадьбы, вечеринок, выпускного вечера). Чтобы каждый праздник был неповторимым, мы продумаем все до мелочей.</p>

44
_source/салаты.html Normal file
View file

@ -0,0 +1,44 @@
---
title: Салаты
layout: default
---
<div id="entry">
<div class="item">
<div class="item-name">«Цезарь» с куриной грудкой</div>
<div class="item-weight">Вес: 250г</div>
<div class="item-description">Салат «Романо» с теплой куриной грудкой под сыром «Пармезан» с пшеничными гренками</div>
<div class="item-price">310р</div>
</div>
<!--more-->
<div class="item">
<div class="item-name">«Цезарь» с лососем</div>
<div class="item-weight">Вес: 250г</div>
<div class="item-description">Классический салат «Цезарь» с копченым лососем и икорной россыпью </div>
<div class="item-price">340р</div>
</div>
<div class="item">
<div class="item-name">«Дары моря»</div>
<div class="item-weight">Вес: 230/30г</div>
<div class="item-description">Морской коктейль с листьями салата «Айсберг», кедровыми орешками , помидорами «Черри» и соусом «Бальзамик»</div>
<div class="item-price">330р</div>
</div>
<div class="item">
<div class="item-name">«Греческий»</div>
<div class="item-weight">Вес: 290г</div>
<div class="item-description">Салат «Айсберг» с маслинами, оливками, свежими овощами и сыром «Фета»</div>
<div class="item-price">260р</div>
</div>
<div class="item">
<div class="item-name">«Капрезе»</div>
<div class="item-weight">Вес: 200/15г</div>
<div class="item-description">
<p>Свежие помидоры, сыр «Моцерелла», базилик.</p>
<p>Заправлен соусом «Песто»</p>
</div>
<div class="item-price">290р</div>
</div>

View file

@ -0,0 +1,54 @@
---
title: Фрикасе из курицы со сладким перцем
layout: default
---
<p><img src="frikase-iz-kuricy-s-percem-4.jpg" alt="" /></p>
<p>Предлагаю вам красочный и сытный летний рецепт блюда из курицы. В этом варианте фрикасе получается с легким уклоном в сторону сладкого вкуса &ndash; в основном за счет сладкого перца и изюма. Оливки придают фрикасе интересную пикантную нотку, но если вы их не любите &ndash; можете просто пропустить этот ингредиент.</p>
<p>На мой вкус, этому блюду гарнир не нужен, но при желании его можно подать с рисом, перловкой или картофельным пюре.</p>
<p>Ингредиенты на 4-6 порций:</p>
<ul>
<li>1 кг куриных окорочков или бедер</li>
<li>1 средняя луковица</li>
<li>4 зубчика чеснока</li>
<li>2 крупных сладких перца (у меня красный и зеленый)</li>
<li>800 г томатов в собственном соку</li>
<li>1 ст.л. красного винного уксуса</li>
<li>1 ч.л. сахара</li>
<li>100 г оливок</li>
<li>50 г изюма</li>
<li>150 г зеленого горошка (замороженный можно предварительно не размораживать)</li>
<li>соль и перец по вкусу</li>
</ul>
<p>Мелко рубим лук и чеснок. Перец нарезаем соломкой.</p>
<p>Окорочка разрезаем на части, соли и перчим.</p>
<p>В сотейнике разогреваем 2 ст.л. растительного масла. На сильном огне обжариваем куски курицы с обеих сторон до золотистого цвета, по 2 минуты с каждой стороны. Перекладываем на тарелку.</p>
<p>Уменьшаем огонь под сотейником до среднего. Кладем лук, чеснок и перец, жарим, помешивая, около 5 минут.</p>
<p><img src="frikase-iz-kuricy-s-percem-1.jpg" alt="Жарим овощи" /></p>
<p>Добавляем сахар, уксус и размятые томаты вместе с соком.</p>
<p><img src="frikase-iz-kuricy-s-percem-2.jpg" alt="+ томаты" /></p>
<p>Возвращаем в сотейник курицу. Солим по вкусу. Доводим до кипения и готовим на умеренном огне под крышкой около 10 минут.</p>
<p>Добавляем оливки и изюм.</p>
<p><img src="frikase-iz-kuricy-s-percem-3.jpg" alt="+ оливки и изюм" /></p>
<p>Перемешиваем и тушим до готовности курицы, еще около 25-30 минут</p>
<p>За 5 минут до готовности кладем в сотейник горошек.</p>
<p><img src="frikase-iz-kuricy-s-percem.jpg" alt="Фрикасе из курицы со сладким перцем" /></p>
<p>Приятного аппетита!</p>