This module is part of the Apache Sling project.
This sample is designed as an introduction to Sling and HTL.
java -jar org.apache.sling.launchpad-9.jar
mvn clean install -PautoInstallBundle
HTL Blog uses Sling Models extensively. You can read about them here.
Author.java - This model detects if our user is logged in or not.
Edit.java - This is used to get a query parameter from our request, find the resource associated with the param, and adapt it to our post model.
List.java - This is used to iterate through our posts, reverse their order, and adapt them to our post model.
Post.java - This model injects our post properties, finds the featured image, and lists any children (comments).
The content is built using a two JSON files under
/content/htlblog. They map to the following nodes:
/content/htlblog/admin - Our admin home. Used to list our posts for editing or deleting.
/content/htlblog/admin/edit - Our edit page. Use to create, or if a post path is supplied, it will edit an existing post.
/content/htlblog/posts - Another post list, but also used as the parent of our posts.
/content/htlblog/posts/hello-world - Used to scaffold a placeholder post.
/content/htlblog/posts/hola-mundo - Used to scaffold a 2nd placeholder post.