Code Monkey home page Code Monkey logo

prometheus's Introduction

Project out-of-date

This starter theme will not work with Genesis versions 3+. Please check out Seothemes' genesis-starter-theme instead.

Prometheus 2 Theme

Prometheus Statue

Modular starter child theme with Sass partials for the Genesis Framework, based on the Genesis Sample Theme version 2.6.

Requires the Genesis Framework 2.6+ and PHP 5.6+

Build Status

!! Breaking change !!

Gulp has been updated to version 4. You can find the Gulp 3 version here: https://github.com/christophherr/prometheus/releases/tag/1.0.0

If you have Gulp 3 installed globally, please use the npm scripts in package.json to run the Gulp 4 tasks, e.g. npm run gulp.

Bug fixes and new features will not be backported to the Gulp 3 version.

Converkit 3 compatible Sass partials

Brian Johnson, @themustardseed, has done outstanding work converting the Sass partials to be compatible with Convertkit 3. He also improved the partials for this repo, which can be seen in PR #20. You can find Brian's Repo here: https://github.com/themustardseed/prometheus.

Thank you, Brian!

Usage Notes - Please read

  1. The child theme files are loading before the Genesis Framework. You might have to wrap changes in a callback hooked to genesis_setup.

  2. The child theme has a more modular structure. Instead of cramming everything into functions.php, the code is spread over multiple files.

  3. The child theme uses a simple autoloader (see /lib/functions/autoload.php).

  4. The autoloader is 'fed' from two config files found in config/autoload-admin-files.php and config/autoload-nonadmin-files.php.

  5. Woocommerce and additional Customizer functionality are deactivated but can easily be activated by uncommenting the files in the autoloader config.

  6. AdSense settings are deactivated in admin/remove-adsense.php and in customizer/remove-adsense.php.

  7. The Sass partials for the theme are located in scss. The Sass partials for Woocommerce are located in /lib/plugins/woocommerce/scss.

  8. Print styles are commented out in scss/styles.scss.

  9. Gulp commands are available to lint and compile Sass, minify the stylesheet, lint and minify the JavaScript files.

    Please open gulpfile.js and configure Browser-Sync (in the watch task) to load the website you are working on.

    To use Gulp, you can either just type gulp in a terminal window or take a look at the available commands in gulpfile.js.

    Please be aware that the Javascript minifier expects ES2016+ syntax.

    More functionality (e.g. image optimization) may be added in the future. If you want more advanced Gulp features, take a look at Craig Simpson's Gulp WP Toolkit or Lee Anthony's gulpfile.js.

  10. The minified stylesheet is loaded from functions/load-minified-css.php. Please uncomment the file in the (nonadmin) config to use style.min.css. Unminified JavaScript files are loaded if SCRIPT_DEBUG is set to true in wp-config.php.

  11. Stylelint and ESlint are configured to follow WordPress standards and available to check CSS and JavaScript. Four Stylelint rules were changed to allow including the HTML resets and the Genesis structure; one additional rule was changed because Stylelint can't autofix it, yet.

  12. If you are using VS Code, you can automatically format CSS and JavaScript files with Prettier (e.g. using the prettier-eslint and prettier-stylelint extensions).

  13. If Javascript ES5 style is required, please replace the files with copies from Genesis Sample.

  14. The functionality of Gary Jones' genesis-js-no-js has been added/enqueued to the theme in order to help prevent a flash of the desktop menu on mobile devices.

    It can be deactivated by commenting out the line functions/no-js.php in the nonadmin files autoloader. If you need ES5 JavaScript syntax, please deactivate the feature and use Gary's plugin.

Installation Instructions

Zip File

  1. Download the .zip-file into the wp-content/themes/ folder.
  2. Extract it.
  3. Make sure the Genesis parent theme is in the wp-content/themes/ directory.
  4. Activate the Prometheus 2 child theme from the WordPress dashboard.

Clone the Repository

  1. Open wp-content/themes/ of your project in a terminal window.
  2. Type: git clone https://github.com/christophherr/prometheus.
  3. Activate the theme from the WordPress dashboard.

Contributions

