Hi Sylvain,

Good to see you here ;-)

On Sun, Dec 28, 2014 at 8:54 PM, Sylvain Wallez <sylv...@apache.org> wrote:
> ...I thought of having an authoring area that would store content in its
> original format (html, asciidoc or markdown) and have an observer that
> converts this content to html and stores it in the publishing area under
> /content/blog/<year>/<month>/<post>...

That does match the Sling way of doing things, and that might also
solve your archive URL issue, if you put your converted posts at paths
like /posts/2014/12/25/merryxmas.

By setting the same resource type on all nodes from 2014 down you can
use the same rendering script for all of those URLs, that recursively
collects all children and renders them.

You don't need queries then, any URL like /posts/2014.html or
/posts/2014/12.html will do the right thing, and generating the
archive navigation is just walking down the tree.

You could also omit the authoring area, directly store your content
under /posts and use a Sling Model PostConstruct method [1] to convert
the post's markup to HTML on the fly. Using access control to hide
posts that shouldn't be public yet can make staging transparent,
you'll just see the posts that belong to you when authoring as a
logged in user, and they are invisible on the public website which
uses the anonymous user.

Hope this helps, and if you're able to contribute your blog code as an
example that would be fantastic!

-Bertrand

[1] http://sling.apache.org/documentation/bundles/models.html

Reply via email to