Re: Is it's possible to make modular pug template in vibed?
On 8/9/17 5:30 AM, Suliman wrote: Big thanks! Now I understand. Now i redone dlang.ru in diet templates. Great! Am I right understand that include is needed only for small includes without any nesting levels? No, includes can be as big as you want, with as many nested levels as you want. You just can't alter the structure of the including template. I think what you are getting hung up on is that the indentation of the include has nothing to do with the indentation of the template that's including it. It's not like the text is copy-pasted and then evaluated in that context. So if you have: someelement include x the resulting html file is going to be:
Re: Is it's possible to make modular pug template in vibed?
On Tuesday, 8 August 2017 at 15:54:29 UTC, Steven Schveighoffer wrote: On 8/8/17 10:52 AM, Suliman wrote: your examples generate me: DLANG.ru (c) DLANG 2017 That's the template without the block. The only one modification that I did I changes pages names: extends home because my main page is home.dt You have it backwards. You don't render the layout template, but the template that extends the layout. -Steve Big thanks! Now I understand. Now i redone dlang.ru in diet templates. Am I right understand that include is needed only for small includes without any nesting levels?
Re: Is it's possible to make modular pug template in vibed?
On 8/8/17 10:52 AM, Suliman wrote: your examples generate me: DLANG.ru (c) DLANG 2017 That's the template without the block. The only one modification that I did I changes pages names: extends home because my main page is home.dt You have it backwards. You don't render the layout template, but the template that extends the layout. -Steve
Re: Is it's possible to make modular pug template in vibed?
your examples generate me: DLANG.ru (c) DLANG 2017 The only one modification that I did I changes pages names: extends home because my main page is home.dt
Re: Is it's possible to make modular pug template in vibed?
Am I right understand that I can extend only one template?
Re: Is it's possible to make modular pug template in vibed?
On 8/8/17 9:19 AM, Suliman wrote: Still can't get it work. include header ..MainContainer ..Header .HeaderMenu .HeaderBlock a(href="/") General .HeaderBlock a(href="/FAQ") FAQ .HeaderBlock a(href="/book") Book .HeaderLoginBlock Sign in ..Middle f include footer OK, you aren't thinking of this correctly then, each pug/diet file must be complete. It's not like C preprocessor where the structure can be played with via includes or macros. That is, .MainContainer cannot be a child under something defined in header. In this case, you need to use the block system. it's template is compilable, but it have wrong indent. Original page (that I am trying to split) have next indents: doctype html html head title DLANG.ru body #app .MainContainer .Header .HeaderMenu .HeaderBlock router-link(to='/') General .HeaderBlock router-link(to='/FAQ') FAQ .HeaderBlock router-link(to='/book') Book .HeaderLoginBlock Sign in .Middle f .footer (c) DLANG 2017 But I can't get right indents when I am splition it. So what you want is probably like: layout.dt: doctype html html head title DLANG.ru body #app .MainContainer block contents .footer (c) DLANG 2017 myfile.dt: extends layout block contents .Header .HeaderMenu .HeaderBlock router-link(to='/') General .HeaderBlock router-link(to='/FAQ') FAQ .HeaderBlock router-link(to='/book') Book .HeaderLoginBlock Sign in .Middle f -Steve
Re: Is it's possible to make modular pug template in vibed?
On Tuesday, 8 August 2017 at 13:22:58 UTC, Steven Schveighoffer wrote: On 8/8/17 9:10 AM, Suliman wrote: Yes, thanks what: extends layout mean? It means that your final file will be layout.dt, but with the block statements replaced with the contents defined by the specific view file. Think of it like an interface, where the "blocks" are function prototypes, and your specific view file is a class that implements the interface, where you implement the functions by defining the blocks. -Steve Could you show how to improve my code above? I can't get it work...
Re: Is it's possible to make modular pug template in vibed?
On 8/8/17 9:10 AM, Suliman wrote: Yes, thanks what: extends layout mean? It means that your final file will be layout.dt, but with the block statements replaced with the contents defined by the specific view file. Think of it like an interface, where the "blocks" are function prototypes, and your specific view file is a class that implements the interface, where you implement the functions by defining the blocks. -Steve
Re: Is it's possible to make modular pug template in vibed?
Still can't get it work. include header .MainContainer .Header .HeaderMenu .HeaderBlock a(href="/") General .HeaderBlock a(href="/FAQ") FAQ .HeaderBlock a(href="/book") Book .HeaderLoginBlock Sign in .Middle f include footer it's template is compilable, but it have wrong indent. Original page (that I am trying to split) have next indents: doctype html html head title DLANG.ru body #app .MainContainer .Header .HeaderMenu .HeaderBlock router-link(to='/') General .HeaderBlock router-link(to='/FAQ') FAQ .HeaderBlock router-link(to='/book') Book .HeaderLoginBlock Sign in .Middle f .footer (c) DLANG 2017 But I can't get right indents when I am splition it.
Re: Is it's possible to make modular pug template in vibed?
Yes, thanks what: extends layout mean?
Re: Is it's possible to make modular pug template in vibed?
On 8/8/17 8:38 AM, Suliman wrote: On Tuesday, 8 August 2017 at 11:59:38 UTC, Suliman wrote: On Tuesday, 8 August 2017 at 11:55:09 UTC, Suliman wrote: For example I am making simple site with header and footer. header and footer will be same for all pages. I do not want to do copy-paste it in every page. I want write it's once and than simpy import in every page. Is it's possible to do with vibed? Oh, I founded answer in docs. I can't fund way to `include` header and footer in the same docs. I cam getting error: "Includes cannot have children" This is probably because you have something like: include myfile hr // this is not allowed The way I do it is this (learned from Kai's book): layout.dt: html head ... body ... // header here block content ... // footer here someview.dt: extends layout block content ... // your content -Steve
Re: Is it's possible to make modular pug template in vibed?
On Tuesday, 8 August 2017 at 11:59:38 UTC, Suliman wrote: On Tuesday, 8 August 2017 at 11:55:09 UTC, Suliman wrote: For example I am making simple site with header and footer. header and footer will be same for all pages. I do not want to do copy-paste it in every page. I want write it's once and than simpy import in every page. Is it's possible to do with vibed? Oh, I founded answer in docs. I can't fund way to `include` header and footer in the same docs. I cam getting error: "Includes cannot have children"
Re: Is it's possible to make modular pug template in vibed?
On Tuesday, 8 August 2017 at 11:55:09 UTC, Suliman wrote: For example I am making simple site with header and footer. header and footer will be same for all pages. I do not want to do copy-paste it in every page. I want write it's once and than simpy import in every page. Is it's possible to do with vibed? Oh, I founded answer in docs.