feat(router): generate URLs