Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/bootstrap/js/bootstrap.min.js
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/bootstrap/js/bootstrap.min.js?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/bootstrap/js/bootstrap.min.js
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/bootstrap/js/bootstrap.min.js
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.7 (http://getbootstrap.com)
+ * Copyright 2011-2016 Twitter, Inc.
+ * Licensed under the MIT license
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires 
jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" 
")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1||b[0]>3)throw new 
Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but 
lower than version 4")}(jQuery),+function(a){"use strict";function b(){var 
a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd
 otransitionend",transition:"transitionend"};for(var c in b)if(void 
0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var
 c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var 
e=function(){c||a(d).trigger(a.support.transition.end)};return 
setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b
 .target).is(this))return 
b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use 
strict";function b(b){return this.each(function(){var 
c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new 
d(this)),"string"==typeof b&&e[b].call(c)})}var 
c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function
 c(){g.detach().trigger("closed.bs.alert").remove()}var 
e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var
 
g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var
 
e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return
 a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c
 ,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return 
this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof 
b&&b;e||d.data("bs.button",e=new 
c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var 
c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var
 
c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var
 a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var 
c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeCla
 
ss("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else
 
this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var
 
d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return
 
a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var
 
d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"],
 
input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api
 
blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"us
 e strict";function b(b){return this.each(function(){var 
d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof
 b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new 
c(this,f)),"number"==typeof 
b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var 
c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in
 
document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case
 37:this.prev();b
 reak;case 
39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return
 
b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return
 
this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var
 
c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return
 b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return 
this.$items.eq(f)},c.prototype.to=function(a){var 
b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return
 
this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return
 b||(this.paused=!0),thi
 s.$element.find(".next, 
.prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return
 this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return 
this.slide("prev")},c.prototype.slide=function(b,d){var 
e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return
 this.sliding=!1;var 
j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var
 
l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var
 m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return 
a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offs
 
etWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join("
 ")).addClass("active"),e.removeClass(["active",h].join(" 
")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var
 
d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return
 a.fn.carousel=d,this};var e=function(c){var 
d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var
 
g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var
 c=a(this);
 b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var 
c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return
 a(d)}function c(b){return this.each(function(){var 
c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof
 
b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new
 d(this,f)),"string"==typeof b&&e[b]()})}var 
d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var
 a=this.$element.hasClass("width");return 
a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&
 &!this.$element.hasClass("in")){var 
b,e=this.$parent&&this.$parent.children(".panel").children(".in, 
.collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var
 
f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var
 
g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var
 h=function(){this.$element.removeClass("collapsing").addClass("collapse 
in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return
 h.call(this);var 
i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var
 b=a.Event("hide.b
 s.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var 
c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse
 
in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var
 
e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return
 a.support.transition?void 
this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return
 
a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var
 
e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var
 c=a.hasClass("in");a.attr("aria-expande
 d",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var 
e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return
 
a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var
 e=a(this);e.attr("data-target")||d.preventDefault();var 
f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use
 strict";function b(b){var 
c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var
 d=c&&a(c);return d&&d.length?d:b.parent()}function 
c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var 
d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}funct
 ion d(b){return this.each(function(){var 
c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new 
g(this)),"string"==typeof b&&d[b].call(c)})}var 
e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var
 e=a(this);if(!e.is(".disabled, :disabled")){var 
f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in 
document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var
 
h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var
 d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, 
:disabled")){v
 ar e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 
27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" 
li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var 
j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&j<i.length-1&&j++,~j||(j=0),i.eq(j).trigger("focus")}}}};var
 
h=a.fn.dropdown;a.fn.dropdown=d,a.fn.dropdown.Constructor=g,a.fn.dropdown.noConflict=function(){return
 
a.fn.dropdown=h,this},a(document).on("click.bs.dropdown.data-api",c).on("click.bs.dropdown.data-api",".dropdown
 
form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",f,g.prototype.toggle).on("keydown.bs.dropdown.data-api",f,g.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",g.prototype.keydown)}(jQuery),+function(a){"use
 strict";function b(b,d){return this.each(function(){var 
e=a(this),f=e.data("bs.modal"),g=a.extend({},c.DEFAULTS,e.data(),"object"==typeof
 b&&b);f||e.data("bs.modal",f=new c(this,g)),"string"==typeof b?
 f[b](d):g.show&&f.show(d)})}var 
c=function(b,c){this.options=c,this.$body=a(document.body),this.$element=a(b),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,a.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=300,c.BACKDROP_TRANSITION_DURATION=150,c.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},c.prototype.toggle=function(a){return
 this.isShown?this.hide():this.show(a)},c.prototype.show=function(b){var 
d=this,e=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(e),this.isShown||e.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$dial
 
og.on("mousedown.dismiss.bs.modal",function(){d.$element.one("mouseup.dismiss.bs.modal",function(b){a(b.target).is(d.$element)&&(d.ignoreBackdropClick=!0)})}),this.backdrop(function(){var
 
e=a.support.transition&&d.$element.hasClass("fade");d.$element.parent().length||d.$element.appendTo(d.$body),d.$element.show().scrollTop(0),d.adjustDialog(),e&&d.$element[0].offsetWidth,d.$element.addClass("in"),d.enforceFocus();var
 
f=a.Event("shown.bs.modal",{relatedTarget:b});e?d.$dialog.one("bsTransitionEnd",function(){d.$element.trigger("focus").trigger(f)}).emulateTransitionEnd(c.TRANSITION_DURATION):d.$element.trigger("focus").trigger(f)}))},c.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.m
 
