-
Notifications
You must be signed in to change notification settings - Fork 3
/
config.rb
110 lines (87 loc) · 2.51 KB
/
config.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
require 'lib/feed_helpers'
require 'mp3info'
activate :blog do |blog|
blog.prefix = 'posts'
blog.permalink = ':year/:title.html'
blog.sources = '{year}/{year}-{month}-{day}-{title}.html'
blog.paginate = true
blog.per_page = 3
blog.summary_length = 4_000
end
activate :s3_sync do |s3_sync|
s3_sync.bucket = 'devopsdeflope.ru'
s3_sync.region = 'eu-west-1'
s3_sync.after_build = false
s3_sync.delete = false
end
caching_policy 'text/html', max_age: 0, must_revalidate: true
caching_policy 'image/png', max_age:(60 * 60 * 24 * 365)
caching_policy 'text/css', max_age:(60 * 60 * 24 * 365)
caching_policy 'application/javascript', max_age:(60 * 60 * 24 * 365)
Fog::Logger[:warning] = nil
activate :cache_buster
# Per-page layout changes:
#
# With no layout
page "/feeds/episodes.rss", :layout => false
page "/feeds/itunes.xml", :layout => false
page "/archive", :proxy => "/archive.html"
###
# Helpers
###
helpers FeedHelpers
# Methods defined in the helpers block are available in templates
helpers do
def site_url(protocol = 'http')
if development?
"#{protocol}://localhost:4567"
else
"#{protocol}://devopsdeflope.ru"
end
end
def mp3file_exist?(article_title)
File.exist?("./source/mp3/#{get_mp3_filename(article_title)}")
end
def get_mp3_filename(article_title)
"deflope" + article_title.match(/^\d+/).to_s + ".mp3"
end
def get_audio_duration(path)
Mp3Info.open(path, :parse_tags => false) { |file| Time.at(file.length).gmtime.strftime('%R:%S') }
end
def get_audio_size(path)
File.size(path)
end
end
# Automatic image dimensions on image_tag helper
# activate :automatic_image_sizes
# Methods defined in the helpers block are available in templates
# helpers do
# def some_helper
# "Helping"
# end
# end
set :css_dir, 'stylesheets'
set :js_dir, 'javascripts'
set :images_dir, 'images'
set :markdown_engine, :redcarpet
set :markdown, fenced_code_blocks: true,
autolink: true,
smartypants: true,
with_toc_data: true
# Build-specific configuration
configure :build do
# For example, change the Compass output style for deployment
activate :minify_css
# Minify Javascript on build
activate :minify_javascript
# Enable cache buster
# activate :cache_buster
# Use relative URLs
# activate :relative_assets
# Compress PNGs after build
# First: gem install middleman-smusher
# require "middleman-smusher"
# activate :smusher
# Or use a different image path
# set :http_path, "/Content/images/"
end