Shortcodes content filter #3780
Draft
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.
Short description
This PR drafts a shortcodes implementation as an alternative to use internal links, contact cards etc. in content. This removes the problem of having to keep track of and update information scattered among many content objects.
To test it, add something like this to a page:
[page 1 "this page"]
or[contact 3]
(see the added documentation of the shortcodes for more details) and look at the API response (e.g. /api/v3/augsburg/de/page/?id=1)Proposed changes
shortcodes
as new dependencyintegreat_cms.cms.utils.shortcodes
module to house all shortcodes and their processing facilitiesexpand_shortcodes
to django that returns the content passed to it with all shortcodes replaced by their expanded versionspage
shortcode to link to pages and thecontact
shortcode to render contact cardsTODO: (in a future PR?)
currently fully client side, need to decide on strategy: send content to backend to process and check or (partial?) re-implementation in JS
Side effects
try
except
block:Faithfulness to issue description and design
There are no intended deviations from the issue and design.
Resolved issues
Part of #3745
Pull Request Review Guidelines