Feedback, bug reports, and pull requests are welcome. Please refer to CONTRIBUTING.md for details.

Contributors

Thank you to everyone contributing to this project.

Hall of Fame

@polishedwp, @GaryJones, @themustardseed, @mjsdiaz, @seothemes, @srikat, @craigsimps

prometheus's People

Contributors

christophherr avatar garyjones avatar seothemes avatar srikat avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

prometheus's Issues

Consider using short array syntax

GaryJones 8 hours ago Contributor
With PHP 5.6 specified in composer.json as the minimum, the short array syntax could be used throughout.

Page Template Example?

All,
I'm looking for an example of a customized page template. Could you provide me an example or some additional instruction to setup a just page template with Prometheus 2? I've copied the page_landing template and have tried to add the genesis_after_header hook but can't get it to echo correctly. Code is below.

<?php
/**
 * Prometheus 2.
 *
 * This file adds the landing page template to the Prometheus 2 Theme.
 *
 * Template Name: Full Post Image
 *
 * @package ChristophHerr\Prometheus2
 * @since   1.0.0
 * @author  Christoph Herr
 * @license GPL-2.0+
 * @link    https://www.christophherr.com/
 */

namespace ChristophHerr\Prometheus2;

// Adds landing page body class.
add_filter( 'body_class', function( $classes ) {
	$classes[] = 'full-post-img-page';
	return $classes;
});

// Removes Skip Links.
//remove_action( 'genesis_before_header', 'genesis_skip_links', 5 );

add_action( 'genesis_setup', function() {

	add_action( 'genesis_after_header', 'stride_after_header');
	function stride_after_header() {
		echo '<p><strong>A piece of extra content after the header and nav</strong></p>';
	}

});



// Dequeues Skip Links Script.
add_action( 'wp_enqueue_scripts', function() {
	wp_dequeue_script( 'skip-links' );
});

// Forces full width content layout.
add_filter( 'genesis_site_layout', '__genesis_return_full_width_content' );

//echo 'hello';


// Removes site header elements.
//remove_action( 'genesis_header', 'genesis_header_markup_open', 5 );
//remove_action( 'genesis_header', 'genesis_do_header' );
//remove_action( 'genesis_header', 'genesis_header_markup_close', 15 );



// Removes navigation.
//remove_theme_support( 'genesis-menus' );

// Removes breadcrumbs.
//remove_action( 'genesis_before_loop', 'genesis_do_breadcrumbs' );

// Removes footer widgets.
//remove_action( 'genesis_before_footer', 'genesis_footer_widget_areas' );

// Removes site footer elements.
//remove_action( 'genesis_footer', 'genesis_footer_markup_open', 5 );
//remove_action( 'genesis_footer', 'genesis_do_footer' );
//remove_action( 'genesis_footer', 'genesis_footer_markup_close', 15 );

// Runs the Genesis loop.
genesis();

question: updating to latest

Experienced programmer but brand new to wordpress. This project (plus the mustardseed sass partials) makes sense to me. Sass is the way I handle css in other projects. Yet wordpress/genesis has this entirely different user-centric never-see-the-code approach. In my case I have just one site, I'm not creating and developing and bunch of themes. I'm struggling to decide which approach to adopt. Certainly I would/could make the wordpress portion of my site more visually compatible with my main site if I can share some sass.

But this repo and mustardseed are a few versions behind the parent theme (now at 2.9.1)

What's the procedure for updating (or is there one)? We have to take the current parent + sample theme, find the changes, and port them into partials ? So that work is ongoing: keeping up with genesis? Sorry to ask such a newb question. Appreciate any guidance very much. Thank you.

Consider moving simple-social-icon default args into a config file.

GaryJones 8 hours ago Contributor
Move this array to a config/plugins/simple-social-icon.php file?

Haven't made up my mind about it.
From a separation standpoint, yes.
From an "is it really necessary standpoint..." undecided...
From a usability standpoint, maybe no...

Fails to load first time

The theme fails with errors.

The problem is that in setup.php on lines 22, 40, & 48, the path uses '' instead of '/'. When I changed the source it loaded fine.

The problem exists in load-assets.php line 55 as well.

Looking forward to working with the theme.

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.