linkedin2cv 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.buildpacks +2 -0
- data/.bundle/config +1 -0
- data/.gitignore +7 -0
- data/.node +1 -0
- data/.travis.yml +21 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +119 -0
- data/Procfile +3 -0
- data/README.md +32 -0
- data/Rakefile +6 -0
- data/Vagrantfile +16 -0
- data/app/routes/api.rb +101 -0
- data/app/routes/web.rb +132 -0
- data/app/views/hello.erb +36 -0
- data/app/views/home.erb +12 -0
- data/app/views/index.haml +11 -0
- data/app.rb +26 -0
- data/config.ru +6 -0
- data/config.yml +31 -0
- data/lib/linkedin2cv/cli/command.rb +46 -0
- data/lib/linkedin2cv/converter.rb +116 -0
- data/lib/linkedin2cv/logging.rb +35 -0
- data/lib/linkedin2cv/renderer/latex_renderer.rb +64 -0
- data/lib/linkedin2cv/version.rb +3 -0
- data/linkedin2cv.gemspec +49 -0
- data/public/.bowerrc +3 -0
- data/public/.editorconfig +21 -0
- data/public/.gitattributes +1 -0
- data/public/.gitignore +5 -0
- data/public/.jshintrc +24 -0
- data/public/.travis.yml +7 -0
- data/public/Gruntfile.js +487 -0
- data/public/app/.buildignore +1 -0
- data/public/app/.htaccess +543 -0
- data/public/app/404.html +157 -0
- data/public/app/favicon.ico +0 -0
- data/public/app/images/yeoman.png +0 -0
- data/public/app/index.html +73 -0
- data/public/app/robots.txt +3 -0
- data/public/app/scripts/app.js +20 -0
- data/public/app/scripts/controllers/main.js +21 -0
- data/public/app/scripts/services/linkedin2cv.js +93 -0
- data/public/app/styles/main.scss +95 -0
- data/public/app/views/main.html +23 -0
- data/public/bower.json +19 -0
- data/public/karma-e2e.conf.js +54 -0
- data/public/karma.conf.js +56 -0
- data/public/package.json +41 -0
- data/public/test/.jshintrc +36 -0
- data/public/test/runner.html +10 -0
- data/public/test/spec/controllers/main.js +22 -0
- data/public/test/spec/services/happyapi.js +18 -0
- data/public/test/spec/services/happyservice.js +18 -0
- data/spec/converter_spec.rb +83 -0
- data/spec/mocks/config.yml +31 -0
- data/spec/mocks/profile.json +866 -0
- data/spec/spec_helper.rb +13 -0
- data/templates/cv.erb +327 -0
- data/templates/foo.asciidoc +11 -0
- data/templates/foo.latex +230 -0
- data/test.rb +109 -0
- data/test.sh +6 -0
- data/teust.rb +75 -0
- metadata +434 -0
@@ -0,0 +1,543 @@
|
|
1
|
+
# Apache Configuration File
|
2
|
+
|
3
|
+
# (!) Using `.htaccess` files slows down Apache, therefore, if you have access
|
4
|
+
# to the main server config file (usually called `httpd.conf`), you should add
|
5
|
+
# this logic there: http://httpd.apache.org/docs/current/howto/htaccess.html.
|
6
|
+
|
7
|
+
# ##############################################################################
|
8
|
+
# # CROSS-ORIGIN RESOURCE SHARING (CORS) #
|
9
|
+
# ##############################################################################
|
10
|
+
|
11
|
+
# ------------------------------------------------------------------------------
|
12
|
+
# | Cross-domain AJAX requests |
|
13
|
+
# ------------------------------------------------------------------------------
|
14
|
+
|
15
|
+
# Enable cross-origin AJAX requests.
|
16
|
+
# http://code.google.com/p/html5security/wiki/CrossOriginRequestSecurity
|
17
|
+
# http://enable-cors.org/
|
18
|
+
|
19
|
+
# <IfModule mod_headers.c>
|
20
|
+
# Header set Access-Control-Allow-Origin "*"
|
21
|
+
# </IfModule>
|
22
|
+
|
23
|
+
# ------------------------------------------------------------------------------
|
24
|
+
# | CORS-enabled images |
|
25
|
+
# ------------------------------------------------------------------------------
|
26
|
+
|
27
|
+
# Send the CORS header for images when browsers request it.
|
28
|
+
# https://developer.mozilla.org/en/CORS_Enabled_Image
|
29
|
+
# http://blog.chromium.org/2011/07/using-cross-domain-images-in-webgl-and.html
|
30
|
+
# http://hacks.mozilla.org/2011/11/using-cors-to-load-webgl-textures-from-cross-domain-images/
|
31
|
+
|
32
|
+
<IfModule mod_setenvif.c>
|
33
|
+
<IfModule mod_headers.c>
|
34
|
+
<FilesMatch "\.(gif|ico|jpe?g|png|svg|svgz|webp)$">
|
35
|
+
SetEnvIf Origin ":" IS_CORS
|
36
|
+
Header set Access-Control-Allow-Origin "*" env=IS_CORS
|
37
|
+
</FilesMatch>
|
38
|
+
</IfModule>
|
39
|
+
</IfModule>
|
40
|
+
|
41
|
+
# ------------------------------------------------------------------------------
|
42
|
+
# | Web fonts access |
|
43
|
+
# ------------------------------------------------------------------------------
|
44
|
+
|
45
|
+
# Allow access from all domains for web fonts
|
46
|
+
|
47
|
+
<IfModule mod_headers.c>
|
48
|
+
<FilesMatch "\.(eot|font.css|otf|ttc|ttf|woff)$">
|
49
|
+
Header set Access-Control-Allow-Origin "*"
|
50
|
+
</FilesMatch>
|
51
|
+
</IfModule>
|
52
|
+
|
53
|
+
|
54
|
+
# ##############################################################################
|
55
|
+
# # ERRORS #
|
56
|
+
# ##############################################################################
|
57
|
+
|
58
|
+
# ------------------------------------------------------------------------------
|
59
|
+
# | 404 error prevention for non-existing redirected folders |
|
60
|
+
# ------------------------------------------------------------------------------
|
61
|
+
|
62
|
+
# Prevent Apache from returning a 404 error for a rewrite if a directory
|
63
|
+
# with the same name does not exist.
|
64
|
+
# http://httpd.apache.org/docs/current/content-negotiation.html#multiviews
|
65
|
+
# http://www.webmasterworld.com/apache/3808792.htm
|
66
|
+
|
67
|
+
Options -MultiViews
|
68
|
+
|
69
|
+
# ------------------------------------------------------------------------------
|
70
|
+
# | Custom error messages / pages |
|
71
|
+
# ------------------------------------------------------------------------------
|
72
|
+
|
73
|
+
# You can customize what Apache returns to the client in case of an error (see
|
74
|
+
# http://httpd.apache.org/docs/current/mod/core.html#errordocument), e.g.:
|
75
|
+
|
76
|
+
ErrorDocument 404 /404.html
|
77
|
+
|
78
|
+
|
79
|
+
# ##############################################################################
|
80
|
+
# # INTERNET EXPLORER #
|
81
|
+
# ##############################################################################
|
82
|
+
|
83
|
+
# ------------------------------------------------------------------------------
|
84
|
+
# | Better website experience |
|
85
|
+
# ------------------------------------------------------------------------------
|
86
|
+
|
87
|
+
# Force IE to render pages in the highest available mode in the various
|
88
|
+
# cases when it may not: http://hsivonen.iki.fi/doctype/ie-mode.pdf.
|
89
|
+
|
90
|
+
<IfModule mod_headers.c>
|
91
|
+
Header set X-UA-Compatible "IE=edge"
|
92
|
+
# `mod_headers` can't match based on the content-type, however, we only
|
93
|
+
# want to send this header for HTML pages and not for the other resources
|
94
|
+
<FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
|
95
|
+
Header unset X-UA-Compatible
|
96
|
+
</FilesMatch>
|
97
|
+
</IfModule>
|
98
|
+
|
99
|
+
# ------------------------------------------------------------------------------
|
100
|
+
# | Cookie setting from iframes |
|
101
|
+
# ------------------------------------------------------------------------------
|
102
|
+
|
103
|
+
# Allow cookies to be set from iframes in IE.
|
104
|
+
|
105
|
+
# <IfModule mod_headers.c>
|
106
|
+
# Header set P3P "policyref=\"/w3c/p3p.xml\", CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""
|
107
|
+
# </IfModule>
|
108
|
+
|
109
|
+
# ------------------------------------------------------------------------------
|
110
|
+
# | Screen flicker |
|
111
|
+
# ------------------------------------------------------------------------------
|
112
|
+
|
113
|
+
# Stop screen flicker in IE on CSS rollovers (this only works in
|
114
|
+
# combination with the `ExpiresByType` directives for images from below).
|
115
|
+
|
116
|
+
# BrowserMatch "MSIE" brokenvary=1
|
117
|
+
# BrowserMatch "Mozilla/4.[0-9]{2}" brokenvary=1
|
118
|
+
# BrowserMatch "Opera" !brokenvary
|
119
|
+
# SetEnvIf brokenvary 1 force-no-vary
|
120
|
+
|
121
|
+
|
122
|
+
# ##############################################################################
|
123
|
+
# # MIME TYPES AND ENCODING #
|
124
|
+
# ##############################################################################
|
125
|
+
|
126
|
+
# ------------------------------------------------------------------------------
|
127
|
+
# | Proper MIME types for all files |
|
128
|
+
# ------------------------------------------------------------------------------
|
129
|
+
|
130
|
+
<IfModule mod_mime.c>
|
131
|
+
|
132
|
+
# Audio
|
133
|
+
AddType audio/mp4 m4a f4a f4b
|
134
|
+
AddType audio/ogg oga ogg
|
135
|
+
|
136
|
+
# JavaScript
|
137
|
+
# Normalize to standard type (it's sniffed in IE anyways):
|
138
|
+
# http://tools.ietf.org/html/rfc4329#section-7.2
|
139
|
+
AddType application/javascript js jsonp
|
140
|
+
AddType application/json json
|
141
|
+
|
142
|
+
# Video
|
143
|
+
AddType video/mp4 mp4 m4v f4v f4p
|
144
|
+
AddType video/ogg ogv
|
145
|
+
AddType video/webm webm
|
146
|
+
AddType video/x-flv flv
|
147
|
+
|
148
|
+
# Web fonts
|
149
|
+
AddType application/font-woff woff
|
150
|
+
AddType application/vnd.ms-fontobject eot
|
151
|
+
|
152
|
+
# Browsers usually ignore the font MIME types and sniff the content,
|
153
|
+
# however, Chrome shows a warning if other MIME types are used for the
|
154
|
+
# following fonts.
|
155
|
+
AddType application/x-font-ttf ttc ttf
|
156
|
+
AddType font/opentype otf
|
157
|
+
|
158
|
+
# Make SVGZ fonts work on iPad:
|
159
|
+
# https://twitter.com/FontSquirrel/status/14855840545
|
160
|
+
AddType image/svg+xml svg svgz
|
161
|
+
AddEncoding gzip svgz
|
162
|
+
|
163
|
+
# Other
|
164
|
+
AddType application/octet-stream safariextz
|
165
|
+
AddType application/x-chrome-extension crx
|
166
|
+
AddType application/x-opera-extension oex
|
167
|
+
AddType application/x-shockwave-flash swf
|
168
|
+
AddType application/x-web-app-manifest+json webapp
|
169
|
+
AddType application/x-xpinstall xpi
|
170
|
+
AddType application/xml atom rdf rss xml
|
171
|
+
AddType image/webp webp
|
172
|
+
AddType image/x-icon ico
|
173
|
+
AddType text/cache-manifest appcache manifest
|
174
|
+
AddType text/vtt vtt
|
175
|
+
AddType text/x-component htc
|
176
|
+
AddType text/x-vcard vcf
|
177
|
+
|
178
|
+
</IfModule>
|
179
|
+
|
180
|
+
# ------------------------------------------------------------------------------
|
181
|
+
# | UTF-8 encoding |
|
182
|
+
# ------------------------------------------------------------------------------
|
183
|
+
|
184
|
+
# Use UTF-8 encoding for anything served as `text/html` or `text/plain`.
|
185
|
+
AddDefaultCharset utf-8
|
186
|
+
|
187
|
+
# Force UTF-8 for certain file formats.
|
188
|
+
<IfModule mod_mime.c>
|
189
|
+
AddCharset utf-8 .atom .css .js .json .rss .vtt .webapp .xml
|
190
|
+
</IfModule>
|
191
|
+
|
192
|
+
|
193
|
+
# ##############################################################################
|
194
|
+
# # URL REWRITES #
|
195
|
+
# ##############################################################################
|
196
|
+
|
197
|
+
# ------------------------------------------------------------------------------
|
198
|
+
# | Rewrite engine |
|
199
|
+
# ------------------------------------------------------------------------------
|
200
|
+
|
201
|
+
# Turning on the rewrite engine and enabling the `FollowSymLinks` option is
|
202
|
+
# necessary for the following directives to work.
|
203
|
+
|
204
|
+
# If your web host doesn't allow the `FollowSymlinks` option, you may need to
|
205
|
+
# comment it out and use `Options +SymLinksIfOwnerMatch` but, be aware of the
|
206
|
+
# performance impact: http://httpd.apache.org/docs/current/misc/perf-tuning.html#symlinks
|
207
|
+
|
208
|
+
# Also, some cloud hosting services require `RewriteBase` to be set:
|
209
|
+
# http://www.rackspace.com/knowledge_center/frequently-asked-question/why-is-mod-rewrite-not-working-on-my-site
|
210
|
+
|
211
|
+
<IfModule mod_rewrite.c>
|
212
|
+
Options +FollowSymlinks
|
213
|
+
# Options +SymLinksIfOwnerMatch
|
214
|
+
RewriteEngine On
|
215
|
+
# RewriteBase /
|
216
|
+
</IfModule>
|
217
|
+
|
218
|
+
# ------------------------------------------------------------------------------
|
219
|
+
# | Suppressing / Forcing the "www." at the beginning of URLs |
|
220
|
+
# ------------------------------------------------------------------------------
|
221
|
+
|
222
|
+
# The same content should never be available under two different URLs especially
|
223
|
+
# not with and without "www." at the beginning. This can cause SEO problems
|
224
|
+
# (duplicate content), therefore, you should choose one of the alternatives and
|
225
|
+
# redirect the other one.
|
226
|
+
|
227
|
+
# By default option 1 (no "www.") is activated:
|
228
|
+
# http://no-www.org/faq.php?q=class_b
|
229
|
+
|
230
|
+
# If you'd prefer to use option 2, just comment out all the lines from option 1
|
231
|
+
# and uncomment the ones from option 2.
|
232
|
+
|
233
|
+
# IMPORTANT: NEVER USE BOTH RULES AT THE SAME TIME!
|
234
|
+
|
235
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
236
|
+
|
237
|
+
# Option 1: rewrite www.example.com → example.com
|
238
|
+
|
239
|
+
<IfModule mod_rewrite.c>
|
240
|
+
RewriteCond %{HTTPS} !=on
|
241
|
+
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
|
242
|
+
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
|
243
|
+
</IfModule>
|
244
|
+
|
245
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
246
|
+
|
247
|
+
# Option 2: rewrite example.com → www.example.com
|
248
|
+
|
249
|
+
# Be aware that the following might not be a good idea if you use "real"
|
250
|
+
# subdomains for certain parts of your website.
|
251
|
+
|
252
|
+
# <IfModule mod_rewrite.c>
|
253
|
+
# RewriteCond %{HTTPS} !=on
|
254
|
+
# RewriteCond %{HTTP_HOST} !^www\..+$ [NC]
|
255
|
+
# RewriteRule ^ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
|
256
|
+
# </IfModule>
|
257
|
+
|
258
|
+
|
259
|
+
# ##############################################################################
|
260
|
+
# # SECURITY #
|
261
|
+
# ##############################################################################
|
262
|
+
|
263
|
+
# ------------------------------------------------------------------------------
|
264
|
+
# | Content Security Policy (CSP) |
|
265
|
+
# ------------------------------------------------------------------------------
|
266
|
+
|
267
|
+
# You can mitigate the risk of cross-site scripting and other content-injection
|
268
|
+
# attacks by setting a Content Security Policy which whitelists trusted sources
|
269
|
+
# of content for your site.
|
270
|
+
|
271
|
+
# The example header below allows ONLY scripts that are loaded from the current
|
272
|
+
# site's origin (no inline scripts, no CDN, etc). This almost certainly won't
|
273
|
+
# work as-is for your site!
|
274
|
+
|
275
|
+
# To get all the details you'll need to craft a reasonable policy for your site,
|
276
|
+
# read: http://html5rocks.com/en/tutorials/security/content-security-policy (or
|
277
|
+
# see the specification: http://w3.org/TR/CSP).
|
278
|
+
|
279
|
+
# <IfModule mod_headers.c>
|
280
|
+
# Header set Content-Security-Policy "script-src 'self'; object-src 'self'"
|
281
|
+
# <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webapp|webm|webp|woff|xml|xpi)$">
|
282
|
+
# Header unset Content-Security-Policy
|
283
|
+
# </FilesMatch>
|
284
|
+
# </IfModule>
|
285
|
+
|
286
|
+
# ------------------------------------------------------------------------------
|
287
|
+
# | File access |
|
288
|
+
# ------------------------------------------------------------------------------
|
289
|
+
|
290
|
+
# Block access to directories without a default document.
|
291
|
+
# Usually you should leave this uncommented because you shouldn't allow anyone
|
292
|
+
# to surf through every directory on your server (which may includes rather
|
293
|
+
# private places like the CMS's directories).
|
294
|
+
|
295
|
+
<IfModule mod_autoindex.c>
|
296
|
+
Options -Indexes
|
297
|
+
</IfModule>
|
298
|
+
|
299
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
300
|
+
|
301
|
+
# Block access to hidden files and directories.
|
302
|
+
# This includes directories used by version control systems such as Git and SVN.
|
303
|
+
|
304
|
+
<IfModule mod_rewrite.c>
|
305
|
+
RewriteCond %{SCRIPT_FILENAME} -d [OR]
|
306
|
+
RewriteCond %{SCRIPT_FILENAME} -f
|
307
|
+
RewriteRule "(^|/)\." - [F]
|
308
|
+
</IfModule>
|
309
|
+
|
310
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
311
|
+
|
312
|
+
# Block access to backup and source files.
|
313
|
+
# These files may be left by some text editors and can pose a great security
|
314
|
+
# danger when anyone has access to them.
|
315
|
+
|
316
|
+
<FilesMatch "(^#.*#|\.(bak|config|dist|fla|inc|ini|log|psd|sh|sql|sw[op])|~)$">
|
317
|
+
Order allow,deny
|
318
|
+
Deny from all
|
319
|
+
Satisfy All
|
320
|
+
</FilesMatch>
|
321
|
+
|
322
|
+
# ------------------------------------------------------------------------------
|
323
|
+
# | Secure Sockets Layer (SSL) |
|
324
|
+
# ------------------------------------------------------------------------------
|
325
|
+
|
326
|
+
# Rewrite secure requests properly to prevent SSL certificate warnings, e.g.:
|
327
|
+
# prevent `https://www.example.com` when your certificate only allows
|
328
|
+
# `https://secure.example.com`.
|
329
|
+
|
330
|
+
# <IfModule mod_rewrite.c>
|
331
|
+
# RewriteCond %{SERVER_PORT} !^443
|
332
|
+
# RewriteRule ^ https://example-domain-please-change-me.com%{REQUEST_URI} [R=301,L]
|
333
|
+
# </IfModule>
|
334
|
+
|
335
|
+
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
336
|
+
|
337
|
+
# Force client-side SSL redirection.
|
338
|
+
|
339
|
+
# If a user types "example.com" in his browser, the above rule will redirect him
|
340
|
+
# to the secure version of the site. That still leaves a window of opportunity
|
341
|
+
# (the initial HTTP connection) for an attacker to downgrade or redirect the
|
342
|
+
# request. The following header ensures that browser will ONLY connect to your
|
343
|
+
# server via HTTPS, regardless of what the users type in the address bar.
|
344
|
+
# http://www.html5rocks.com/en/tutorials/security/transport-layer-security/
|
345
|
+
|
346
|
+
# <IfModule mod_headers.c>
|
347
|
+
# Header set Strict-Transport-Security max-age=16070400;
|
348
|
+
# </IfModule>
|
349
|
+
|
350
|
+
# ------------------------------------------------------------------------------
|
351
|
+
# | Server software information |
|
352
|
+
# ------------------------------------------------------------------------------
|
353
|
+
|
354
|
+
# Avoid displaying the exact Apache version number, the description of the
|
355
|
+
# generic OS-type and the information about Apache's compiled-in modules.
|
356
|
+
|
357
|
+
# ADD THIS DIRECTIVE IN THE `httpd.conf` AS IT WILL NOT WORK IN THE `.htaccess`!
|
358
|
+
|
359
|
+
# ServerTokens Prod
|
360
|
+
|
361
|
+
|
362
|
+
# ##############################################################################
|
363
|
+
# # WEB PERFORMANCE #
|
364
|
+
# ##############################################################################
|
365
|
+
|
366
|
+
# ------------------------------------------------------------------------------
|
367
|
+
# | Compression |
|
368
|
+
# ------------------------------------------------------------------------------
|
369
|
+
|
370
|
+
<IfModule mod_deflate.c>
|
371
|
+
|
372
|
+
# Force compression for mangled headers.
|
373
|
+
# http://developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping
|
374
|
+
<IfModule mod_setenvif.c>
|
375
|
+
<IfModule mod_headers.c>
|
376
|
+
SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
|
377
|
+
RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
|
378
|
+
</IfModule>
|
379
|
+
</IfModule>
|
380
|
+
|
381
|
+
# Compress all output labeled with one of the following MIME-types
|
382
|
+
# (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
|
383
|
+
# and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines
|
384
|
+
# as `AddOutputFilterByType` is still in the core directives).
|
385
|
+
<IfModule mod_filter.c>
|
386
|
+
AddOutputFilterByType DEFLATE application/atom+xml \
|
387
|
+
application/javascript \
|
388
|
+
application/json \
|
389
|
+
application/rss+xml \
|
390
|
+
application/vnd.ms-fontobject \
|
391
|
+
application/x-font-ttf \
|
392
|
+
application/x-web-app-manifest+json \
|
393
|
+
application/xhtml+xml \
|
394
|
+
application/xml \
|
395
|
+
font/opentype \
|
396
|
+
image/svg+xml \
|
397
|
+
image/x-icon \
|
398
|
+
text/css \
|
399
|
+
text/html \
|
400
|
+
text/plain \
|
401
|
+
text/x-component \
|
402
|
+
text/xml
|
403
|
+
</IfModule>
|
404
|
+
|
405
|
+
</IfModule>
|
406
|
+
|
407
|
+
# ------------------------------------------------------------------------------
|
408
|
+
# | Content transformations |
|
409
|
+
# ------------------------------------------------------------------------------
|
410
|
+
|
411
|
+
# Prevent some of the mobile network providers from modifying the content of
|
412
|
+
# your site: http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.5.
|
413
|
+
|
414
|
+
# <IfModule mod_headers.c>
|
415
|
+
# Header set Cache-Control "no-transform"
|
416
|
+
# </IfModule>
|
417
|
+
|
418
|
+
# ------------------------------------------------------------------------------
|
419
|
+
# | ETag removal |
|
420
|
+
# ------------------------------------------------------------------------------
|
421
|
+
|
422
|
+
# Since we're sending far-future expires headers (see below), ETags can
|
423
|
+
# be removed: http://developer.yahoo.com/performance/rules.html#etags.
|
424
|
+
|
425
|
+
# `FileETag None` is not enough for every server.
|
426
|
+
<IfModule mod_headers.c>
|
427
|
+
Header unset ETag
|
428
|
+
</IfModule>
|
429
|
+
|
430
|
+
FileETag None
|
431
|
+
|
432
|
+
# ------------------------------------------------------------------------------
|
433
|
+
# | Expires headers (for better cache control) |
|
434
|
+
# ------------------------------------------------------------------------------
|
435
|
+
|
436
|
+
# The following expires headers are set pretty far in the future. If you don't
|
437
|
+
# control versioning with filename-based cache busting, consider lowering the
|
438
|
+
# cache time for resources like CSS and JS to something like 1 week.
|
439
|
+
|
440
|
+
<IfModule mod_expires.c>
|
441
|
+
|
442
|
+
ExpiresActive on
|
443
|
+
ExpiresDefault "access plus 1 month"
|
444
|
+
|
445
|
+
# CSS
|
446
|
+
ExpiresByType text/css "access plus 1 year"
|
447
|
+
|
448
|
+
# Data interchange
|
449
|
+
ExpiresByType application/json "access plus 0 seconds"
|
450
|
+
ExpiresByType application/xml "access plus 0 seconds"
|
451
|
+
ExpiresByType text/xml "access plus 0 seconds"
|
452
|
+
|
453
|
+
# Favicon (cannot be renamed!)
|
454
|
+
ExpiresByType image/x-icon "access plus 1 week"
|
455
|
+
|
456
|
+
# HTML components (HTCs)
|
457
|
+
ExpiresByType text/x-component "access plus 1 month"
|
458
|
+
|
459
|
+
# HTML
|
460
|
+
ExpiresByType text/html "access plus 0 seconds"
|
461
|
+
|
462
|
+
# JavaScript
|
463
|
+
ExpiresByType application/javascript "access plus 1 year"
|
464
|
+
|
465
|
+
# Manifest files
|
466
|
+
ExpiresByType application/x-web-app-manifest+json "access plus 0 seconds"
|
467
|
+
ExpiresByType text/cache-manifest "access plus 0 seconds"
|
468
|
+
|
469
|
+
# Media
|
470
|
+
ExpiresByType audio/ogg "access plus 1 month"
|
471
|
+
ExpiresByType image/gif "access plus 1 month"
|
472
|
+
ExpiresByType image/jpeg "access plus 1 month"
|
473
|
+
ExpiresByType image/png "access plus 1 month"
|
474
|
+
ExpiresByType video/mp4 "access plus 1 month"
|
475
|
+
ExpiresByType video/ogg "access plus 1 month"
|
476
|
+
ExpiresByType video/webm "access plus 1 month"
|
477
|
+
|
478
|
+
# Web feeds
|
479
|
+
ExpiresByType application/atom+xml "access plus 1 hour"
|
480
|
+
ExpiresByType application/rss+xml "access plus 1 hour"
|
481
|
+
|
482
|
+
# Web fonts
|
483
|
+
ExpiresByType application/font-woff "access plus 1 month"
|
484
|
+
ExpiresByType application/vnd.ms-fontobject "access plus 1 month"
|
485
|
+
ExpiresByType application/x-font-ttf "access plus 1 month"
|
486
|
+
ExpiresByType font/opentype "access plus 1 month"
|
487
|
+
ExpiresByType image/svg+xml "access plus 1 month"
|
488
|
+
|
489
|
+
</IfModule>
|
490
|
+
|
491
|
+
# ------------------------------------------------------------------------------
|
492
|
+
# | Filename-based cache busting |
|
493
|
+
# ------------------------------------------------------------------------------
|
494
|
+
|
495
|
+
# If you're not using a build process to manage your filename version revving,
|
496
|
+
# you might want to consider enabling the following directives to route all
|
497
|
+
# requests such as `/css/style.12345.css` to `/css/style.css`.
|
498
|
+
|
499
|
+
# To understand why this is important and a better idea than `*.css?v231`, read:
|
500
|
+
# http://stevesouders.com/blog/2008/08/23/revving-filenames-dont-use-querystring
|
501
|
+
|
502
|
+
# <IfModule mod_rewrite.c>
|
503
|
+
# RewriteCond %{REQUEST_FILENAME} !-f
|
504
|
+
# RewriteCond %{REQUEST_FILENAME} !-d
|
505
|
+
# RewriteRule ^(.+)\.(\d+)\.(js|css|png|jpg|gif)$ $1.$3 [L]
|
506
|
+
# </IfModule>
|
507
|
+
|
508
|
+
# ------------------------------------------------------------------------------
|
509
|
+
# | File concatenation |
|
510
|
+
# ------------------------------------------------------------------------------
|
511
|
+
|
512
|
+
# Allow concatenation from within specific CSS and JS files, e.g.:
|
513
|
+
# Inside of `script.combined.js` you could have
|
514
|
+
# <!--#include file="libs/jquery.js" -->
|
515
|
+
# <!--#include file="plugins/jquery.idletimer.js" -->
|
516
|
+
# and they would be included into this single file.
|
517
|
+
|
518
|
+
# <IfModule mod_include.c>
|
519
|
+
# <FilesMatch "\.combined\.js$">
|
520
|
+
# Options +Includes
|
521
|
+
# AddOutputFilterByType INCLUDES application/javascript application/json
|
522
|
+
# SetOutputFilter INCLUDES
|
523
|
+
# </FilesMatch>
|
524
|
+
# <FilesMatch "\.combined\.css$">
|
525
|
+
# Options +Includes
|
526
|
+
# AddOutputFilterByType INCLUDES text/css
|
527
|
+
# SetOutputFilter INCLUDES
|
528
|
+
# </FilesMatch>
|
529
|
+
# </IfModule>
|
530
|
+
|
531
|
+
# ------------------------------------------------------------------------------
|
532
|
+
# | Persistent connections |
|
533
|
+
# ------------------------------------------------------------------------------
|
534
|
+
|
535
|
+
# Allow multiple requests to be sent over the same TCP connection:
|
536
|
+
# http://httpd.apache.org/docs/current/en/mod/core.html#keepalive.
|
537
|
+
|
538
|
+
# Enable if you serve a lot of static content but, be aware of the
|
539
|
+
# possible disadvantages!
|
540
|
+
|
541
|
+
# <IfModule mod_headers.c>
|
542
|
+
# Header set Connection Keep-Alive
|
543
|
+
# </IfModule>
|
data/public/app/404.html
ADDED
@@ -0,0 +1,157 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="utf-8">
|
5
|
+
<title>Page Not Found :(</title>
|
6
|
+
<style>
|
7
|
+
::-moz-selection {
|
8
|
+
background: #b3d4fc;
|
9
|
+
text-shadow: none;
|
10
|
+
}
|
11
|
+
|
12
|
+
::selection {
|
13
|
+
background: #b3d4fc;
|
14
|
+
text-shadow: none;
|
15
|
+
}
|
16
|
+
|
17
|
+
html {
|
18
|
+
padding: 30px 10px;
|
19
|
+
font-size: 20px;
|
20
|
+
line-height: 1.4;
|
21
|
+
color: #737373;
|
22
|
+
background: #f0f0f0;
|
23
|
+
-webkit-text-size-adjust: 100%;
|
24
|
+
-ms-text-size-adjust: 100%;
|
25
|
+
}
|
26
|
+
|
27
|
+
html,
|
28
|
+
input {
|
29
|
+
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
30
|
+
}
|
31
|
+
|
32
|
+
body {
|
33
|
+
max-width: 500px;
|
34
|
+
_width: 500px;
|
35
|
+
padding: 30px 20px 50px;
|
36
|
+
border: 1px solid #b3b3b3;
|
37
|
+
border-radius: 4px;
|
38
|
+
margin: 0 auto;
|
39
|
+
box-shadow: 0 1px 10px #a7a7a7, inset 0 1px 0 #fff;
|
40
|
+
background: #fcfcfc;
|
41
|
+
}
|
42
|
+
|
43
|
+
h1 {
|
44
|
+
margin: 0 10px;
|
45
|
+
font-size: 50px;
|
46
|
+
text-align: center;
|
47
|
+
}
|
48
|
+
|
49
|
+
h1 span {
|
50
|
+
color: #bbb;
|
51
|
+
}
|
52
|
+
|
53
|
+
h3 {
|
54
|
+
margin: 1.5em 0 0.5em;
|
55
|
+
}
|
56
|
+
|
57
|
+
p {
|
58
|
+
margin: 1em 0;
|
59
|
+
}
|
60
|
+
|
61
|
+
ul {
|
62
|
+
padding: 0 0 0 40px;
|
63
|
+
margin: 1em 0;
|
64
|
+
}
|
65
|
+
|
66
|
+
.container {
|
67
|
+
max-width: 380px;
|
68
|
+
_width: 380px;
|
69
|
+
margin: 0 auto;
|
70
|
+
}
|
71
|
+
|
72
|
+
/* google search */
|
73
|
+
|
74
|
+
#goog-fixurl ul {
|
75
|
+
list-style: none;
|
76
|
+
padding: 0;
|
77
|
+
margin: 0;
|
78
|
+
}
|
79
|
+
|
80
|
+
#goog-fixurl form {
|
81
|
+
margin: 0;
|
82
|
+
}
|
83
|
+
|
84
|
+
#goog-wm-qt,
|
85
|
+
#goog-wm-sb {
|
86
|
+
border: 1px solid #bbb;
|
87
|
+
font-size: 16px;
|
88
|
+
line-height: normal;
|
89
|
+
vertical-align: top;
|
90
|
+
color: #444;
|
91
|
+
border-radius: 2px;
|
92
|
+
}
|
93
|
+
|
94
|
+
#goog-wm-qt {
|
95
|
+
width: 220px;
|
96
|
+
height: 20px;
|
97
|
+
padding: 5px;
|
98
|
+
margin: 5px 10px 0 0;
|
99
|
+
box-shadow: inset 0 1px 1px #ccc;
|
100
|
+
}
|
101
|
+
|
102
|
+
#goog-wm-sb {
|
103
|
+
display: inline-block;
|
104
|
+
height: 32px;
|
105
|
+
padding: 0 10px;
|
106
|
+
margin: 5px 0 0;
|
107
|
+
white-space: nowrap;
|
108
|
+
cursor: pointer;
|
109
|
+
background-color: #f5f5f5;
|
110
|
+
background-image: -webkit-linear-gradient(rgba(255,255,255,0), #f1f1f1);
|
111
|
+
background-image: -moz-linear-gradient(rgba(255,255,255,0), #f1f1f1);
|
112
|
+
background-image: -ms-linear-gradient(rgba(255,255,255,0), #f1f1f1);
|
113
|
+
background-image: -o-linear-gradient(rgba(255,255,255,0), #f1f1f1);
|
114
|
+
-webkit-appearance: none;
|
115
|
+
-moz-appearance: none;
|
116
|
+
appearance: none;
|
117
|
+
*overflow: visible;
|
118
|
+
*display: inline;
|
119
|
+
*zoom: 1;
|
120
|
+
}
|
121
|
+
|
122
|
+
#goog-wm-sb:hover,
|
123
|
+
#goog-wm-sb:focus {
|
124
|
+
border-color: #aaa;
|
125
|
+
box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
|
126
|
+
background-color: #f8f8f8;
|
127
|
+
}
|
128
|
+
|
129
|
+
#goog-wm-qt:hover,
|
130
|
+
#goog-wm-qt:focus {
|
131
|
+
border-color: #105cb6;
|
132
|
+
outline: 0;
|
133
|
+
color: #222;
|
134
|
+
}
|
135
|
+
|
136
|
+
input::-moz-focus-inner {
|
137
|
+
padding: 0;
|
138
|
+
border: 0;
|
139
|
+
}
|
140
|
+
</style>
|
141
|
+
</head>
|
142
|
+
<body>
|
143
|
+
<div class="container">
|
144
|
+
<h1>Not found <span>:(</span></h1>
|
145
|
+
<p>Sorry, but the page you were trying to view does not exist.</p>
|
146
|
+
<p>It looks like this was the result of either:</p>
|
147
|
+
<ul>
|
148
|
+
<li>a mistyped address</li>
|
149
|
+
<li>an out-of-date link</li>
|
150
|
+
</ul>
|
151
|
+
<script>
|
152
|
+
var GOOG_FIXURL_LANG = (navigator.language || '').slice(0,2),GOOG_FIXURL_SITE = location.host;
|
153
|
+
</script>
|
154
|
+
<script src="//linkhelp.clients.google.com/tbproxy/lh/wm/fixurl.js"></script>
|
155
|
+
</div>
|
156
|
+
</body>
|
157
|
+
</html>
|