Reputation: 572
I have this jade file:
!!! 5
html
head
title test include
style(type='text/css')
//- DOES NOT WORK!
include test.css
body
//- works
include test.css
div
//- works
include test.css
The output:
$ jade -P test.jade
rendered test.html
$ cat test.html
<!DOCTYPE html>
<html>
<head>
<title>test include</title>
<style type="text/css">
//- DOES NOT WORK!
include test.css
</style>
</head>
<body>body { color: peachpuff; }
<div> body { color: peachpuff; }
</div>
</body>
</html>
Of course, I could simply link the css-file, but I do not want to.
Upvotes: 10
Views: 15578
Reputation: 61
style(type="text/css").
#{css}
try this with pug.render(..., { css: yourCssString })
Upvotes: 0
Reputation: 92745
From jade docs:
doctype html
html
head
style
include style.css
body
h1 My Site
p Welcome to my super lame site.
It works perfect.
Upvotes: 9
Reputation: 2150
Arnaud’s answer worked for me, but I’ve since found this is a little cleaner:
doctype
head
title test include
style(type="text/css"): include test.css
The (type="text/css")
is optional, too, depending on your situation.
Upvotes: 2
Reputation: 9
In current version of Jade (0.35.0) it would be enough to write just include style.css
.
Complete example (considering you are writing index.jade, which is located in views
folder, whereas your styles are in assets
folder):
!!!
html
head
include ../assets/bootstrap3/css/bootstrap-theme.css
include ../assets/bootstrap3/css/bootstrap.css
body
h1 Hi!
Please note absence of style
tag in the template, it would inserted automatically by jade (what a nice feature!).
Upvotes: 0
Reputation: 5262
Pass fs
in as data and you can
style !{fs.readFileSync("index.css").toString()}
Upvotes: 2
Reputation: 4306
I didn't test it yet (not on my dev computer ATM) but there is a chance doing something like this could work :
!!!
head
title test include
| <style type='text/css'>
include test.css
| </style>
By the way, I found the HTML2Jade online converter but not the Jade2HTML. Any idea where to find it ?
Upvotes: 13
Reputation: 1193
A possible solution would be:
style(type="text/css")
#{css}
And then pass the css-text in the res.render(...)
call.
Upvotes: -1