-
Notifications
You must be signed in to change notification settings - Fork 326
DomainModel
This document describes the JBake Domain Model. You will find here all the concepts relevant for static website generation and the relationship between them. This document should name the concepts used in the application and create a vocabulary that developers and users can use to describe how features should work.
Note
|
Names should evolve to express with precision their purpose. As we better understand what things do and how they should be used we can name them better. Feel free to propose better definitions or names. |
Concepts apply to the whole project. Some of them are focused more to the End User side, some of them are more Developer/Contributor friendly. All of them are important.
- Project
-
A website build with
jbake
. Projects in jbake containtemplates
,content
,assets
anddata
. Final users of jbake will writecontent
anddata
most of the time. Designers and website developers will writetemplates
andassets
. Jbake will take all that information and generate static websites. - Template
-
A file/document written in a supported template language used to style, layout a piece of
content
and generate an HTML page. Current list of supported template languages are: Groovy, Thymeleaf, Freemaker. - Content
-
A piece of information that people wish to put on the web. Content and templates are used to generate the final HTML pages. Content is written in a supported format. Currently that is: HTML, Markdown, AsciiDoc.
- Assets
-
Static files needed to style and make the web pages work. This includes CSS, JavaScript, fonts, small images, etc. If you have big assets like movies or big images, it is recommended to host them using another platform. You can treat them as assets but it is not efficient.
- Data
-
Structured data (CSV, JSON) that can bu used in templates. This type of information is something that can be updated easily by end customers. For examples: product prices or product information that changes once a month or so. Support for
data
is currently in planning.