digitalmars.D.learn - Including parts of a diet template in another
- seany (63/63) Mar 25 2023 Hello
- Steven Schveighoffer (29/34) Mar 25 2023 You can include an entire other diet template like:
Hello
If we are creating a multipage Vibe.d application, we need to use
diet templates. I can't find any info on how to include parts or
whole of a diet template in another.
So for example, if i had pages :
1 =>
```
html
head
//stuff in head
body
// a common div goes here
.commonDiv
// common div stuff here
.first-page-specific-div
// first page specific stuff ...
```
and
2 =>
```
html
head
//stuff in head
body
// a common div goes here
.commonDiv
// common div stuff here
.second-page-specific-div
// second page specific stuff ...
```
I would like to do something like this
commonDivFile.extension =>
.commonDiv
\\ common div stuff goes here....
\\ add css file affecting the common div
\\ add javascript with event listeners for common div
elements..
and then
1 =>
```
html
head
//stuff in head
body
// some method to include commonDiv here, unknow to me
.first-page-specific-div
// first page specific stuff ...
```
and
2 =>
```
html
head
//stuff in head
body
// some method to include commonDiv here, unknow to me
.second-page-specific-div
// second page specific stuff ...
```
I can't find a way to do this in documents. If it is in the
documentation, please point me to it. I do not want to use an
iframe.
What can be done in this case? Thank you.
Mar 25 2023
On 3/25/23 4:56 PM, seany wrote:Hello If we are creating a multipage Vibe.d application, we need to use diet templates. I can't find any info on how to include parts or whole of a diet template in another.You can include an entire other diet template like: ```pug include commondiv ``` Note that it gets copy-pasted as code, so it can use local symbols/functions you define in code islands. I would also note that you can template the entire page (a common model), and allow other pages to inherit that common layout. So something like: layout.dt: ```pug html head // stuff in head (always the same) body commondiv // always the same stuff here block content ``` page1.dt: ```pug extends layout block content // all the page1 specific content ``` Which is what I use. I also define `extraCss` and `extraJs` blocks to allow for more customization in those sections. -Steve
Mar 25 2023








Steven Schveighoffer <schveiguy gmail.com>