fix bug: ob_start() after /block
enhance: ignore non-block content once extend
add a demo