Contenta is an API-First Drupal distribution.

It's all about your content everywhere.

Ready to use

code

API
ready

An HTTP API provided ready to use with full auto-generated documentation.

layers

Example
content

Example content to help you understand how all works. This can be removed all in one click.

file_download

Example
consumers

Many consumers in different technologies can show you how easy is to build a Contenta project.

invert_colors

By the
community

A community of experts is ready to guide with Contenta and solve common challenges together.



language
Our Mission

Contenta is the community driven API distribution for Drupal 8.

It provides a standard platform that is API ready along with demo content and example front-end applications. Contenta intends to ease the pain of using, or simply trying, decoupled Drupal.

Read more about Contenta’s mission in this blog post, or watch a presentation about it.

Forget about Drupal
Non-drupalistas can get the Drupal part done quick and focus on their framework of choice.
Ready to try decoupled Drupal
Contenta comes with everything (code and content) installed so you can start checking decoupled Drupal right away.
Find all the docs
The knowledge hub is a manually curated list of good resources on decoupled Drupal.
Industry ready
The Contenta CMS community accumulates a lot of experience in real projects. Contenta ships with many gotchas solved.
Help Spread the Word

Have you created a digital experience with Contenta CMS? We would love to know! We can help promote your project and you can help us showcase the power of Contenta. Send us a tweet or a private message to know about your project.

If you are planning to talk about Contenta CMS at a local event, we have slide decks and ideas we can share with you.

share
Quick Install
Local development only

The quick installation is intended for local development only. For this to work you will need to have composer installed in your local machine. See get composer for more details. Also, make sure that the sqlite-extension is installed (sudo apt-get install php-sqlite3 in debian/ubuntu).


php -r "readfile('https://raw.githubusercontent.com/contentacms/contenta_jsonapi/8.x-1.x/installer.sh');" > contentacms.sh
chmod a+x contentacms.sh
./contentacms.sh
          
Installation
  1. Get Composer
  2. Create a new project using a command like this. This will pull down the installation profile + core + modules, so maybe get a cup of tea:
    
    composer create-project contentacms/contenta-jsonapi-project MYPROJECT --stability dev --no-interaction
                  
  3. After that, install Drupal normally.
Umami magazine
Demos

An integral part of Contenta is to provide an out of the box content model and demo content ready for you to start working with it. The demo chosen by the community is a recipe magazine.

With this in mind, every demo consumer will implement this recipe magazine site with the goal in mind to compare the different implementations.

Example Consumers

Choosing your own front-end technology is one of common reasons to choose a decoupled approach. In a decoupled architecture you can also have multiple front-ends at the same time. Contenta gives you examples on how to build a consumer application in different technologies.

We will implement the same wireframes as the Out of the Box Initiative, so all the demo applications can be compared. Even though all applications will have the same structure, each one will choose their look and feel. Angular may use material design, elm may use bootstrap, etc.

Front-end Status Example Code
Angular Running demo Website Repo
Elm Running demo Website Repo
Ember Running demo Website Repo
Ionic   Running demo Not yet Repo
React In progress Not yet Repo
Vue.js + Nuxt.js In progress Website Repo
Chatbot Running demo Blog post Repo

If you want to contribute to any of the demo apps above or add a new one, join the Slack channel and become part of the project!

Development

Join the discussion in the #contenta Slack channel.

For documentation on the development on contenta_jsonapi itself, see docs/development.

Presentations
Drupal Summer Barcelona
Decoupled Dev Days NYC
DrupalCon Vienna 2017