Below is a contrived example that demonstrates my issue.
base
<% content 'before' %>
<p><% content %></p>
<% content 'after' %>
person
<% extend 'base' %>
<% block 'before' : %>
<style type="text/css">
#<%- @id %> {
color: <%- @favoriteColor %>;
}
</style>
<% end %>
<span id="<%- @id %>">Hello <%- @name %>!</span>
<% block 'after' : %>
<script>
var span;
span = document.getElementById('<%- @id %>');
console.log(span.innerText);
</script>
<% end %>
people
<%
people = [
{
name: 'Alice'
favoriteColor: 'red'
}
{
name: 'Bob'
favoriteColor: 'blue'
}
]
%>
<% for person, index in people : %>
<%
options =
id: "person_#{index}"
name: person.name
favoriteColor: person.favoriteColor
%>
<% include 'person', options %>
<% end %>
This produces:
<style type="text/css">
#person_0 {
color: red;
}
</style>
<span id="person_0">Hello Alice!</span>
<script>
var span;
span = document.getElementById('item_0');
console.log(span.innerText);
</script>
<style type="text/css">
#person_0 {
color: red;
}
</style>
<span id="person_1">Hello Bob!</span>
<script>
var span;
span = document.getElementById('item_0');
console.log(span.innerText);
</script>
Below is a contrived example that demonstrates my issue.
base
person
people
This produces: