Includes allow you to insert the contents of one Pug file into another.
//- index.pug doctype html html include includes/head.pug body h1 My Site p Welcome to my super lame site. include includes/foot.pug
//- includes/head.pug head title My Site script(src='/javascripts/jquery.js') script(src='/javascripts/app.js')
//- includes/foot.pug footer#footer p Copyright (c) foobar
<!DOCTYPE html> <html> <head> <title>My Site</title> <script src="/javascripts/jquery.js"></script> <script src="/javascripts/app.js"></script> </head> <body> <h1>My Site</h1> <p>Welcome to my super lame site.</p> <footer id="footer"> <p>Copyright (c) foobar</p> </footer> </body> </html>
If the path is absolute (e.g., include /root.pug
), it is resolved by prepending options.basedir
. Otherwise, paths are resolved relative to the current file being compiled.
If no file extension is given, .pug
is automatically appended to the file name.
Including non-Pug files simply includes their raw text.
//- index.pug doctype html html head style include style.css body h1 My Site p Welcome to my super lame site. script include script.js
/* style.css */ h1 { color: red; }
// script.js console.log('You are awesome');
<!DOCTYPE html> <html> <head> <style> /* style.css */ h1 { color: red; } </style> </head> <body> <h1>My Site</h1> <p>Welcome to my super lame site.</p> <script> // script.js console.log('You are awesome'); </script> </body> </html>
You can combine filters with includes, allowing you to filter things as you include them.
//- index.pug doctype html html head title An Article body include:markdown-it article.md
# article.md This is an article written in markdown.
<!DOCTYPE html> <html> <head> <title>An Article</title> </head> <body> <h1>article.md</h1> <p>This is an article written in markdown.</p> </body> </html>
© Pug authors
Licensed under the MIT license.
https://pugjs.org/language/includes.html