All Projects → suomato → Base Camp

suomato / Base Camp

Licence: mit
Awesome WordPress starter theme for developers based on modern web technologies.

Projects that are alternatives of or similar to Base Camp

Wordpress Starter
📦 A starter template for WordPress websites
Stars: ✭ 26 (-80.74%)
Mutual labels:  webpack, wordpress, timber
Bathe
The simplest WordPress starter theme including full setup for Sass, PostCSS, Autoprefixer, stylelint, Webpack, Eslint, imagemin, Browsersync, etc.
Stars: ✭ 65 (-51.85%)
Mutual labels:  webpack, wordpress
Generator Kittn
The Yeoman Kittn Generator
Stars: ✭ 63 (-53.33%)
Mutual labels:  webpack, wordpress
Wordpress
Automatically updated WordPress composer package
Stars: ✭ 94 (-30.37%)
Mutual labels:  wordpress, composer
Composify
Turn WordPress plugin zip files into git repositories, so that composer version constraints work properly.
Stars: ✭ 36 (-73.33%)
Mutual labels:  wordpress, composer
Sugar
Some bonus functionality for Timber
Stars: ✭ 44 (-67.41%)
Mutual labels:  wordpress, timber
Bottle Vue Kickstart
🍕 Very basic Bottle kickstart kit with Vue.js and Webpack. Included Axios, Autoprefixer, Babel, Webpack config, demo app with Bulma and Web font loader.
Stars: ✭ 83 (-38.52%)
Mutual labels:  webpack, bulma
Wp Vuejs
WordPress VueJS Starter Theme
Stars: ✭ 19 (-85.93%)
Mutual labels:  webpack, wordpress
Webpack Wordpress
Build Wordpress themes using Webpack and Hot Module Reloading
Stars: ✭ 100 (-25.93%)
Mutual labels:  webpack, wordpress
Wordless
All the power of Pug, Sass, Coffeescript and WebPack in your WordPress theme. Stop writing themes like it's 1998.
Stars: ✭ 1,374 (+917.78%)
Mutual labels:  webpack, wordpress
Jackpine
WordPress starter theme with Timber, Tailwind, and Alpine.js.
Stars: ✭ 101 (-25.19%)
Mutual labels:  wordpress, timber
Heroku Wp
WordPress on Heroku
Stars: ✭ 865 (+540.74%)
Mutual labels:  wordpress, composer
Wp React Boilerplate
Boilerplate for creating WordPress plugin UI's with REST API, BrowserSync, Webpack and React
Stars: ✭ 109 (-19.26%)
Mutual labels:  webpack, wordpress
Spinupwp Composer Site
A WordPress site setup using Composer that is primed and ready to be hosted using SpinupWP.
Stars: ✭ 58 (-57.04%)
Mutual labels:  wordpress, composer
Wp Multitenancy Boilerplate
WordPress multitenancy boilerplate configured and managed with Composer and PHP dotenv.
Stars: ✭ 24 (-82.22%)
Mutual labels:  wordpress, composer
Rubel
Rubel is a cms built with Laravel and React.
Stars: ✭ 70 (-48.15%)
Mutual labels:  webpack, bulma
Presspack
💻 Wordpress like it's 2020 with Webpack and Docker
Stars: ✭ 658 (+387.41%)
Mutual labels:  webpack, wordpress
Vue Wordpress Pwa
An offline-first SPA using Vue.js, the WordPress REST API and Progressive Web Apps
Stars: ✭ 665 (+392.59%)
Mutual labels:  webpack, wordpress
Beetbox
Pre-provisioned L*MP stack
Stars: ✭ 94 (-30.37%)
Mutual labels:  wordpress, composer
Wordplate
WordPlate is a wrapper around WordPress. It's like building any other WordPress website with themes and plugins. Just with sprinkles on top.
Stars: ✭ 1,594 (+1080.74%)
Mutual labels:  wordpress, composer

Dependency Status Dependency Status License

About Base Camp

Awesome WordPress starter theme with own CLI for developers based on modern web technologies.

