I wanted to use custom stylesheet path /stylesheets/stylesheet.css
to use with nanoc but nanoc doesn't render css file in output
folder. Here are my rules:
compile '/stylesheets/' do
filter :css
end
compile '/images/*/' do
end
compile '*' do
if item.binary?
# don’t filter binary items
else
filter :haml
layout 'default'
end
end
route '/stylesheets/' do
'/stylesheets/stylesheet.css'
end
route '*' do
if item.binary?
# Write item with identifier /foo/ to /foo.ext
item.identifier.chop + '.' + item[:extension]
else
# Write item with identifier /foo/ to /foo/index.html
item.identifier + 'index.html'
end
end
layout '*', :haml
And it doesn't work - anyone know where is the problem? Also it only generates output/stylesheet/index.html
which contains my stylesheet but put into my html layout! :(
Here's how it looks like (output/stylesheet/index.html
):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
<title>
A Brand New nanoc Site -
</title>
<link href='/stylesheets/stylesheet.css' media='screen' rel='stylesheet' type='text/css' />
<meta content='nanoc 3.1.6' name='generator' />
</head>
<body>
<!-- * reset css begins */ -->
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline;}
<!-- * HTML5 display-role reset for older browsers */ -->
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
body {line-height: 1;}
ol, ul {list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {content: ''; content: none;}
table {border-collapse: collapse; border-spacing: 0;}
<!-- * reset css ends */ -->
body, html{background: url('../images/background.png') no-repeat center top fixed; background-color: #fff; color: #666 !important;}
p{font-size: 400px;}
</body>
</html>
Please help!
It should say compile '/stylesheet/'
, not compile '/stylesheets/'
, so remove the extra s
. There’s a similar problem with the routing rule.
There also is no :css
filter. What did you want to achieve with this? If you want the stylesheet to be outputted as-is, there is no need for a filter.