Как добавить блок к родительскому, используя шаблон нефрита

Я пытаюсь создать модульный макет, используя шаблон jade. Я хотел бы добавить блок script из дочернего элемента в родительский родитель. Я не совсем уверен, возможно ли это вообще.

Вот моя структура

layout.jade

head.jade

index.jade

users.jade

layout.jade:   доктайп   HTML # HTML       включить голову

    body
        block content

head.jade:

head
    title= title
    link(rel='stylesheet', href='/stylesheets/style.css')
    block scripts

index.jade:

extends layout

block content
    h1 Hello

    include users

users.jade

block append scripts
    script(src='/javascripts/user.js')  

ul
    each user, i in users
        li(class=i+"-"+user) #{user} 

Мой желаемый вывод html должен быть:

<!DOCTYPE html>
<html id="html">
    <head>
        <title>Index</title>
        <link href="/stylesheets/style.css" rel="stylesheet">
        <script src="/javascripts/user.js">  <!--// append this from user.jade into head.jade //-->
    </head>
    <body>

        <h1>Hello bob</h1>
        <li class="0-user1">user1</li>

Ответ 1

Это должно быть возможно, и есть примеры в документации нефрита, которые делают именно это. Ваш код выглядит отлично, за исключением того, что вы должны отступать от тэга script в users.jade, поэтому он имеет отступ под директивой block append script.

Ответ 2

Я попытался использовать тот же подход, чтобы определить элемент управления tab. Я определил страницы в отдельных нефритовых файлах. Каждый нефритовый файл добавлял блок, содержащий содержащуюся вкладку. Он также не работал, пока я не добавил что-то в блок в моем index.jade, как показано ниже:

extends layout

append scripts
    //- dummy

block content
    h1 Hello

    include users

Однако я также хотел бы добавить, что, поскольку я добавил несколько файлов .jade, я работал в следующем. Каждый файл, включенный в блок jade-template, используется для добавления вкладки, но порядок, в который были добавлены страницы, был отменен.