Skip to content

Commit f7c75ed

Browse files
committed
Integrated app with sinatra-assetpack gem to manage asset files
1 parent 814ce3a commit f7c75ed

File tree

2 files changed

+35
-12
lines changed

2 files changed

+35
-12
lines changed

app.rb

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
require "sinatra/activerecord"
33
require "sinatra/flash"
44
require "sinatra/contrib/all"
5+
require "sinatra/assetpack"
56
require "json"
67
require "i18n"
78
require "will_paginate"
@@ -17,6 +18,7 @@ class Stringer < Sinatra::Base
1718
set :database_file, "config/database.yml"
1819
set :views, "app/views"
1920
set :public_dir, "app/public"
21+
set :root, File.dirname(__FILE__)
2022

2123
enable :sessions
2224
set :session_secret, ENV["SECRET_TOKEN"] || "secret!"
@@ -25,6 +27,7 @@ class Stringer < Sinatra::Base
2527
register Sinatra::ActiveRecordExtension
2628
register Sinatra::Flash
2729
register Sinatra::Contrib
30+
register Sinatra::AssetPack
2831

2932
ActiveRecord::Base.include_root_in_json = false
3033
end
@@ -49,6 +52,35 @@ def t(*args)
4952
end
5053
end
5154

55+
assets {
56+
serve "/js", from: "app/public/js"
57+
serve "/css", from: "app/public/css"
58+
serve "/images", from: "app/public/img"
59+
60+
js :application, "/js/application.js", [
61+
"/js/jquery-min.js",
62+
"/js/bootstrap-min.js",
63+
"/js/bootstrap.file-input.js",
64+
"/js/mousetrap-min.js",
65+
"/js/underscore-min.js",
66+
"/js/backbone-min.js",
67+
"/js/app.js"
68+
]
69+
70+
css :application, "/css/application.css", [
71+
"/css/bootstrap-min.css",
72+
"/css/flat-ui-no-icons.css",
73+
"/css/font-awesome-min.css",
74+
"/css/styles.css"
75+
]
76+
77+
js_compression :uglify
78+
css_compression :simple
79+
80+
prebuild true
81+
cache_dynamic_assets true
82+
}
83+
5284
before do
5385
I18n.locale = ENV["LOCALE"].blank? ? :en : ENV["LOCALE"].to_sym
5486

app/views/layout.erb

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,18 +8,9 @@
88
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
99
<link rel="shortcut icon" href="/img/favicon.png">
1010
<link href="http://fonts.googleapis.com/css?family=Lato:300,400,700,900,400italic" rel="stylesheet" type="text/css">
11-
12-
<link rel="stylesheet" type="text/css" href="/css/bootstrap-min.css">
13-
<link rel="stylesheet" type="text/css" href="/css/flat-ui-no-icons.css">
14-
<link rel="stylesheet" type="text/css" href="/css/font-awesome-min.css">
15-
<link rel="stylesheet" type="text/css" href="/css/styles.css">
1611

17-
<script type="text/javascript" src="/js/jquery-min.js"></script>
18-
<script type="text/javascript" src="/js/mousetrap-min.js"></script>
19-
<script type="text/javascript" src="/js/bootstrap-min.js"></script>
20-
<script type="text/javascript" src="/js/underscore-min.js"></script>
21-
<script type="text/javascript" src="/js/backbone-min.js"></script>
22-
<script type="text/javascript" src="/js/app.js"></script>
12+
<%= css :application %>
13+
<%= js :application %>
2314

2415
<%= yield_content :head %>
2516
</head>
@@ -43,7 +34,7 @@
4334
<div id="footer">
4435
<%= render_partial :footer %>
4536
</div>
46-
37+
4738
<script>
4839
window.i18n = {};
4940
window.i18n.titleName = "<%= t('layout.title') %>";

0 commit comments

Comments
 (0)