-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Francisco Mat
committed
May 9, 2018
0 parents
commit 0ddeaf8
Showing
38 changed files
with
862 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?php | ||
/** | ||
* The template for displaying 404 pages (Not Found) | ||
* | ||
* Methods for TimberHelper can be found in the /functions sub-directory | ||
* | ||
* @package WordPress | ||
* @subpackage Timber | ||
* @since Timber 0.1 | ||
*/ | ||
|
||
$context = Timber::get_context(); | ||
Timber::render( '404.twig', $context ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Copyright (c) 2012-2013 Jared Novack | ||
|
||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: | ||
|
||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. | ||
|
||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
|
||
# The Timber Starter Theme | ||
|
||
The "_s" for Timber: a dead-simple theme that you can build from. The primary purpose of this theme is to provide a file structure rather than a framework for markup or styles. Configure your Sass, scripts, and task runners however you would like! | ||
|
||
[![Build Status](https://travis-ci.org/timber/starter-theme.svg)](https://travis-ci.org/timber/starter-theme) | ||
|
||
## Installing the Theme | ||
|
||
Install this theme as you would any other, and be sure the Timber plugin is activated. But hey, let's break it down into some bullets: | ||
|
||
1. Make sure you have installed the plugin for the [Timber Library](https://wordpress.org/plugins/timber-library/) (and Advanced Custom Fields - they [play quite nicely](https://timber.github.io/docs/guides/acf-cookbook/#nav) together). | ||
2. Download the zip for this theme (or clone it) and move it to `wp-content/themes` in your WordPress installation. | ||
3. Rename the folder to something that makes sense for your website (generally no spaces and all lowercase). You could keep the name `timber-starter-theme` but the point of a starter theme is to make it your own! | ||
4. Activate the theme in Appearance > Themes. | ||
5. Do your thing! And read [the docs](https://github.com/jarednova/timber/wiki). | ||
|
||
## What's here? | ||
|
||
`static/` is where you can keep your static front-end scripts, styles, or images. In other words, your Sass files, JS files, fonts, and SVGs would live here. | ||
|
||
`templates/` contains all of your Twig templates. These pretty much correspond 1 to 1 with the PHP files that respond to the WordPress template hierarchy. At the end of each PHP template, you'll notice a `Timber::render()` function whose first parameter is the Twig file where that data (or `$context`) will be used. Just an FYI. | ||
|
||
`bin/` and `tests/` ... basically don't worry about (or remove) these unless you know what they are and want to. | ||
|
||
## Other Resources | ||
|
||
The [main Timber Wiki](https://github.com/jarednova/timber/wiki) is super great, so reference those often. Also, check out these articles and projects for more info: | ||
|
||
* [This branch](https://github.com/laras126/timber-starter-theme/tree/tackle-box) of the starter theme has some more example code with ACF and a slightly different set up. | ||
* [Twig for Timber Cheatsheet](http://notlaura.com/the-twig-for-timber-cheatsheet/) | ||
* [Timber and Twig Reignited My Love for WordPress](https://css-tricks.com/timber-and-twig-reignited-my-love-for-wordpress/) on CSS-Tricks | ||
* [A real live Timber theme](https://github.com/laras126/yuling-theme). | ||
* [Timber Video Tutorials](http://timber.github.io/timber/#video-tutorials) and [an incomplete set of screencasts](https://www.youtube.com/playlist?list=PLuIlodXmVQ6pkqWyR6mtQ5gQZ6BrnuFx-) for building a Timber theme from scratch. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
<?php | ||
/** | ||
* The template for displaying Archive pages. | ||
* | ||
* Used to display archive-type pages if nothing more specific matches a query. | ||
* For example, puts together date-based pages if no date.php file exists. | ||
* | ||
* Learn more: http://codex.wordpress.org/Template_Hierarchy | ||
* | ||
* Methods for TimberHelper can be found in the /lib sub-directory | ||
* | ||
* @package WordPress | ||
* @subpackage Timber | ||
* @since Timber 0.2 | ||
*/ | ||
|
||
$templates = array( 'archive.twig', 'index.twig' ); | ||
|
||
$context = Timber::get_context(); | ||
|
||
$context['title'] = 'Archive'; | ||
if ( is_day() ) { | ||
$context['title'] = 'Archive: '.get_the_date( 'D M Y' ); | ||
} else if ( is_month() ) { | ||
$context['title'] = 'Archive: '.get_the_date( 'M Y' ); | ||
} else if ( is_year() ) { | ||
$context['title'] = 'Archive: '.get_the_date( 'Y' ); | ||
} else if ( is_tag() ) { | ||
$context['title'] = single_tag_title( '', false ); | ||
} else if ( is_category() ) { | ||
$context['title'] = single_cat_title( '', false ); | ||
array_unshift( $templates, 'archive-' . get_query_var( 'cat' ) . '.twig' ); | ||
} else if ( is_post_type_archive() ) { | ||
$context['title'] = post_type_archive_title( '', false ); | ||
array_unshift( $templates, 'archive-' . get_post_type() . '.twig' ); | ||
} | ||
|
||
$context['posts'] = new Timber\PostQuery(); | ||
|
||
Timber::render( $templates, $context ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
<?php | ||
/** | ||
* The template for displaying Author Archive pages | ||
* | ||
* Methods for TimberHelper can be found in the /lib sub-directory | ||
* | ||
* @package WordPress | ||
* @subpackage Timber | ||
* @since Timber 0.1 | ||
*/ | ||
|
||
global $wp_query; | ||
|
||
$context = Timber::get_context(); | ||
$context['posts'] = new Timber\PostQuery(); | ||
if ( isset( $wp_query->query_vars['author'] ) ) { | ||
$author = new Timber\User( $wp_query->query_vars['author'] ); | ||
$context['author'] = $author; | ||
$context['title'] = 'Author Archives: ' . $author->name(); | ||
} | ||
Timber::render( array( 'author.twig', 'archive.twig' ), $context ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
{ | ||
"name": "upstatement/timber-starter-theme", | ||
"description": "Starter theme to build a Timber theme", | ||
"type":"wordpress-theme", | ||
"minimum-stability" : "stable", | ||
"authors": [ | ||
{ | ||
"name": "jarednova", | ||
"email": "jared@upstatement.com" | ||
} | ||
], | ||
"repositories": [ | ||
{ | ||
"type": "composer", | ||
"url": "https://wpackagist.org" | ||
} | ||
], | ||
"extra": { | ||
"installer-paths": { | ||
"../../plugins/{$name}/": [ | ||
"wpackagist-plugin/*", | ||
"type:wordpress-plugin" | ||
] | ||
} | ||
}, | ||
"require": { | ||
"wpackagist-plugin/timber-library": "0.22.*" | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?php | ||
/** | ||
* Third party plugins that hijack the theme will call wp_footer() to get the footer template. | ||
* We use this to end our output buffer (started in header.php) and render into the view/page-plugin.twig template. | ||
* | ||
* If you're not using a plugin that requries this behavior (ones that do include Events Calendar Pro and | ||
* WooCommerce) you can delete this file and header.php | ||
*/ | ||
|
||
$timberContext = $GLOBALS['timberContext']; | ||
if ( ! isset( $timberContext ) ) { | ||
throw new \Exception( 'Timber context not set in footer.' ); | ||
} | ||
$timberContext['content'] = ob_get_contents(); | ||
ob_end_clean(); | ||
$templates = array( 'page-plugin.twig' ); | ||
Timber::render( $templates, $timberContext ); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
<?php | ||
|
||
if ( ! class_exists( 'Timber' ) ) { | ||
add_action( 'admin_notices', function() { | ||
echo '<div class="error"><p>Timber not activated. Make sure you activate the plugin in <a href="' . esc_url( admin_url( 'plugins.php#timber' ) ) . '">' . esc_url( admin_url( 'plugins.php') ) . '</a></p></div>'; | ||
}); | ||
|
||
add_filter('template_include', function($template) { | ||
return get_stylesheet_directory() . '/static/no-timber.html'; | ||
}); | ||
|
||
return; | ||
} | ||
|
||
Timber::$dirname = array('templates', 'views'); | ||
|
||
class StarterSite extends TimberSite { | ||
|
||
function __construct() { | ||
add_theme_support( 'post-formats' ); | ||
add_theme_support( 'post-thumbnails' ); | ||
add_theme_support( 'menus' ); | ||
add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form', 'gallery', 'caption' ) ); | ||
add_filter( 'timber_context', array( $this, 'add_to_context' ) ); | ||
add_filter( 'get_twig', array( $this, 'add_to_twig' ) ); | ||
add_action( 'init', array( $this, 'register_post_types' ) ); | ||
add_action( 'init', array( $this, 'register_taxonomies' ) ); | ||
parent::__construct(); | ||
} | ||
|
||
function register_post_types() { | ||
//this is where you can register custom post types | ||
} | ||
|
||
function register_taxonomies() { | ||
//this is where you can register custom taxonomies | ||
} | ||
|
||
function add_to_context( $context ) { | ||
$context['foo'] = 'bar'; | ||
$context['stuff'] = 'I am a value set in your functions.php file'; | ||
$context['notes'] = 'These values are available everytime you call Timber::get_context();'; | ||
$context['menu'] = new TimberMenu(); | ||
$context['site'] = $this; | ||
return $context; | ||
} | ||
|
||
function myfoo( $text ) { | ||
$text .= ' bar!'; | ||
return $text; | ||
} | ||
|
||
function add_to_twig( $twig ) { | ||
/* this is where you can add your own functions to twig */ | ||
$twig->addExtension( new Twig_Extension_StringLoader() ); | ||
$twig->addFilter('myfoo', new Twig_SimpleFilter('myfoo', array($this, 'myfoo'))); | ||
return $twig; | ||
} | ||
|
||
} | ||
|
||
new StarterSite(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
<?php | ||
/** | ||
* Third party plugins that hijack the theme will call wp_head() to get the header template. | ||
* We use this to start our output buffer and render into the view/page-plugin.twig template in footer.php | ||
* | ||
* If you're not using a plugin that requries this behavior (ones that do include Events Calendar Pro and | ||
* WooCommerce) you can delete this file and footer.php | ||
*/ | ||
|
||
$GLOBALS['timberContext'] = Timber::get_context(); | ||
ob_start(); |
Oops, something went wrong.