https://github.com/kitconcept/volto-social-blocks
Social Blocks support for Volto
https://github.com/kitconcept/volto-social-blocks
Last synced: about 1 month ago
JSON representation
Social Blocks support for Volto
- Host: GitHub
- URL: https://github.com/kitconcept/volto-social-blocks
- Owner: kitconcept
- Created: 2023-02-23T19:08:01.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-04-30T11:52:45.000Z (about 2 months ago)
- Last Synced: 2025-05-11T12:11:36.698Z (about 2 months ago)
- Language: JavaScript
- Size: 14.5 MB
- Stars: 1
- Watchers: 3
- Forks: 2
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
- awesome-volto - volto-social-blocks - A Social Blocks support for Volto block (Addons)
README
# Social Blocks for Volto (@kitconcept/volto-social-blocks)
Addon implementing social network blocks for [Plone](https://plone.org) projects with [Volto](https://github.com/plone/volto).
[](https://www.npmjs.com/package/@kitconcept/volto-social-blocks)
[](https://kitconcept.github.io/volto-social-blocks/)
[](https://github.com/kitconcept/volto-social-blocks/actions/workflows/main.yml)## Features
- Facebook block
- Flickr block
- Instagram block
- Soundcloud block
- Spotify block
- Tweet block## Installation
To install your project, you must choose the method appropriate to your version of Volto.
### Volto 18 and later
Add `@kitconcept/volto-social-blocks` to your `package.json`:
```json
"dependencies": {
"@kitconcept/volto-social-blocks": "*"
}
```Add `@kitconcept/volto-social-blocks` to your `volto.config.js`:
```javascript
const addons = ['@kitconcept/volto-social-blocks'];
```If this package provides a Volto theme, and you want to activate it, then add the following to your `volto.config.js`:
```javascript
const theme = '@kitconcept/volto-social-blocks';
```### Volto 17 and earlier
Create a new Volto project (you can skip this step if you already have one):
```
npm install -g yo @plone/generator-volto
yo @plone/volto my-volto-project --addon @kitconcept/volto-social-blocks
cd my-volto-project
```Add `@kitconcept/volto-social-blocks` to your package.json:
```JSON
"addons": [
"@kitconcept/volto-social-blocks"
],"dependencies": {
"@kitconcept/volto-social-blocks": "*"
}
```Download and install the new add-on by running:
```
yarn install
```Start volto with:
```
yarn start
```### Test it
Go to http://localhost:3000/, login, create a new page. The social blocks will show up in the Volto blocks chooser.
### Custom Privacy Consent Notice
You can register a custom React component to check for privacy consent and show the user a prompt to confirm accessing the external services. This is useful to meet European GDPR requirements, for example.
```
config.registerComponent({
name: 'CheckPrivacyConsent',
component: IfConfirm, # use your own component here
});
```The [@kitconcept/volto-dsgvo-banner](https://github.com/kitconcept/volto-dsgvo-banner) addon provides one possible implementation of the `CheckPrivacyConsent` component.
## Development
The development of this add-on is done in isolation using a new approach using pnpm workspaces and latest `mrs-developer` and other Volto core improvements.
For this reason, it only works with pnpm and Volto 18 (currently in alpha).### Prerequisites ✅
- An [operating system](https://6.docs.plone.org/install/create-project-cookieplone.html#prerequisites-for-installation) that runs all the requirements mentioned.
- [nvm](https://6.docs.plone.org/install/create-project-cookieplone.html#nvm)
- [Node.js and pnpm](https://6.docs.plone.org/install/create-project.html#node-js) 22
- [Make](https://6.docs.plone.org/install/create-project-cookieplone.html#make)
- [Git](https://6.docs.plone.org/install/create-project-cookieplone.html#git)
- [Docker](https://docs.docker.com/get-started/get-docker/) (optional)### Installation 🔧
1. Clone this repository, then change your working directory.
```shell
git clone [email protected]:kitconcept/volto-social-blocks.git
cd volto-social-blocks
```2. Install this code base.
```shell
make install
```### Make convenience commands
Run `make help` to list the available commands.
```text
help Show this help
install Installs the add-on in a development environment
start Starts Volto, allowing reloading of the add-on during development
build Build a production bundle for distribution of the project with the add-on
i18n Sync i18n
ci-i18n Check if i18n is not synced
format Format codebase
lint Lint, or catch and remove problems, in code base
release Release the add-on on npmjs.org
release-dry-run Dry-run the release of the add-on on npmjs.org
test Run unit tests
ci-test Run unit tests in CI
backend-docker-start Starts a Docker-based backend for development
storybook-start Start Storybook server on port 6006
storybook-build Build Storybook
acceptance-frontend-dev-start Start acceptance frontend in development mode
acceptance-frontend-prod-start Start acceptance frontend in production mode
acceptance-backend-start Start backend acceptance server
ci-acceptance-backend-start Start backend acceptance server in headless mode for CI
acceptance-test Start Cypress in interactive mode
ci-acceptance-test Run cypress tests in headless mode for CI
```### Development environment set up
Install package requirements.
```shell
make install
```### Start developing
Start the backend.
```shell
make backend-docker-start
```In a separate terminal session, start the frontend.
```shell
make start
```### Lint code
Run ESlint, Prettier, and Stylelint in analyze mode.
```shell
make lint
```### Format code
Run ESlint, Prettier, and Stylelint in fix mode.
```shell
make format
```### i18n
Extract the i18n messages to locales.
```shell
make i18n
```### Unit tests
Run unit tests.
```shell
make test
```### Run Cypress tests
Run each of these steps in separate terminal sessions.
In the first session, start the frontend in development mode.
```shell
make acceptance-frontend-dev-start
```In the second session, start the backend acceptance server.
```shell
make acceptance-backend-start
```In the third session, start the Cypress interactive test runner.
```shell
make acceptance-test
```## Credits
The development of this add-on was sponsored by kitconcept GmbH.

## License
The project is licensed under the MIT license.