@kitconcept/volto-social-blocks
v1.0.0
Published
Add-on providing blocks to embed social media posts into your site.
Readme
🎨 Social Blocks for Volto (@kitconcept/volto-social-blocks)
Addon implementing embeddable social network content blocks for Plone projects with Volto.
✨ Features
- Bluesky block – Embed Bluesky posts directly in your pages
- Facebook block – Display Facebook embeds with privacy consent control
- Flickr block – Showcase Flickr photos and galleries
- Instagram block – Embed Instagram posts and feeds
- Pinterest block – Display Pinterest pins and boards
- Soundcloud block – Embed Soundcloud audio with privacy options
- Spotify block – Integrate Spotify tracks and playlists
- TikTok block – Embed TikTok videos with privacy consent
- Tweet block – Display tweets from X (formerly Twitter)
📦 Installation
Installing @kitconcept/volto-social-blocks requires Volto 18 or above.
🚀 Adding this package as a dependency
To add @kitconcept/volto-social-blocks to your project, locate your project's policy package (typically found in the packages folder) and edit its package.json file.
Add @kitconcept/volto-social-blocks under dependencies:
"dependencies": {
"@kitconcept/volto-social-blocks": "*"
}Then add @kitconcept/volto-social-blocks to the addons array:
"addons": [
"@kitconcept/volto-social-blocks"
]🚀 Starting the project
After adding @kitconcept/volto-social-blocks to your project, run the installation:
make installThen start the development server:
make start✅ Test installation
Visit http://localhost:3000/ in a browser, login, and check the new blocks should be available.
🔒 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 addon provides one possible implementation of the CheckPrivacyConsent component.
👨💻 Development
The development of this add-on is done in isolation using a new approach with pnpm workspaces and latest mrs-developer and other Volto core improvements.
It requires pnpm and Volto 18 or higher.
✅ Prerequisites
- An operating system that runs all the requirements mentioned.
- nvm
- Node.js and pnpm 22
- Make
- Git
- Docker (optional)
🔧 Installation
Clone this repository, then change your working directory.
git clone [email protected]:kitconcept/volto-social-blocks.git cd volto-social-blocksInstall this code base.
make install
🎯 Make commands
Run make help to list the available commands.
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
ci-acceptance-test-run-all With a single command, run backend, frontend, and Cypress tests in headless mode for CI
ci-acceptance Alias for ci-acceptance-test-run-all
ci-acceptence Backward-compatible alias (common typo)🔧 Development environment setup
Install all package requirements:
make install🚀 Start developing
Start the backend in one terminal:
make backend-docker-startIn a separate terminal session, start the frontend:
make start🧹 Lint code
Run ESlint, Prettier, and Stylelint in analyze mode:
make lint✨ Format code
Run ESlint, Prettier, and Stylelint in fix mode:
make format🌍 Internationalization (i18n)
Extract i18n messages to locales:
make i18n🧪 Unit tests
Run unit tests:
make test🎯 Run Cypress acceptance tests
Run each command in separate terminal sessions:
Terminal 1: Start the frontend in development mode:
make acceptance-frontend-dev-startTerminal 2: Start the backend acceptance server:
make acceptance-backend-startTerminal 3: Start the Cypress interactive test runner:
make acceptance-test💡 Credits
The development of this add-on was sponsored by kitconcept GmbH.

📄 License
The project is licensed under the MIT license.