odal"),a.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",a.proxy(this.hideModal,this)).emulateTransitionEnd(c.TRANSITION_DURATION):this.hideModal())},c.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){document===a.target||this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.trigger("focus")},this))},c.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},c.prototype.resize=function(){this.isShown?a(window).on("resize.bs.modal",a.proxy(this.handleUpdate,this)):a(window).off("resize.bs.modal")},c.prototype.hideModal=function(){var
 
a=this;this.$element.hide(),this.backdrop(function(){a.$body.removeClass("modal-open"),a.resetAdjustments(),a.resetScrollbar(),a.$element.trigger("hidden.bs.modal")})
 
},c.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},c.prototype.backdrop=function(b){var
 
d=this,e=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var
 
f=a.support.transition&&e;if(this.$backdrop=a(document.createElement("div")).addClass("modal-backdrop
 
"+e).appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",a.proxy(function(a){return
 
this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else
 if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var 
g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransiti
 onEnd(c.BACKDROP_TRANSITION_DURATION):g()}else 
b&&b()},c.prototype.handleUpdate=function(){this.adjustDialog()},c.prototype.adjustDialog=function(){var
 
a=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var
 a=window.innerWidth;if(!a){var 
b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth<a,this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var
 
a=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding
 -right",this.originalBodyPad)},c.prototype.measureScrollbar=function(){var 
a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var
 b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var 
d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return
 
a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var
 
d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use
 strict";function b(b){return this.each(function(){var 
d=a(this),e=d.data("bs.tooltip"),f="object"==typeof 
b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.tooltip",e=new c(this,f)),"
 string"==typeof b&&e[b]())})}var 
c=function(a,b){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.inState=null,this.init("tooltip",a,b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div
 class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div 
class="tooltip-inner"></div></div>',trigger:"hover 
focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof
 document.constructor&&!this.options.selector)throw new Error("`selector` 
option must be specified when initializing "+
 this.type+" on the window.document object!");for(var 
e=this.options.trigger.split(" "),f=e.length;f--;){var 
g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else
 if("manual"!=g){var 
h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return
 c.DEFAULTS},c.prototype.getOptions=function(b){return 
b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof
 
b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var
 b={},c=this.getDefaults();return 
this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){v
 ar c=b instanceof 
this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new 
this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b
 instanceof 
a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var
 a in 
this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var
 c=b instanceof 
this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new 
this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b
 instanceof 
a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return
 clearTimeout(c.timeout),c.hoverState="out",c.option
 
s.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var
 
b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var
 
d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var
 
e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var
 h="function"==typeof 
this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var
 k=this.getPosition(),l=f[0].offsetWidth,m=f[0
 ].offsetHeight;if(j){var 
n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-m<o.top?"bottom":"right"==h&&k.right+l>o.width?"left":"left"==h&&k.left-l<o.left?"right":h,f.removeClass(n).addClass(h)}var
 p=this.getCalculatedOffset(h,k,l,m);this.applyPlacement(p,h);var 
q=function(){var 
a=e.hoverState;e.$element.trigger("shown.bs."+e.type),e.hoverState=null,"out"==a&&e.leave(e)};a.support.transition&&this.$tip.hasClass("fade")?f.one("bsTransitionEnd",q).emulateTransitionEnd(c.TRANSITION_DURATION):q()}},c.prototype.applyPlacement=function(b,c){var
 
d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),b.top+=g,b.left+=h,a.offset.setOffset(d[0],a.extend({using:function(a){d.css({top:Math.round(a.top),left:Math.round(a.left)})}},b),0),d.addClass("in");var
 i=d[0].offsetWidth,j=d[0].offsetHeight;"top"==c&&j!=f&&(b.top=b.top+f-j);var 
k=this.getViewport
 AdjustedDelta(c,b,i,j);k.left?b.left+=k.left:b.top+=k.top;var 
l=/top|bottom/.test(c),m=l?2*k.left-e+i:2*k.top-f+j,n=l?"offsetWidth":"offsetHeight";d.offset(b),this.replaceArrow(m,d[0][n],l)},c.prototype.replaceArrow=function(a,b,c){this.arrow().css(c?"left":"top",50*(1-a/b)+"%").css(c?"top":"left","")},c.prototype.setContent=function(){var
 
a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade
 in top bottom left right")},c.prototype.hide=function(b){function 
d(){"in"!=e.hoverState&&f.detach(),e.$element&&e.$element.removeAttr("aria-describedby").trigger("hidden.bs."+e.type),b&&b()}var
 
e=this,f=a(this.$tip),g=a.Event("hide.bs."+this.type);if(this.$element.trigger(g),!g.isDefaultPrevented())return
 
f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one("bsTransitionEnd",d).emulateTransitionEnd(c.TRANSITION_DURATION):d(),this.hoverState=null,this},c.prototype.fixTitle=function(){var
 a=this.$element;(a.attr("title")||"s
 tring"!=typeof 
a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},c.prototype.hasContent=function(){return
 this.getTitle()},c.prototype.getPosition=function(b){b=b||this.$element;var 
c=b[0],d="BODY"==c.tagName,e=c.getBoundingClientRect();null==e.width&&(e=a.extend({},e,{width:e.right-e.left,height:e.bottom-e.top}));var
 f=window.SVGElement&&c instanceof 
window.SVGElement,g=d?{top:0,left:0}:f?null:b.offset(),h={scroll:d?document.documentElement.scrollTop||document.body.scrollTop:b.scrollTop()},i=d?{width:a(window).width(),height:a(window).height()}:null;return
 
a.extend({},e,h,i,g)},c.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},c.prototype.getViewportAdjustedDelta=function(a,b,c,d){var
 e={top:0,left:0};if(!this.$viewport)ret
 urn e;var 
f=this.options.viewport&&this.options.viewport.padding||0,g=this.getPosition(this.$viewport);if(/right|left/.test(a)){var
 
h=b.top-f-g.scroll,i=b.top+f-g.scroll+d;h<g.top?e.top=g.top-h:i>g.top+g.height&&(e.top=g.top+g.height-i)}else{var
 
j=b.left-f,k=b.left+f+c;j<g.left?e.left=g.left-j:k>g.right&&(e.left=g.left+g.width-k)}return
 e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return 
a=b.attr("data-original-title")||("function"==typeof 
c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do 
a+=~~(1e6*Math.random());while(document.getElementById(a));return 
a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw
 new Error(this.type+" `template` option must consist of exactly 1 top-level 
element!");return this.$tip},c.prototype.arrow=function(){return 
this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){th
 
is.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var
 c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new 
this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var
 
a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var
 
d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return
 a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return 
this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof 
b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new 
c(this,f)),"string"==typeof b&&e[b]())})}v
 ar c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new 
Error("Popover requires 
tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div
 class="popover" role="tooltip"><div class="arrow"></div><h3 
class="popover-title"></h3><div 
class="popover-content"></div></div>'}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return
 c.DEFAULTS},c.prototype.setContent=function(){var 
a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof
 c?"html":"append":"text"](c),a.removeClass("fade top bottom left right 
in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return
 this.getTitle()||this.getContent()},c.prototype.getContent=
 function(){var a=this.$element,b=this.options;return 
a.attr("data-content")||("function"==typeof 
b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return 
this.$arrow=this.$arrow||this.tip().find(".arrow")};var 
d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return
 a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function 
b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+"
 .nav li > 
a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function
 c(c){return this.each(function(){var 
d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof 
c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof 
c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollH
 eight=function(){return 
this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var
 
b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var
 b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return 
f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return
 
a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var
 
a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return
 g!=(a=f[f.length-1])&&this.activate(a);if(g&&b<e[0])return 
this.activeTarget=null,this.
 clear();for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(void 
0===e[a+1]||b<e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){
+this.activeTarget=b,this.clear();var 
c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var
 
d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return
 
a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var
 b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function 
b(b){return this.each(function(){var 
d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof 
b&&e[b]()})}var 
c=function(b){this.element=a(b)};c.VERSION="3.3.7",c.TRANSITION_DURATION=150,c.prototype.show=function(){var
 b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("ta
 
rget");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var
 e=c.find(".active:last 
a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var
 
h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function
 f(){g.removeClass("active").find("> .dropdown-menu > 
.active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var
 g=d.find("> .active"),h=e&
 &a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> 
.fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var
 
d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return
 a.fn.tab=d,this};var 
e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use
 strict";function b(b){return this.each(function(){var 
d=a(this),e=d.data("bs.affix"),f="object"==typeof 
b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var 
c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkP
 osition()};c.VERSION="3.3.7",c.RESET="affix affix-top 
affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var
 
e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return
 e<c&&"top";if("bottom"==this.affixed)return 
null!=c?!(e+this.unpin<=f.top)&&"bottom":!(e+g<=a-d)&&"bottom";var 
h=null==this.affixed,i=h?e:f.top,j=h?g:b;return 
null!=c&&e<=c?"top":null!=d&&i+j>=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return
 this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var 
a=this.$target.scrollTop(),b=this.$element.offset();return 
this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var
 
b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"o
 bject"!=typeof d&&(f=e=d),"function"==typeof 
e&&(e=d.top(this.$element)),"function"==typeof 
f&&(f=d.bottom(this.$element));var 
h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var
 
i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var
 
d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return
 
a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var
 
c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/css/htlblog.css
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/css/htlblog.css?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/css/htlblog.css
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/css/htlblog.css
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,70 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+body {
+    margin-top: 50px;
+}
+
+header {
+    margin: 30px 0;
+}
+
+header .sling-logo {
+    max-width: 180px;
+}
+
+.btn-anchor {
+    display: inline-block;
+    padding: 6px 12px;
+    margin-bottom: 0;
+    font-size: 14px;
+    font-weight: 400;
+    line-height: 1.42857143;
+    text-align: center;
+    white-space: nowrap;
+    vertical-align: middle;
+    -ms-touch-action: manipulation;
+    touch-action: manipulation;
+    cursor: pointer;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    background-image: none;
+    border: 1px solid transparent;
+    border-radius: 4px;
+}
+
+.btn-anchor:hover {
+    text-decoration: none;
+}
+
+.create-new {
+    display: block;
+    margin-bottom: 30px;
+}
+
+.post-item form {
+    display: inline;
+}
+
+article {
+    margin-bottom: 120px;
+}
+
+.featured-image {
+    width: 100%;
+}

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/img/sling-logo.svg
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/img/sling-logo.svg?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/img/sling-logo.svg
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/clientlibs/htlblog/img/sling-logo.svg
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,19 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+<svg id="Layer_1" data-name="Sling Logo" xmlns="http://www.w3.org/2000/svg"; 
xmlns:xlink="http://www.w3.org/1999/xlink"; viewBox="0 0 768 
392"><defs><linearGradient id="linear-gradient" x1="-8576.57" y1="2068.26" 
x2="-8523.42" y2="2006.11" gradientTransform="matrix(-1, -0.01, -0.01, 1, 
-8384.13, -1821.1)" gradientUnits="userSpaceOnUse"><stop offset="0" 
stop-color="#f69923"/><stop offset="0.31" stop-color="#f79a23"/><stop 
offset="0.84" stop-color="#e97826"/></linearGradient><linearGradient 
id="linear-gradient-2" x1="-8969.97" y1="2075.12" x2="-8590.74" y2="2075.12" 
gradientTransform="matrix(-1, -0.01, -0.01, 1, -8384.13, -1821.1)" 
gradientUnits="userSpaceOnUse"><stop offset="0.32" stop-color="#9e2064"/><stop 
offset="0.63" stop-color="#c92037"/><stop offset="0.75" 
stop-color="#cd2335"/><stop offset="1" 
stop-color="#e97826"/></linearGradient><linearGradient id="linear-gradient-3" 
x1="-8924.2" y1="2037.09" x2="-8698.21" y2="2037.09" 
gradientTransform="matrix(-1, -0.01, -0.01, 1, -8384.13,
  -1821.1)" gradientUnits="userSpaceOnUse"><stop offset="0" 
stop-color="#282662"/><stop offset="0.1" stop-color="#662e8d"/><stop 
offset="0.79" stop-color="#9f2064"/><stop offset="0.95" 
stop-color="#cd2032"/></linearGradient><linearGradient id="linear-gradient-4" 
x1="-8948.67" y1="2078.65" x2="-8569.44" y2="2078.65" 
xlink:href="#linear-gradient-2"/><linearGradient id="linear-gradient-5" 
x1="-8921.02" y1="2073.54" x2="-8721.72" y2="2073.54" 
xlink:href="#linear-gradient-3"/><linearGradient id="linear-gradient-6" 
x1="-8948.67" y1="2039.41" x2="-8569.45" y2="2039.41" 
xlink:href="#linear-gradient-2"/><linearGradient id="linear-gradient-7" 
x1="-8972.2" y1="2041.35" x2="-8592.97" y2="2041.35" 
xlink:href="#linear-gradient-2"/><linearGradient id="linear-gradient-8" 
x1="-8948.67" y1="2027.74" x2="-8569.45" y2="2027.74" 
xlink:href="#linear-gradient-2"/><linearGradient id="linear-gradient-9" 
x1="-8948.67" y1="2029.08" x2="-8569.45" y2="2029.08" 
xlink:href="#linear-gradient-2"/><linearGradient id=
 "linear-gradient-10" x1="-8735.63" y1="2029.35" x2="-8692.34" y2="2029.35" 
xlink:href="#linear-gradient-2"/></defs><title>Sling Logo - Close 
Crop</title><path 
d="M223.41,235.88V63l-36.64-.32V251.7q0,33.89,24.93,33.89c13.7,0,18.88-5.26,24.53-15.93C224.68,266.15,223.41,254.84,223.41,235.88Z"
 style="fill:#00678c"/><polygon points="260.96 158.86 275.98 158.86 275.98 
283.36 311.94 283.36 311.94 129.39 260.96 129.39 260.96 158.86" 
style="fill:#00678c"/><path 
d="M294.3,69.73a19.91,19.91,0,0,0-14.58,6.09,21,21,0,0,0,0,29.47,20.43,20.43,0,0,0,28.89.26l.26-.26a21,21,0,0,0,0-29.47A19.91,19.91,0,0,0,294.3,69.73Z"
 style="fill:#00678c"/><path 
d="M431.14,125.93q-28.59,0-43.25,17V128.75H355.27V281.09h35.84V171a39,39,0,0,1,14.14-11,38.47,38.47,0,0,1,16.89-4.42q17.08,0,24.65,9T454.31,193v88h35.84V187.66q0-29.15-15.93-45.44T431.14,125.93Z"
 style="fill:#00678c"/><path 
d="M154.85,385l-2.77-.73-.18,0-1.25-.34c-21.81-5.87-37-11.75-45.1-17.46a33.85,33.85,0,0,1-7-6.59h-67V311.43A170.49,170.49,0,0,1,.15,298.
 
89V392H185.77c-4.64-.92-9.31-1.89-14-2.92C165.58,387.68,160,386.35,154.85,385Z" 
style="fill:#00678c"/><path 
d="M129.72,354.16c5.61,4,18.63,8.84,36.46,13.64l14.09-18.15a264,264,0,0,1-35.69-9.1l-1.26-.43,1.26.43c3.54,1.14,14.73,4.43,35.49,7.65-5-9.83-14.05-24.37-21.89-36-22.71,5.71-29,17.47-29,17.47S118.18,346,129.72,354.16Z"
 style="fill:url(#linear-gradient)"/><path 
d="M242.78,323.18a1.49,1.49,0,0,0-.14-.19l.79,1.34.23.19C243.37,324.08,243.08,323.62,242.78,323.18Z"
 style="fill:none"/><path 
d="M280.45,318.26c.54.73,1,1.48,1.55,2.25C281.5,319.74,281,319,280.45,318.26Z" 
style="fill:none"/><path 
d="M385.47,352.77l-1,.06q-10,.61-19.52,1.08-10.69.52-20.78.89-10.65.38-20.62.59-10.49.22-20.27.28-8,0-15.48,0l-5-.05c-3.26,0-6.44-.09-9.57-.15-2.89-.06-5.71-.13-8.5-.21l-2.76-.09h-.44l.67,1.14-1.46,1.81.67,0q6.29.28,12.66.45l7.38.18q10.24.22,20.58.24t20.86-.13q10.24-.15,20.39-.45c6.76-.2,13.48-.43,20.12-.71,6.94-.29,13.82-.63,20.57-1l4.57-.25q8.19-.47,16.13-1l2.31-2.85-.76-1.28-.48,0Q395.4,352.16
 ,385.47,352.77Z" style="fill:none"/><path d="M282.36,321.09h0l0,0Z" 
style="fill:none"/><path 
d="M300,317.05c.78,1.15,1.6,2.34,2.42,3.56l0,0c-.39-.62-.8-1.24-1.2-1.83S300.42,317.63,300,317.05Z"
 style="fill:#be202e"/><path 
d="M300,317.05c.78,1.15,1.6,2.34,2.42,3.56l0,0c-.39-.62-.8-1.24-1.2-1.83S300.42,317.63,300,317.05Z"
 style="fill:#be202e;opacity:0.349999994039536;isolation:isolate"/><path 
d="M282.34,321.07h0l0,0c-.12-.2-.24-.38-.37-.58-.49-.78-1-1.54-1.55-2.25l1.9,2.81Z"
 style="fill:#be202e"/><path 
d="M282.34,321.07h0l0,0c-.12-.2-.24-.38-.37-.58-.49-.78-1-1.54-1.55-2.25l1.9,2.81Z"
 style="fill:#be202e;opacity:0.349999994039536;isolation:isolate"/><path 
d="M241.13,357c-6.91-.48-13.72-1-20.39-1.7q-10.4-1-20.33-2.4l-1.17-.16c-6.5-.91-12.83-1.95-18.95-3.11L166.2,367.79l3.76,1c4.8,1.25,9.91,2.47,15.29,3.67,6.07,1.35,12.47,2.67,19.15,3.92,6.16,1.16,12.57,2.26,19.16,3.29q8.4,1.33,17.17,2.46l.65.08,19.46-24.12Q250.85,357.66,241.13,357Z"
 style="fill:url(#linear-gradient-2)"/><path d="M409.33
 
,351.14q8.1-.6,16.48-1.31l.24,0,2.38-.2c3.77-.32,7.15-.64,14.85-1.36,0-4.53,3.17-9.58,7-14.74a22.55,22.55,0,0,0-11.14,13c-7.51-18.92-19.4-32.77-36.66-34.91a40.68,40.68,0,0,0-4.74-.31c6.45,1.61,10.56,5.34,14,14.33l0,0,0,0c-11.58-10.3-20-14.26-31.79-15.85-2.79-.37-5.76-.62-9-.78,16.66,6,25.83,17.64,29.54,32.52l5.78,9.81Z"
 style="fill:url(#linear-gradient-3)"/><path 
d="M384,356.74q-10.15.55-20.57,1-10,.41-20.12.71t-20.39.45q-10.41.15-20.86.13t-20.58-.24l-7.38-.18q-6.36-.19-12.66-.45l-.67,0-19.46,24.12,1.31.17c6.19.79,12.49,1.51,18.87,2.13s13,1.16,19.53,1.58q8.31.55,16.65.86l3.36.1q10.46.29,20,.1c7.19-.14,14-.47,20.31-.94q6.27-.47,12-1.1c3.25-.38,6.47-.83,9.68-1.29q11.31-1.66,22.19-4.11l19.53-24.22q-7.93.52-16.13,1C387.12,356.58,385.58,356.65,384,356.74Z"
 style="fill:url(#linear-gradient-4)"/><path 
d="M386.18,379.5a214.44,214.44,0,0,0,25.68-7.57l.87-.31c-4.61,6.89-6,20.43-6,20.38,7.66-12.68,16.08-23.48,26.53-29.23,2.69,3.73,4,9.91,4.55,17.48,3.17-9.58,2.6-15.45,2.17-17.64,3.19,6.05,10.3
 
9,10.61,18.27,14.93-8.2-7.81-13.23-14.82-14.46-20.92,28.78-2.42,60.13-6,93.19-10.28a8.39,8.39,0,0,0-7.4-2.92c-6,.81-45.23,6-98,10.16l-4.53.36-1.27.1c-5.54.42-11.21.83-17,1.22l-4,.26h-.08L385.2,379.73C385.53,379.64,385.86,379.58,386.18,379.5Z"
 style="fill:url(#linear-gradient-5)"/><path 
d="M262,355.16l2.76.09q4.16.12,8.5.21c3.13.06,6.31.12,9.57.15l5,.05q7.52.06,15.48,0,9.78-.05,20.27-.28,10-.21,20.62-.59,10.09-.36,20.78-.89,9.53-.47,19.52-1.08l1-.06q9.93-.6,20.34-1.37l.48,0-5.78-9.81c.06.23.13.43.17.67-7.1-11.64-23.7-23.9-39.86-29.37a107.71,107.71,0,0,0-24.72-5,176.41,176.41,0,0,0-21.88-.54c-6.86.22-14.14.75-21.92,1.6a40.76,40.76,0,0,1,7.7,8.16c.41.57.83,1.16,1.23,1.74s.81,1.21,1.2,1.83h0l0,0c-9.61-9.52-21.42-12.92-34.27-13.47a44.67,44.67,0,0,1,12.3,11.11c.54.73,1,1.48,1.55,2.25.13.19.25.38.37.58h0l0,0h0a51.59,51.59,0,0,0-10.38-7.7c-.76-.41-1.51-.81-2.29-1.16-1.17-.55-2.37-1-3.59-1.46-.78-.27-1.57-.53-2.37-.74a43.86,43.86,0,0,0-5.88-1.22l-1.9-.24-2.67-.13c-4-.15-7.41-.14-10.41,0-1.49
 
.05-2.87.14-4.13.25-.5,0-1,.08-1.45.14-1.4.14-2.63.3-3.69.46a36.5,36.5,0,0,0-3.71.76h0a12.78,12.78,0,0,1,1.51.93c3.64,2.54,8.22,7.65,11.27,12.05l-5.31-9,5.31,9a1.49,1.49,0,0,0,.14.19l.88,1.34-.23-.19,18.16,30.82A2,2,0,0,0,262,355.16Z"
 style="fill:url(#linear-gradient-6)"/><path 
d="M180.07,348.2c5.72.89,12.16,1.77,19.38,2.6l1.14.13Q210,352,221,352.9c6.39.52,13.2,1,20.47,1.38q9.51.51,20.07.86l-18.16-30.82c-8.59-7.49-14.43-9.94-22-11.47-2.05-.38-4.19-.74-6.37-1.06-6.7-1-13.9-1.68-20.89-2a186.88,186.88,0,0,0-19.1-.07,87.87,87.87,0,0,0-9.87,1c-2.52.42-4.86.93-7.06,1.48C166,323.83,175,338.37,180.07,348.2Z"
 style="fill:url(#linear-gradient-7)"/><path 
d="M301.23,318.8c.41.6.81,1.21,1.2,1.83h0C302,320,301.64,319.4,301.23,318.8Z" 
style="fill:#be202e"/><path 
d="M301.23,318.8c.41.6.81,1.21,1.2,1.83h0C302,320,301.64,319.4,301.23,318.8Z" 
style="fill:#be202e;opacity:0.349999994039536;isolation:isolate"/><path 
d="M301.23,318.8c.41.6.81,1.21,1.2,1.83h0C302,320,301.64,319.4,301.23,318.8Z" 
style="fill
 :url(#linear-gradient-8)"/><path 
d="M282.36,321.09c-.12-.2-.24-.38-.37-.58.13.19.25.38.37.58Z" 
style="fill:#be202e"/><path 
d="M282.36,321.09c-.12-.2-.24-.38-.37-.58.13.19.25.38.37.58Z" 
style="fill:#be202e;opacity:0.349999994039536;isolation:isolate"/><path 
d="M282.36,321.09c-.12-.2-.24-.38-.37-.58.13.19.25.38.37.58Z" 
style="fill:url(#linear-gradient-9)"/><path d="M282.35,321.08Z" 
style="fill:#be202e"/><path d="M282.35,321.08Z" 
style="fill:#be202e;opacity:0.349999994039536;isolation:isolate"/><path 
d="M282.35,321.08Z" style="fill:url(#linear-gradient-10)"/><path 
d="M600.39,249.82a39.59,39.59,0,0,0,31.86-13.62c7.49-9,11.47-25.25,11.47-39.83a45,45,0,0,0-12.39-31.86,40.7,40.7,0,0,0-30.94-13.18,43,43,0,0,0-32.74,13.18,44.64,44.64,0,0,0-12.39,32c0,14.06,4.22,30.19,12.19,39.43A41.62,41.62,0,0,0,600.39,249.82Z"
 style="fill:none"/><rect width="768" height="392" style="fill:none"/><path 
d="M623.13,292.79c-5.77.68-11.51,1.59-17.24,2.47-12.74,2-25.45,4.54-38.23,6.25-4,.52-9.24,1.08-11.95-2.59-3
 
.78-5.54,5.93-11.71,9.28-14.18,4-2.95,12.31-6.61,12.82-7.13a67.43,67.43,0,0,1,7.33.52,95.86,95.86,0,0,0,52.41-8.32,79.66,79.66,0,0,0,18-11.95A61.61,61.61,0,0,0,668.77,241a92.09,92.09,0,0,0,7.37-23.58,112.68,112.68,0,0,0,1.63-25.85,75.07,75.07,0,0,0-4.5-21.86,130.22,130.22,0,0,0-9.16-17.44l19.47-19.63V0H76.93Q43.72.68,22.29,20.47A67.42,67.42,0,0,0,.15,72.24,81.36,81.36,0,0,0,11.5,116.05q11.35,18.24,39.83,31.54l22.74,10.63q30.39,14.26,37.91,26.32a48.39,48.39,0,0,1,7.53,26.13,39.83,39.83,0,0,1-13.58,31,51.77,51.77,0,0,1-35.84,12.15,92.75,92.75,0,0,1-28.55-5.22A95.3,95.3,0,0,1,15,235.41L1,270.37a112.55,112.55,0,0,0,63.72,17.48q42.41,0,67.7-21.86a67.7,67.7,0,0,0,25.09-53.21q0-28.87-11.55-47.79t-40.22-32.18l-23.1-10.63a166.78,166.78,0,0,1-29.31-16.53A40.46,40.46,0,0,1,42.16,91a45.8,45.8,0,0,1-4-19.39A38,38,0,0,1,49.37,43.33a34.77,34.77,0,0,1,27.4-11.95H652.17v88.33l-11.71,11.95a28.32,28.32,0,0,0-5.5-2.87A96.14,96.14,0,0,0,602.15,122a93.39,93.39,0,0,0-33.29,4.38A77,77,0,0,0,542,144.21a80.9
 
3,80.93,0,0,0-15,21.7,87.14,87.14,0,0,0-6.85,26,85.11,85.11,0,0,0,1,26.68,75.39,75.39,0,0,0,8.64,22.9,78.86,78.86,0,0,0,14.34,16.29,99.57,99.57,0,0,0,10.31,8.72c-4,2.51-7.73,5.3-11.43,8-9.8,7.41-19.08,19.55-14.34,33.29s20.15,17.68,33.05,18.76a134.77,134.77,0,0,0,35.13-2.71c8.72-1.59,17.6-2.31,26.44-3.15,3.66-.36,7.25-1,11-1.08A21.11,21.11,0,0,1,651.33,326a13.32,13.32,0,0,1,1.13,2l0,.1c7.5,18.4-22.1,26.47-44.63,29.16-12.64,1.51-41,3.55-60.63,2.13-.68,13.23-6.45,24.89-15.74,32.55,15.74,0,38.51-.12,51.52-.91,11.1-.67,21.88-1,33.42-2.69,40-5.13,71.64-26.27,71.64-51C688,308.74,663.92,287.06,623.13,292.79ZM567.66,164.52a43,43,0,0,1,32.74-13.18,40.7,40.7,0,0,1,30.94,13.18,45,45,0,0,1,12.39,31.86c0,14.58-4,30.82-11.47,39.83a39.59,39.59,0,0,1-31.86,13.62A41.62,41.62,0,0,1,567.46,236c-8-9.24-12.19-25.37-12.19-39.43A44.64,44.64,0,0,1,567.66,164.52Z"
 style="fill:#00678c"/><path d="M728.16,3.74H716.93V34h-4V3.74H701.66V0h26.5Z" 
style="fill:#6d6e71"/><path d="M732.91,0h6l11.52,26.64h.1L762.14,0H7
 68V34h-4V5.47h-.1L751.68,34h-2.45L737,5.47h-.09V34h-4Z" 
style="fill:#6d6e71"/></svg>
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list.json
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list.json?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list.json
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list.json
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,4 @@
+{
+    "jcr:primaryType" : "nt:unstructured",
+    "sling:resourceSuperType" : "htlblog/public/page"
+}
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list/body.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list/body.html?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list/body.html
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/list/body.html
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,41 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+<body data-sly-use.list="org.apache.sling.samples.htlblog.models.List">
+<sly data-sly-include="nav.html"></sly>
+<div class="container">
+  <header>
+    <img class="sling-logo" 
src="/apps/htlblog/clientlibs/htlblog/img/sling-logo.svg"/>
+  </header>
+  <sly data-sly-repeat.child="${list.children}">
+    <article>
+      <div class="row">
+          <div class="col-md-6">
+              <h1><a href="${child.url}">${child.title}</a></h1>
+          </div>
+          <div class="col-md-6 text-right">
+              <h1>${child.created}</h1>
+          </div>
+      </div>
+      <img data-sly-test="${child.featuredImagePath}" 
src="${child.featuredImagePath}" alt="Featured Image" class="featured-image"/>
+      <div class="row">
+          <div class="col-sm-12">
+              ${child.body}
+          </div>
+      </div>
+    </article>
+  </sly>
+</div>

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/body.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/body.html?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/body.html
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/body.html
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,22 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+<body>
+<sly data-sly-include="nav.html"></sly>
+<div class="container">
+  <h1>${properties.title}</h1>
+  <h1>${properties.body}</h1>
+</div>
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/foot.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/foot.html?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/foot.html
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/foot.html
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,20 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+<script 
src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js";></script>
+<script src="/apps/htlblog/clientlibs/bootstrap/js/bootstrap.min.js"></script>
+</body>
+</html>
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/head.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/head.html?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/head.html
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/head.html
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,29 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <head>
+        <meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+        <meta name="viewport" content="width=device-width, initial-scale=1">
+        <title>${properties.title}</title>
+
+        <link href="/apps/htlblog/clientlibs/bootstrap/css/bootstrap.min.css" 
rel="stylesheet">
+        <link href="/apps/htlblog/clientlibs/htlblog/css/htlblog.css" 
rel="stylesheet">
+    </head>
+</head>
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/nav.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/nav.html?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/nav.html
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/nav.html
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,39 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+<nav class="navbar navbar-inverse navbar-fixed-top">
+    <div class="container">
+        <div class="navbar-header">
+            <button type="button" class="navbar-toggle collapsed" 
data-toggle="collapse" data-target="#navbar" aria-expanded="false" 
aria-controls="navbar">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+            <a class="navbar-brand" href="/content/htlblog.html">HTL Blog</a>
+        </div>
+        <div id="navbar" class="collapse navbar-collapse">
+            <ul class="nav navbar-nav">
+                <li class="active"><a 
href="/content/htlblog/posts.html">Posts</a></li>
+                <li><a href="/content/htlblog/admin.html">Admin</a></li>
+            </ul>
+            <ul class="nav navbar-nav navbar-right" 
data-sly-use.author="org.apache.sling.samples.htlblog.models.Author">
+                <li data-sly-test="${author.isLoggedIn}"><a 
href="/system/sling/logout">Logout ${author.userId}</a></li>
+                <li data-sly-test="${!author.isLoggedIn}"><a 
href="/system/sling/form/login">Login</a></li>
+            </ul>
+        </div>
+    </div>
+</nav>

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/page.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/page.html?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/page.html
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/page/page.html
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,19 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+<sly data-sly-include="head.html"></sly>
+<sly data-sly-include="body.html"></sly>
+<sly data-sly-include="foot.html"></sly>

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post.json
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post.json?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post.json
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post.json
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,4 @@
+{
+    "jcr:primaryType" : "nt:unstructured",
+    "sling:resourceSuperType" : "htlblog/public/page"
+}
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post/body.html
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post/body.html?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post/body.html
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/apps/htlblog/public/post/body.html
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,36 @@
+<!--/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+  ~ Licensed to the Apache Software Foundation (ASF) under one or more
+  ~ contributor license agreements.  See the NOTICE file distributed with
+  ~ this work for additional information regarding copyright ownership.
+  ~ The ASF licenses this file to You under the Apache License, Version 2.0
+  ~ (the "License"); you may not use this file except in compliance with
+  ~ the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/-->
+<body data-sly-use.post="org.apache.sling.samples.htlblog.models.Post">
+<sly data-sly-include="nav.html"></sly>
+<div class="container">
+    <article>
+      <div class="row">
+          <div class="col-md-6">
+              <h1>${post.title}</h1>
+          </div>
+          <div class="col-md-6 text-right">
+              <h1>${post.created}</h1>
+          </div>
+      </div>
+      <img data-sly-test="${post.featuredImagePath}" 
src="${post.featuredImagePath}" alt="Featured Image" class="featured-image"/>
+      <div class="row">
+          <div class="col-sm-12">
+              ${post.body}
+          </div>
+      </div>
+    </article>
+</div>
\ No newline at end of file

Added: 
sling/trunk/samples/htlblog/src/main/resources/initial-content/content/htlblog.json
URL: 
http://svn.apache.org/viewvc/sling/trunk/samples/htlblog/src/main/resources/initial-content/content/htlblog.json?rev=1790555&view=auto
==============================================================================
--- 
sling/trunk/samples/htlblog/src/main/resources/initial-content/content/htlblog.json
 (added)
+++ 
sling/trunk/samples/htlblog/src/main/resources/initial-content/content/htlblog.json
 Fri Apr  7 13:45:48 2017
@@ -0,0 +1,39 @@
+{
+       "jcr:primaryType": "nt:unstructured",
+       "sling:resourceType": "htlblog/public/list",
+       "title": "HTL Blog",
+       "description": "The blog homepage.",
+       "posts": {
+               "jcr:primaryType": "sling:OrderedFolder",
+               "sling:resourceType": "htlblog/public/list",
+               "title": "HTL Blog",
+               "description": "The blog homepage.",
+               "hello-world" : {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": "htlblog/public/post",
+                       "title": "Hello World",
+                       "jcr:createdBy": "admin",
+                       "created": "2017-04-01T13:26:00.000+01:00",
+                       "body": "Lorem ipsum dolor sit amet, consectetur 
adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi 
ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in 
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint 
occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim 
id est laborum."
+               },
+               "hola-mundo" : {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": "htlblog/public/post",
+                       "title": "Hola Mundo",
+                       "jcr:createdBy": "admin",
+                       "created": "2017-04-01T13:26:00.000+01:00",
+                       "body": "Lorem ipsum dolor sit amet, consectetur 
adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna 
aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi 
ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in 
voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint 
occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim 
id est laborum."
+               }
+       },
+       "admin": {
+               "jcr:primaryType": "nt:unstructured",
+               "sling:resourceType": "htlblog/admin/list",
+               "title": "HTL Blog Admin",
+               "description": "The blog admin.",
+               "edit": {
+                       "jcr:primaryType": "nt:unstructured",
+                       "sling:resourceType": "htlblog/admin/edit",
+                       "title": "HTL Blog Edit"
+               }
+       }
+}
\ No newline at end of file


Reply via email to