[ .[] | . as $page | (.namespace | ltrimstr($namespace + "/") | split("/") | (.[] |= ["pages",.]) | flatten) as $path | null | setpath($path; $page) ] | reduce .[] as $item ({}; . * $item)