Object References
An object reference is a special object in Go that can provide either id and/or class attributes to an element.
%div[article]
%h1.article-title= article.Title
%p= article.ContentIn this example we used the article value as an object reference to the div element. Here is how this might render out:
<div id="article-123" class="article">
<h1 class="article-title">The Title</h1>
<p>The content of the article</p>
</div>The article value we used in the example has implemented the following two methods:
func (a Article) ObjectID() string {
return fmt.Sprintf("article-%d", a.ID)
}
func (a Article) ObjectClass() string {
return "article"
}Anything that implements func ObjectID() string can be used to provide an id attribute to an element. Likewise, anything that implements func ObjectClass() string can be used to provide a class attribute to an element.
We can also provide a prefix that will be used for both the class and id attributes.
%div[article, "stunning"]
%h1.article-title= article.Title
%p= article.Contentrenders as:
<div id="stunning_article-123" class="stunning_article">
<h1 class="article-title">The Title</h1>
<p>The content of the article</p>
</div>