One click, Fully Decoupled Drupal Site starter-kit with Druxt.
DruxtSite connects Drupal to Nuxt via JSON:API to provide a framework for building a Fully Decoupled site.
This repostory provides a quickstart installation of:
- Drupal 9 with Tome sync
- Nuxt 2
- DruxtSite
- DruxtAuth
- Node v16
Try it before you fork it:
-
Click the Use this template button in GitHub and follow the on-screen instructions to Create a new repository.
-
Clone the repository locally.
Example:
git clone [email protected]:druxt/quickstart-druxt-site-tome.git
-
Setup an
.env
file and update as required:cp .env.example .env
-
Install and setup Drupal:
(from repository root)
cd drupal ddev start ddev drupal-install ddev druxt-add-consumer
-
Install and run Nuxt:
(from repository root)
cd nuxt nvm use npm install npm run dev
-
Click the Use this template button in GitHub and follow the on-screen instructions to Create a new repository.
-
Once the repository has been generated, open it in Gitpod by appending
https://gitpod.io#
to the GitHub url.Example:
https://gitpod.io#github.com/druxt/quickstart-druxt-site-tome
Note: If this is your first time using Gitpod, you can signup for a free plan with your Github account.
-
Wait for your codebase to build.
Note: To speed up this step, enable Prebuilds by follow the instructions @ https://www.gitpod.io/docs/prebuilds#enable-prebuilt-workspaces
Your environment contains a pre-install, pre-configured and running instance of Drupal with Tome, and Nuxt with the DruxtSite module enabled.
You can access the services in your browser, via the Remote Explorer extension, or via the URL pattern: https://[PORT]-[GITPOD_ID].[GITPOD_SERVER].gitpod.io
Port | Service |
---|---|
3000 |
Nuxt.js |
3003 |
Storybook |
8080 |
Drupal |
DDEV is an open source tool that makes it dead simple to get local PHP development environments up and running within minutes.
DDEV is used to manage the Drupal instance, and provides a CLI that can be used to run common drupal tasks, including ddev drush
.
These commands should be run from within the /drupal
folder.
Refer to the documentation for more details: https://ddev.readthedocs.io
Zero-boilerplate authentication support for Nuxt.js!
The @nuxtjs/auth-next module is installed and configured to connect to the Drupal Simple OAuth module by way of the DruxtAuth module:
this.$auth.loginWith('drupal-authorization_code')
- More details on how to use the
$auth
service can be found at https://auth.nuxtjs.org/api/auth
Storybook integration with NuxtJS .
Druxt integrates with the Nuxt Storybook module to provide zero-configuration, auto-discovery stories with access to live data from your Drupal backend.
To start Storybook, navigate to the nuxt
directory and run npx nuxt storybook
.
Tome sync is a static storage system for content, allowing you to keep your content up to date without the need of a database.
See the project page for more details: https://www.drupal.org/project/tome