All Projects → alt-design → wp-spa-boilerplate

alt-design / wp-spa-boilerplate

Licence: other
A JavaScript single page WordPress theme boilerplate using Vue.js and the WordPress REST API.

Programming Languages

PHP
23972 projects - #3 most used programming language
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects
Vue
7211 projects

Projects that are alternatives of or similar to wp-spa-boilerplate

Vuejs Wordpress Theme Starter
A WordPress theme with the guts ripped out and replaced with Vue.
Stars: ✭ 1,359 (+10353.85%)
Mutual labels:  spa, wordpress-theme
Vue Wordpress Pwa
An offline-first SPA using Vue.js, the WordPress REST API and Progressive Web Apps
Stars: ✭ 665 (+5015.38%)
Mutual labels:  spa, wordpress-theme
Vue Wordpress
Use Vue.js and the WP REST API to build WordPress themes as SPAs with dynamic routing, HMR for development, SEO enabled, and SSR capable. Demo:
Stars: ✭ 361 (+2676.92%)
Mutual labels:  spa, wordpress-theme
Frontpress
⚡️ A full front-end AngularJS template for WordPress Rest API.
Stars: ✭ 109 (+738.46%)
Mutual labels:  spa, wordpress-theme
dash-spa
Dash Single Page Application (SPA) Framework
Stars: ✭ 28 (+115.38%)
Mutual labels:  spa
The-Standards
WordPress theme based on the U.S. Web Design System
Stars: ✭ 14 (+7.69%)
Mutual labels:  wordpress-theme
ritwickdey.github.io
(outdated) This is my portfolio website (SPA), developed with Angular 💘 💖 💘 💖
Stars: ✭ 83 (+538.46%)
Mutual labels:  spa
lean-theme
No description or website provided.
Stars: ✭ 38 (+192.31%)
Mutual labels:  wordpress-theme
jarvis
A speedy Gutenberg ready theme
Stars: ✭ 50 (+284.62%)
Mutual labels:  wordpress-theme
peasy-js-samples
Showcases business logic built with peasy-js and consumed by multiple clients
Stars: ✭ 19 (+46.15%)
Mutual labels:  spa
sparender
基于puppeteer的高性能SPA SEO解决方案
Stars: ✭ 54 (+315.38%)
Mutual labels:  spa
air
A hyper-minimal WordPress starter theme for developers built with Tailwind CSS.
Stars: ✭ 45 (+246.15%)
Mutual labels:  wordpress-theme
navigation-bar-with-feliz
Modern navigation bar built with Feliz
Stars: ✭ 20 (+53.85%)
Mutual labels:  spa
Hypermarket
If you are looking for a stylish and elegant website template for your online store, Hypermarket is the perfect choice for you.
Stars: ✭ 49 (+276.92%)
Mutual labels:  wordpress-theme
laravel5.4-webpack2-Vuejs2-iview2-spa-demo
一个简单的前后端分离单页blog应用,后端接口使用laravel5.4开发接口,前端使用webpack vuejs实现单页应用,后台使用iview2UI组件库
Stars: ✭ 17 (+30.77%)
Mutual labels:  spa
nut
🌰 A framework born for micro frontends
Stars: ✭ 101 (+676.92%)
Mutual labels:  spa
tesserae
Components for building h5-based single-page-applications using C#
Stars: ✭ 23 (+76.92%)
Mutual labels:  spa
mobxSpa
企业级SPA项目,完整开发脚手架
Stars: ✭ 96 (+638.46%)
Mutual labels:  spa
axios-opentracing
Axios interceptor which traces your requests 👀
Stars: ✭ 15 (+15.38%)
Mutual labels:  spa
aem-spa-component-mapping
Provides a way to map Single Page Application front-end components with Adobe Experience Manager resource types.
Stars: ✭ 20 (+53.85%)
Mutual labels:  spa

WordPress Single Page Application Theme Boilerplate

A JavaScript SPA WordPress theme boilerplate using Vue and the WordPress REST API.

JS Standard Style

Install

Install this theme just as you would install any modern theme boilerplate:

  1. Navigate to your themes folder (usually /wp-content/themes/):

     cd /wp-content/themes/
    
  2. Clone this repo:

     git clone https://github.com/alt-design/wp-spa-boilerplate NAME_OF_DIRECTORY
    
  3. Enter the new folder (NAME_OF_DIRECTORY):

     cd NAME_OF_DIRECTORY
    
  4. Install dependencies via npm or yarn:

     npm install 
    

    or

     yarn
    

Running and Building

npm run dev // starts a hot reload dev server (make sure to update your development URL in the .env file before running this)
npm run watch // watches and compiles files to the dist folder, no hot reload though
npm run build // compiles to the dist folder
npm run production // optimises and compresses before compiling to the dist folder (this will disable Vue Devtools)

VueX and Data Structure

All of your pages data is kept in a VueX store, by default the store will look like this:

{
    adminUrl:"http://theme.dev/wp/wp-admin/"
    global:false // Global ACF Fields (Options Pages)
    theme:"http://theme.dev/app/themes/vue-theme"
    name:"Test"
    post:Object
        post_name:"sample-page"
        ID:2
        acf:false // ACF Fields
        breadcrumbs:Array[2]
            0:Object
                permalink:"http://theme.dev/"
                title:"Home"
            1:Object
                permalink:"http://theme.dev/sample-page/"
                title:"Sample Page"
        featured_image:null
        post_content:"This is an example page..."
        post_date:"2017-03-24 12:26:39"
        post_excerpt:""
        post_parent:0
        post_title:"Sample Page"
        post_type:"page"
    url:"http://theme.dev"
} 

Components

Menu

The menu component is used to retrieve & display WordPress menus:

<app-menu location="main" emit-on-complete="mainMenuLoaded"></app-menu>
Props
  • location : string (required) - the menu's registered theme location
  • emitOnComplete : string (optional) - an optional Vue.$emit to be called after the menu is loaded

Breadcrumbs

The breadcrumb component is used to retrieve & display breadcrumbs for the current path:

<breadcrumbs></breadcrumbs>
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].