Overview
NuxtPress is a development environment that combines WordPress, the world’s largest CMS, with NuxtJS, a front-end application framework built on top of Vue. It aims to provide a ready-to-use environment for developing WordPress sites with the flexibility of extending the backend if desired. With fully dockerized WordPress and NuxtJS containers, NuxtPress offers easy access to meta-fields, featured media menus, and front-page configuration through its extended Rest API.
Features
- Fully dockerized WordPress and NuxtJS containers
- Extended Rest API for easy access to meta-fields, featured media menus, and front-page configuration
- Latest NuxtJS with a WordPress $wp object to connect to the extended WordPress Rest API
- Showcase of sites powered by NuxtPress
Installation
With Docker
Setup WordPress:
docker-compose up -dSetup Nuxt.js:
docker exec -it nuxtpress_nuxt_1 bash yarn
Without Docker
Setup WordPress:
- Install WordPress: http://localhost:3080/install.php
- Set permalinks to Post name: http://localhost:3080/wp-admin/options-permalink.php
- Activate nuxtpress-theme: http://localhost:3080/wp-admin/themes.php
Setup Nuxt.js:
- Install dependencies:
yarn
URL and Port Configuration
- WordPress endpoint: http://localhost:3080
- NuxtJS endpoint: http://localhost:3000
WordPress Rest API Endpoints
- Extensions to the API endpoints
- Front-page configuration
- Menus
- Slugs
- Meta queries
- Taxonomy queries
- Geo queries
- Custom post types
Development Tools
- StoryBook
- Jest (Unit + Snapshot Testing)
- SCSSLint Staged Files on Commit
Scripts
- Working with the containers
- WP-CLI and yarn
Scaffolding
- Generate and Deploy
Summary
NuxtPress is a powerful development environment that combines WordPress with NuxtJS, offering an extensive range of features and tools for building WordPress websites. With fully dockerized containers and an extended Rest API, developers can quickly set up and start developing without the need for extensive backend coding. The flexibility to extend the backend allows for customization while still benefiting from the ease of use provided by WordPress and NuxtJS integration.