-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Labels
Description
Certain Publishers of ours would like all pages to be hosted in a separate subdirectory.
For example, /foo should be the homepage, /foo/section/slug will be where the story pages are hosted.
Proposal
@quintype/framework should accept a parameter called "mountAt" which will control where it is mounted. All URLs should be set accordingly.
ex:
upstreamQuintypeRoutes(app, {
mountAt: "/foo",
forwardAmp: true,
forwardFavicon: true
});
isomorphicRoutes(app, {
mountAt: "/foo",
...
})baseUrl
Note: The baseUrl must be updated in the editor via the database for some things (like the canonical url and sitemaps)
story url
It's likely that /${story.slug} will return the wrong url. That's fine. ${story.url} should work correctly assuming baseUrl is set
Acceptance Criteria
Please confirm the following things work as expected
- All home, story, section pages are available at /foo, /foo/section/slug, /foo/section accordingly
- /foo/api/v1/config and other such APIs work correctly
- /foo/sitemap.xml, /foo/stories.rss and other syndication works correctly
- Links between pages should work correctly
- canonical urls must be set correctly
- Documentation is updated accordingly
- Menu links should be set correctly
- No malibu files (other than
app/server/start.js) should need any changes for moving between pages. (possible exception for some hardcoded links such as menu)
I do not expect the following to work in v1 (and can be mentioned as unsupported in the documentation)
- /foo/auth (and all redirect flows)
- Any API that returns a redirect (/api/v1/bulk-request)