2016-07-04 12:08:23 +00:00
Start talking: [![Gitter ](https://img.shields.io/gitter/room/holger1411/understrap.svg?maxAge=2592000?style=flat-square )](https://gitter.im/holger1411/understrap)
2015-09-17 11:18:17 +00:00
2016-05-23 06:31:18 +00:00
## About
I’ m a huge fan of Underscores, Bootstrap, and Sass. Why not combine these into a solid WordPress Theme Framework?
2016-10-26 16:08:45 +00:00
That’ s what UnderStrap is.
2016-05-23 06:31:18 +00:00
You can use it as starter theme and build your own theme on top of it. Or you use it as parent theme and create your own child theme for UnderStrap.
2016-10-11 14:35:21 +00:00
At the moment, UnderStrap is in a very early stage. But if you want, feel free to use it for your own WordPress theme!
2016-05-23 06:31:18 +00:00
2016-05-02 15:41:24 +00:00
# UnderStrap WordPress Theme Framework
2016-04-28 13:19:38 +00:00
Website: [http://understrap.com ](http://understrap.com )
Child Theme Project: [https://github.com/holger1411/understrap-child ](https://github.com/holger1411/understrap-child )
2016-06-04 10:54:58 +00:00
## License
UnderStrap is released under the terms of the GPL version 2 or (at your option) any later version.
http://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html
2016-05-02 15:41:24 +00:00
## Changelog
2016-10-20 13:49:33 +00:00
- ** Pre-Release 0.4.9 **
- Updating to Bootstrap 4 Alpha 5
- Using the correct BS4 markup for navbar - Thx @tedgeving
- Inject theme name and version into the footer dynamically - Thx @maxdmyers
- Adding a blank template for building up a landingpage via WP editor or als blank canvas for Visual Compoeser etc. - Thx @omarusman
- Fixing problem with empty folders after "gulp dist" - Thx @alwizo
2016-10-10 09:35:07 +00:00
- ** 0.4.8 Oct. 10th 2016 **
2016-09-13 14:21:51 +00:00
- Removing Bower and replace the dependency managment with npm
2016-09-13 13:58:35 +00:00
- Update to Bootstrap 4 Alpha 4
2016-10-10 09:35:07 +00:00
- Optimizing WooCommerce loop - Thx @typeplus
- Updating all dependencies
- Add WP Theme logo feature - Thx @jessijean
2016-09-13 13:58:35 +00:00
2016-10-10 09:35:07 +00:00
- ** 0.4.7 Aug. 15th 2016 **
2016-08-15 13:08:16 +00:00
- Fixing problem with tag page
2016-08-08 06:32:37 +00:00
- Fixing Navbar "hopping"
2016-08-15 13:08:16 +00:00
- Global bugfixing and streamlining performance issues
2016-08-08 06:32:37 +00:00
2016-10-10 09:35:07 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.4.6 Aug. 1st 2016 **
2016-08-01 06:37:05 +00:00
- Update to Bootstrap 4 Alpha 3
2016-07-07 18:12:43 +00:00
- Adding basic padding to aligned content images
2016-07-04 07:35:48 +00:00
- Adding author.php template with author infos
- Correct language file + german translation
2016-05-02 15:41:24 +00:00
2016-10-10 09:35:07 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.4.5 Jun. 20th 2016 **
2016-06-21 17:00:08 +00:00
- Adding right sanitizing function for customizer
- Fixing some escaping problems
2016-10-26 16:08:45 +00:00
- Removing "add script" customizer function
2016-06-21 17:00:08 +00:00
- Calling all sidebars with "get_sidebar"
- Load hero area on index.php conditionally
- Remove unused code, files and dependencies
- Adding credits for WP Bootstrap Navwalker by Edward McIntyre
2016-10-10 09:35:07 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.4.4 Jun. 18th 2016 **
2016-06-18 11:58:00 +00:00
- Adding the new empty.php page template. Comes just with header, footer and a content area without markup. Good for build up landingpages. An empty canvas for your Bootstrap markup.
- Update bower.json dependencies to latest versions
- Update package.json dependencies to latest versions
2016-06-18 11:56:58 +00:00
- Adding Theter script as dependency for BS4 tooltip component
- Resorting gulpfile.js
2016-06-18 11:58:00 +00:00
- Removing BS3 completely as dependency
- Smaller bugfixes and code improvements
2016-06-18 11:56:58 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.4.0 Apr. 29th 2016 **
2016-04-29 13:31:03 +00:00
- Switching from Bootstrap 3 to Bootstrap 4
2016-04-28 13:19:38 +00:00
- Adding BrowserSync to gulpfile (again thx to @dvlopes )
- Preparing the navbar markup so that the current version will work with Bootstrap 3 AND 4
- Adding "gulp scripts" command - This uglifies and minifies all JS files (except jQuery...) into one single JS file called theme.min.js
- Updating Gulpfile - now "gulp copy-assets" command copies all files from dependency folders into mid-layer folder called "/src"
- Load jQuery again as extra script instead of concat it into on single file. After some problems with WooCommerce and other plugins
- Checking WordPress 4.5 compatibility
- Updating language template
- Adding Brazilian Portuguese (pt-BR) translation (thx to @dvlopes ).
2016-06-18 11:58:00 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.3.8 Mar. 9th 2016 **
2016-04-28 13:19:38 +00:00
- Adding footer widget area
- Adjust Bootstrap markup for searchform and search widget
2016-08-01 06:48:04 +00:00
- ** 0.3.7 Jan. 8th 2016**
2016-04-28 13:19:38 +00:00
- Cleanup for submitting to WordPress.org theme repository:
- Fixing sticky post problem
- Fixing skip-to-content link
- re-activating the admin bar
- adding readme.txt
- Fixing missing translation strings in comments template
2016-08-01 06:48:04 +00:00
- ** 0.3.6 Jan. 4th 2016**
2016-04-28 13:19:38 +00:00
- Cleanup
- Updating dependencies
- Upgrade to Bootstrap 3.3.6 and Font Awesome 4.5.0
2016-05-02 15:41:24 +00:00
2016-04-28 13:19:38 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.3.4 SEP. 9th 2015**
2016-04-28 13:19:38 +00:00
- Adding basic WooCommerce support
- Cleanup for submitting to wordpress.org
- Removing _s SASS ... no need for basic styling. Thats Bootstrap´ s job.
2016-08-01 06:48:04 +00:00
- ** 0.3.1 AUG. 12th 2015**
2016-04-28 13:19:38 +00:00
- Adding bower dependency manager and replacing GRUNT taskrunner with GULP
2016-08-01 06:48:04 +00:00
- ** 0.3.0 Mar. 23th 2015**
2016-04-28 13:19:38 +00:00
- Streamlining some code, adding extra "sticky" area (sticky posts above the main content area inside an extra loop). Fixing some child theme issues (now its really child theme ready...really...trust me...)
2016-08-01 06:48:04 +00:00
- ** 0.2.9 Mar. 10th 2015**
2016-04-28 13:19:38 +00:00
- Adding a new theme customizer option. It lets you add a code snippet right before the closing </ body > tag.
For example for Google Analytics, Google Tag Mananger, Pingdom etc. Just copy and past your code to the input field and save the setting.
So you don´ t have to edit the theme source file´ s directly and your theme stay´ s updateable
2016-08-01 06:48:04 +00:00
- ** 0.2.8 Feb. 6th 2015**
2016-04-28 13:19:38 +00:00
- Adding Grunt and Grunt SASS task
2016-08-01 06:48:04 +00:00
- ** 0.2.7 Jan. 26th 2015**
2016-04-28 13:19:38 +00:00
- Adding some basic theme option for the build-in slider script
2016-08-01 06:48:04 +00:00
- ** 0.2.6 Dec. 28th 2014**
2016-04-28 13:19:38 +00:00
- CLean up
2016-05-02 15:41:24 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.2 Dec. 22th 2014**
2016-04-28 13:19:38 +00:00
- Adding Jasny Off-Canvas nav and Owl.Carousel Slider script
- Enqueue scipts and styled dynamically
2016-05-02 15:41:24 +00:00
2016-08-01 06:48:04 +00:00
- ** 0.1 Dec. 10th 2014 - First commit**
2016-04-28 13:19:38 +00:00
2016-05-02 15:41:24 +00:00
## Basic Features
- Combines Underscore’ s PHP/JS files and Bootstrap’ s HTML/CSS/JS.
2016-06-24 05:53:19 +00:00
- Comes with Bootstrap (v4) Sass source files and additional .scss files. Nicely sorted and ready to add your own variables and customize the Bootstrap variables.
2016-05-02 15:41:24 +00:00
- Uses a single and minified CSS file for all the basic stuff.
2016-09-13 13:58:35 +00:00
- [Font Awesome ](http://fortawesome.github.io/Font-Awesome/ ) integration (v4.6.3)
- Comes with extra slider script by [Owl Carousel ](http://www.owlcarousel.owlgraphic.com/ ) (v2.1.4)
2016-05-02 15:41:24 +00:00
- Simple RTL file.
- Jetpack ready.
- WooCommerce support.
- [Child Theme ](https://github.com/holger1411/understrap-child ) ready.
- Translation ready.
2016-10-26 16:08:45 +00:00
- Multiple Page Templates
2016-05-02 15:41:24 +00:00
## Starter Theme + HTML Framework = WordPress Theme Framework
The _s theme is a good starting point to develop a WordPress theme. But it is “just” a raw starter theme. That means it outputs all the WordPress stuff correctly but without any layout or design.
Why not add a well known and supported layout framework to have a solid, clean and responsive foundation? That’ s where Bootstrap comes in.
## Confused by All the CSS and Sass Files?
Some basics about the Sass and CSS files that come with UnderStrap:
- The theme itself uses the `/style.css` file just to identify the theme inside of WordPress. The file is not loaded by the theme and does not include any styles.
2016-09-13 14:21:51 +00:00
- The `/css/theme.css` and it´ s minified little brother `/css/theme.min.css` file(s) provides all styles. It is composed of five different SCSS sets and one variable file at `/sass/theme.scss` :
2016-04-28 13:19:38 +00:00
- 1 "theme/theme_variables"; // < --------- Add your variables into this file . Also add variables to overwrite Bootstrap or UnderStrap variables here
- 2 "../src/bootstrap-sass/assets/stylesheets/bootstrap"; // < --------- All the Bootstrap stuff - Don ´ t edit this !
- 3 "understrap/understrap"; // < --------- Some basic WordPress stylings and needed styles to combine Boostrap and Underscores
- 4 "../src/fontawesome/scss/font-awesome"; // < --------- Font Awesome Icon styles
// Any additional imported files //
- 5 "theme/theme"; // < --------- Add your styles into this file
2016-05-02 15:41:24 +00:00
- Don’ t edit the files no. 2-4 files/filesets or you won’ t be able to update it without overwriting your own work!
- Your design goes into: `/sass/theme` . Add your styles to the `/sass/theme/_theme.scss` file and your variables to the `/sass/theme/_theme_variables.scss` . Or add other .scss files into it and `@import` it into `/sass/theme/_theme.scss` .
## Installation
2016-04-28 13:19:38 +00:00
2016-05-17 16:21:41 +00:00
- Download the understrap folder from GitHub or from understrap.com
- IMPORTANT: If you download it from GitHub make sure you rename the "understrap-master.zip" file just to "understrap.zip" or you might have problems using child themes !!
2016-05-02 15:41:24 +00:00
- Upload it into your WordPress installation subfolder here: `/wp-content/themes/`
- Login to your WordPress backend
- Go to Appearance → Themes
2016-04-28 13:19:38 +00:00
- Activate the UnderStrap theme
2016-09-13 13:58:35 +00:00
## Developing With npm, Gulp and SASS and [Browser Sync][1]
2016-05-02 15:41:24 +00:00
### Installing Dependencies
2016-09-13 13:58:35 +00:00
- Make sure you have installed Node.js and Browser-Sync* (* optional, if you wanna use it) on your computer globally
2016-04-28 13:19:38 +00:00
- Then open your terminal and browse to the location of your UnderStrap copy
2016-09-13 13:58:35 +00:00
- Run: `$ npm install` and then: `$ gulp copy-assets`
2016-04-28 13:19:38 +00:00
### Running
2016-05-02 15:41:24 +00:00
To work and compile your Sass files on the fly start:
2016-04-28 13:19:38 +00:00
- `$ gulp watch`
Or, to run with Browser-Sync:
2016-05-02 15:41:24 +00:00
- First change the browser-sync options to reflect your environment in the file `/gulpfile.js` in the beginning of the file:
2016-04-28 13:19:38 +00:00
```javascript
var browserSyncOptions = {
proxy: "localhost/theme_test/", // < ----- CHANGE HERE
notify: false
};
```
- then run: `$ gulp watch-bs`
2016-05-02 15:41:24 +00:00
## How to Use the Build-In Widget Slider
The front-page slider is widget driven. Simply add more than one widget to widget position “Hero”.
- Click on Appearance → Widgets.
- Add two, or more, widgets of any kind to widget area “Hero”.
2016-05-02 15:44:09 +00:00
- That’ s it.
2016-04-28 13:19:38 +00:00
2016-10-26 16:08:45 +00:00
## Page Templates
### Blank Template
The `blank.php` template is useful when working with various page builders and can be used as a starting blank canvas.
### Empty Template
The `empty.php` template displays a header and a footer only. A good starting point for landing pages.
### Full Width Template
The `fullwidthpage.php` template has full width layout without a sidebar.
### Vertical One Page Template
The `vertical-one-page.php` template displays all pages (except the one showing the posts) in a single vertical layout with a sliding navigation.
Additionally enables the user to control the order of each page by using the order page attribute field.
#### One Page Template How to
1. Assuming that you have the following pages: Home, About and Contact
2. Go to Appearance → Menus and add one **custom link** for each page
3. On the URL field type a hash `#` and the name of the page in **lower case** so for example the link for Home becomes `#home`
4. Edit the Home page and set as template the **Vertical One Page** (you only need to do this for the first page)
5. Set the order of each page using the **Order** field from **Page Attributes** so for example if you want to display Home,
Contact, About set the Home page to 1, the Contact to 2 and About to 3
2016-04-29 13:31:03 +00:00
[1] Visit [http://browsersync.io ](http://browsersync.io ) for more information on Browser Sync
2016-06-21 17:00:08 +00:00
Licenses & Credits
=
- Font Awesome: http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
- Bootstrap: http://getbootstrap.com | https://github.com/twbs/bootstrap/blob/master/LICENSE (Code licensed under MIT documentation under CC BY 3.0.)
- Owl Carousel 2: http://www.owlcarousel.owlgraphic.com/ | https://github.com/smashingboxes/OwlCarousel2/blob/develop/LICENSE (Code licensed under MIT)
and of course
- jQuery: https://jquery.org | (Code licensed under MIT)
- WP Bootstrap Navwalker by Edward McIntyre: https://github.com/twittem/wp-bootstrap-navwalker | GNU GPL