Giter VIP home page Giter VIP logo

wpemerge-theme's Introduction

WP Emerge Theme

Packagist Gitter

A modern WordPress starter theme which uses the WP Emerge framework.

This is the WP Emerge Theme project - for the WP Emerge framework please check out https://github.com/htmlburger/wpemerge.

Summary

Documentation

https://wpemerge.com/

Development Team

Brought to you by Atanas Angelov and the lovely folks at htmlBurger.

Comparison Table

WP Emerge Theme Sage Timber
View Engine PHP, Blade, Twig PHP, Blade Twig
Routing โœ” โœ– โœ–
MVC โœ–โœ”โœ” โœ–โœ”โœ–ยน โœ–โœ”โœ–
Middleware โœ” โœ– โœ–
View Composers โœ” โœ”/โœ–ยฒ โœ–
Service Container โœ” โœ– โœ–
Stylesheets SASS + PostCSS SASS + PostCSS N/Aยณ
JavaScript ES6 ES6 N/Aยณ

ยน Sage's Controller is more a View Model than a Controller.

ยฒ Sage's Controller provides similar functionality but is limited to 1 composer (controller) per view and vice versa.

ยณ Timber does not provide a front-end build process so you can implement whatever you prefer.

Email any factual inaccuracies to [email protected] so they can be corrected.

Features

  • All features from WP Emerge:
    • Routes with optional rewrite rule integration
    • Controllers
    • Middleware
    • PSR-7 Responses
    • View Composers
    • Service Container
    • Service Providers
    • Support for Php, Blade 5.4 and/or Twig 2 for views
  • SASS + PostCSS for stylesheets. Separate bundles are created for front-end, administration and login pages.
  • ES6 for JavaScript. Separate bundles are created for front-end, administration and login pages.
  • Webpack to transpile and bundle assets, create sprites, optimize images etc.
  • Browsersync for synchronized browser development.
  • Optional CSS packages:
    • Boostrap 4
    • Bulma
    • Foundation
    • Tachyons
    • FontAwesome
  • PHP unit testing scaffolding

Requirements

Directory structure

wp-content/themes/your-theme
โ”œโ”€โ”€ app/
โ”‚   โ”œโ”€โ”€ helpers/              # Helper files, add your own here as well
โ”‚   โ”œโ”€โ”€ setup/                # Register WordPress menus, post types etc.
โ”‚   โ”‚   โ”œโ”€โ”€ menus.php
โ”‚   โ”‚   โ”œโ”€โ”€ post-types.php
โ”‚   โ”‚   โ”œโ”€โ”€ sidebars.php
โ”‚   โ”‚   โ”œโ”€โ”€ taxonomies.php
โ”‚   โ”‚   โ”œโ”€โ”€ theme-support.php
โ”‚   โ”‚   โ””โ”€โ”€ widgets.php
โ”‚   โ”œโ”€โ”€ src/                  # PSR-4 autoloaded classes
โ”‚   โ”‚   โ”œโ”€โ”€ Controllers/      # Controller classes for WP Emerge routes
โ”‚   โ”‚   โ”œโ”€โ”€ Widgets/          # Widget classes
โ”‚   โ”‚   โ””โ”€โ”€ ...
โ”‚   โ”œโ”€โ”€ config.php            # WP Emerge configuration
โ”‚   โ”œโ”€โ”€ helpers.php           # Require your helper files here
โ”‚   โ”œโ”€โ”€ hooks.php             # Register your actions and filters here
โ”‚   โ””โ”€โ”€ framework.php         # Register your WP Emerge routes, globals etc.
โ”œโ”€โ”€ dist/                     # Bundles, optimized images etc.
โ”œโ”€โ”€ languages/                # Language files
โ”œโ”€โ”€ resources/
โ”‚   โ”œโ”€โ”€ build/                # Build process configuration
โ”‚   โ”œโ”€โ”€ styles/
โ”‚   โ”‚   โ”œโ”€โ”€ admin/            # Administration styles
โ”‚   โ”‚   โ”œโ”€โ”€ login/            # Login styles
โ”‚   โ”‚   โ””โ”€โ”€ index.scss        # Front-end entry point SCSS file
โ”‚   โ”œโ”€โ”€ fonts/
โ”‚   โ”œโ”€โ”€ images/
โ”‚   โ””โ”€โ”€ scripts/
โ”‚   โ”‚   โ”œโ”€โ”€ admin/            # Administration scipts
โ”‚   โ”‚   โ”œโ”€โ”€ login/            # Login scripts
โ”‚       โ””โ”€โ”€ index.js          # Front-end entry point JavaScript file
โ”œโ”€โ”€ theme/                    # Required theme files and views
โ”‚   โ”œโ”€โ”€ partials/             # View partials
โ”‚   โ”œโ”€โ”€ templates/            # Page templates
โ”‚   โ”œโ”€โ”€ functions.php         # Bootstrap theme
โ”‚   โ”œโ”€โ”€ screenshot.png        # Theme screenshot
โ”‚   โ”œโ”€โ”€ style.css             # Theme stylesheet (avoid adding css here)
โ”‚   โ””โ”€โ”€ [index.php ...]
โ”œโ”€โ”€ vendor/                   # Composer packages
โ”œโ”€โ”€ README.md                 # Your theme README
โ””โ”€โ”€ ...

Notable directories

app/helpers/

Add PHP helper files here. Helper files should include function definitions only. See below for information on where to put actions, filters, classes etc.

app/setup/

Modify files here according to your needs. These files should contain registrations and declarations of WordPress entities only such as post types, taxonomies etc.

app/src/

Add PHP class files here. All clases in the App\ namespace are autoloaded according to the PSR-4 standard.

resources/styles/

Add .css and .scss files here. Don't forget to @import them in index.scss. Note that you are not requird to use SASS at all if you do not wish to do so, the only requirement is that index.scss file remains with an .scss extension.

resources/styles/admin and resources/styles/login

These directories are for the admin and login bundles, respectively. They work identically to the main resources/css directory.

resources/images/

Add images for styling here. Optimized copies will be placed in dist/images/ when running the build process.

resources/scripts/

Add JavaScript files here. The entry point is resources/scripts/index.js.

resources/scripts/admin and resources/scripts/login

These directories are for the admin and login bundles, respectively. They work identically to the main resources/scripts directory.

theme/

Add views in this, the theme/partials/ or the theme/templates/ directories accordingly. Avoid adding any PHP logic here, unless it pertains to layouting (PHP logic should go into helper files or WP Emerge controllers)

Contributing

WP Emerge Theme is completely open source and we encourage everybody to participate by:

wpemerge-theme's People

Contributors

atanas-dev avatar knowler avatar

Watchers

James Cloos avatar Nusser Studios avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.