Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
b39848e
Rich text setup project - [INTEG-3001] (#10041)
JuliRossi Aug 4, 2025
cd1ad23
Config screen rich text versioning - [INTEG-3008] (#10046)
JuliRossi Aug 5, 2025
ac55e87
updating from dist to build (#10050)
JuliRossi Aug 7, 2025
3d47e8d
Rich-Text-Versioning: UI adjustments and diff component [INTEG-2976] …
FBanfi Aug 11, 2025
6e26dfb
Config screen - Add field content type multi selector [INTEG-3009] (#…
JuliRossi Aug 11, 2025
336c64e
Rich-Text-Versioning: Error handling and cma call refactor [INTEG-301…
FBanfi Aug 13, 2025
30a1b40
Rich-Text-Versioning: Removing access token [INTEG-3027] (#10060)
FBanfi Aug 13, 2025
5b818dc
Rich-Text-Versioning: fixing bugs in error handling [INTEG-3028] (#10…
FBanfi Aug 14, 2025
8c3f36c
fix current content not being displayed when published content is em…
FBanfi Aug 14, 2025
8228864
References rich text [INTEG-2977] (#10063)
JuliRossi Aug 18, 2025
710ba37
Fix localization edge cases [] (#10068)
JuliRossi Aug 19, 2025
391c30a
Rich text versioning: Asset support [INTEG-3019] (#10069)
joaquincasal Aug 19, 2025
3065c78
Rich text: demo fixes [] (#10072)
joaquincasal Aug 21, 2025
9d8b1c9
Merge branch 'master' into rich-text-versioning
joaquincasal Aug 21, 2025
a224697
Visual adjustments
joaquincasal Aug 21, 2025
f49f225
fix: add more security around xss attack when setting inner html
ryunsong-contentful Aug 22, 2025
3d8adee
fix: build issues
ryunsong-contentful Aug 22, 2025
6f4dad5
Close modal on click outside or esc
joaquincasal Aug 22, 2025
28ba268
Update definition id
joaquincasal Aug 25, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions apps/rich-text-versioning/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# dependencies
/node_modules

# testing
/coverage

# production
/dist

# dotenv environment variables file
.env
.env.*
!.env*.example

# misc
.DS_Store
.cursor
npm-debug.log*
yarn-debug.log*
yarn-error.log*
2 changes: 2 additions & 0 deletions apps/rich-text-versioning/.npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
engine-strict = true
@contentful:registry=https://registry.npmjs.org
79 changes: 79 additions & 0 deletions apps/rich-text-versioning/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
This project was bootstrapped with [Create Contentful App](https://github.com/contentful/create-contentful-app).

## How to use

Execute create-contentful-app with npm, npx or yarn to bootstrap the example:

```bash
# npx
npx create-contentful-app --example vite-react

# npm
npm init contentful-app --example vite-react

# Yarn
yarn create contentful-app --example vite-react
```

## Available Scripts

In the project directory, you can run:

#### `npm start`

Creates or updates your app definition in Contentful, and runs the app in development mode.
Open your app to view it in the browser.

The page will reload if you make edits.
You will also see any lint errors in the console.

#### `npm run build`

Builds the app for production to the `dist` folder.
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.
Your app is ready to be deployed!

#### `npm run upload`

Uploads the `dist` folder to Contentful and creates a bundle that is automatically activated.
The command guides you through the deployment process and asks for all required arguments.
Read [here](https://www.contentful.com/developers/docs/extensibility/app-framework/create-contentful-app/#deploy-with-contentful) for more information about the deployment process.

#### `npm run upload-ci`

Similar to `npm run upload` it will upload your app to contentful and activate it. The only difference is
that with this command all required arguments are read from the environment variables, for example when you add
the upload command to your CI pipeline.

For this command to work, the following environment variables must be set:

- `CONTENTFUL_ORG_ID` - The ID of your organization
- `CONTENTFUL_APP_DEF_ID` - The ID of the app to which to add the bundle
- `CONTENTFUL_ACCESS_TOKEN` - A personal [access token](https://www.contentful.com/developers/docs/references/content-management-api/#/reference/personal-access-tokens)

## Libraries to use

To make your app look and feel like Contentful use the following libraries:

- [Forma 36](https://f36.contentful.com/) – Contentful's design system
- [Contentful Field Editors](https://www.contentful.com/developers/docs/extensibility/field-editors/) – Contentful's field editor React components

## Using the `contentful-management` SDK

In the default create contentful app output, a contentful management client is
passed into each location. This can be used to interact with Contentful's
management API. For example

```js
// Use the client
cma.locale.getMany({}).then((locales) => console.log(locales));
```

Visit the [`contentful-management` documentation](https://www.contentful.com/developers/docs/extensibility/app-framework/sdk/#using-the-contentful-management-library)
to find out more.

## Learn More

[Read more](https://www.contentful.com/developers/docs/extensibility/app-framework/create-contentful-app/) and check out the video on how to use the CLI.
21 changes: 21 additions & 0 deletions apps/rich-text-versioning/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>

<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="module" src="/src/index.tsx"></script>
<!--
This HTML file is a template.
If you open it directly in the browser, you will see an empty page.
You can add webfonts, meta tags, or analytics to this file.
The build step will place the bundled scripts into the <body> tag.
To begin the development, run `npm start`.
To create a production bundle, use `npm run build`.
-->
</body>
</html>
Loading