Features

  • Bulma (Responsive CSS framework based on Flexbox)
  • Timber
    • Twig Template Engine
    • Cleaner and better code
    • Separates the logic from presentation
  • Webpack
    • Sass / Scss for stylesheets (Minimize in production)
    • ES6 for Javascript (Minimize in production)
    • Automatic Cache Busting
    • Split javascript code to two chunks, app.js and vendor.js
    • Vuejs for boosting frontend development
    • BrowserSync for synchronised browser testing
  • Luna (Command-line interface included with Base Camp)
  • WooCommerce support with basic boilerplate.

Requirements

Installation

  • Go your themes folder and runcomposer create-project suomato/base-camp
  • cd base-camp
  • yarn or npm install
  • define your custom webpack config to build/config.js file
  • yarn watch or npm run watch
  • Happy developing :)

Structure

base-camp/                                          # Theme root
├── app/                                            # Theme logic
│   ├── config/                                     # Theme config
│   │   ├── wp/                                     # WordPress specific config
│   │   │   ├── admin-page.php                      # Register here WordPress Admin Page config
│   │   │   ├── image-sizes.php                     # Register here WordPress Custom image sizes
│   │   │   ├── login-page.php                      # Register here WordPress Login Page config
│   │   │   ├── maintenance.php                     # Maintenance mode config
│   │   │   ├── menus.php                           # Register here WordPress navigation menus
│   │   │   ├── scripts-and-styles.php              # Register here WordPress scripts and styles
│   │   │   ├── security.php                        # Things that increase the site security
│   │   │   ├── sidebars.php                        # Register here WordPress sidebars
│   │   │   └── theme-supports.php                  # Register here WordPress theme features
│   │   ├── autoload.php                            # Includes all config files (DON'T REMOVE THIS)
│   │   ├── timber.php                              # Timber specific config
│   │   └── woocommerce.php                         # Init woocommerce support
│   ├── models/                                     # Wrappers for Timber Classes
│   ├── timber-extends/                             # Extended Timber Classes
│   │   └── BaseCampSite.php                        # Extended TimberSite Class
│   ├── bootstrap.php                               # Bootstrap theme
│   ├── helpers.php                                 # Common helper functions
├── build/                                          # Theme assets and views
│   ├── config.js                                   # Custom webpack config
│   ├── webpack.config.js                           # Webpack config
├── resources/                                      # Theme assets and views
│   ├── assets/                                     # Front-end assets
│   │   ├── js/                                     # Javascripts
│   │   │   └── components/                         # Vue Components
│   │   ├── sass/                                   # Styles
│   │   │   └── components/                         # Partials
│   ├── languages/                                  # Language features
│   │   ├── base-camp.pot                           # Template for translation
│   │   └── messages.php                            # Language strings
│   ├── views/                                      # Theme Twig files
│   │   ├── components/                             # Partials
│   │   ├── footer/                                 # Theme footer templates
│   │   └── header/                                 # Theme header templates

Models

Models are wrapper classes for Wordpress Post Types and Taxonomies. They provide very simple interface to interact with the database.

How to use

// index.php

<?php

use Basecamp\Models\Post;

// returns an array of TimberPost objects
Post::all();

// returns TimberPost object with the ID 1 (if it exists)
Post::find(1);

// returns first two posts;
Post::take(2)->get();

// skips first two posts;
Post::skip(2)->get();

// returns published posts;
// Supported values: https://codex.wordpress.org/Post_Status#Default_Statuses
Post::status('publish')->get();

// returns all posts except post with ID 1;
Post::exclude([1])->get();

// returns only posts with ID 1;
Post::include([1])->get();

// returns an array of posts descending order by author;
// Supported Values: https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters
Post::orderby('author', 'desc')->get();

// returns an array of posts authored by admin;
Post::author('admin')->get();

// returns an array of posts which are in category 'cars' or 'vehicles';
Post::inCategory(['cars', 'vehicles'])->get();

All queries are chainable. For example you can get three first incomplete posts authored by admin:

Post::status('draft')->author('admin')->take(3)->get();

All models are able to use almost every methods. However there are some exceptions:

  • Only Post model has inCategory() method
  • Taxonomies (Category, Tag) have hideEmpty() method

Luna (Command-line interface)

Docs

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].