-
Notifications
You must be signed in to change notification settings - Fork 938
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PageBuilder for page assets retrieved from Asset Delivery API (created in Console) #1520
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ba8891d
to
daf966f
Compare
aa18141
to
51003be
Compare
Gnito
commented
Jun 22, 2022
e394680
to
5773992
Compare
d8a9020
to
85afdda
Compare
5c91dd0
to
d7c40a3
Compare
…kdown Removing content input results as empty string in the saved asset.
All the 'meta' data comes from page asset file and it's handled inside PageBuilder.
…socialSharingDescription
This was referenced Feb 14, 2023
Merged
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds rendering for page assets.
Rendering flow
The rendering happens in these steps (for LandingPage):
content/pages/landing-page.json
(assetImage entities are by default in included part of the returned asset).
<body>
)<head>
)<StaticPage>
component, which is moved under PageBuilder directory.In addition to the landing page, there are similar rendering made for TermsOfServicePage and PrivacyPolicyPage
For generic page assets, the routing now contains CMSPage component (with route:
/p/<page-asset-id>/
)Markdown
Block component can contain a key text, which has markdown content.
This solution uses Unified and it's plugin ecosystem to render that markdown as React components.
Unified/rehype is also used by references like Gatsby.
We use these versions at this point:
"rehype-react": "^6.2.1",
"rehype-sanitize": "^4.0.0",
"remark-parse": "^9.0.0",
"remark-rehype": "^8.1.0",
"unified": "^9.2.2",
Taking update from upstream
This is causing a major version change - and you need to check the code in this PR if you experience merge conflicts. You also need to make choices whether or not you keep your current pages (e.g. LandingPage) or start using Pages for that too.
Most of the new code changes of this PR are inside:
src/containers/PageBuilder/
src/containers/LandingPage/
is swapped to use the Pages featuresrc/containers/TermsOfSerivcePage/
src/containers/PrivacyPolicyPage/
src/containers/AboutPage/