Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/simonpadbury/b4st
A Bootstrap 4 Starter Theme, for WordPress
https://github.com/simonpadbury/b4st
bootstrap4 fontawesome5 gulp gulp-sass gutenberg starter-theme wordpress
Last synced: 2 days ago
JSON representation
A Bootstrap 4 Starter Theme, for WordPress
- Host: GitHub
- URL: https://github.com/simonpadbury/b4st
- Owner: SimonPadbury
- License: unlicense
- Created: 2015-11-06T08:03:10.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2023-02-18T10:12:01.000Z (almost 2 years ago)
- Last Synced: 2025-01-20T00:08:20.724Z (2 days ago)
- Topics: bootstrap4, fontawesome5, gulp, gulp-sass, gutenberg, starter-theme, wordpress
- Language: PHP
- Homepage:
- Size: 9.07 MB
- Stars: 311
- Watchers: 49
- Forks: 104
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# b4st – A Bootstrap 4 Starter Theme, for WordPress
*Version 3.1*
[https://github.com/SimonPadbury/b4st](https://github.com/SimonPadbury/b4st)
------------------
Interested in **Bootstrap 5**? Then go for https://github.com/SimonPadbury/b5st
------------------
> b4st is a simple, Gutenberg-compatible WordPress starter theme loaded with Bootstrap 4 and Font Awesome 5 — using Gulp for preprocessing its SCSS into CSS.
## Basic features
* [UNLICENCE](http://unlicense.org) (open source).
* Simple, intuitive, clean code. Theme CSS and JS, functions and loops are organized into different folders.
* A starter CSS theme – `/theme/css/b4st.css`, enqueued. (Note: do not put your styles in `styles.css`, because that is not enqueued.)
* `b4st.css` is generated from SCSS using Gulp and NodeJS packages. The SCSS files are also included.
* Sass (actually, SCSS) preprocessed to `b4st.css` by Gulp (or you can do your own thing).
* A starter JS script – `theme/css/b4st.js`, enqueued.
* Dimox breadcrumbs ([http://dimox.net/wordpress-breadcrumbs-without-a-plugin/](http://dimox.net/wordpress-breadcrumbs-without-a-plugin/)).
* A [CSS lock](https://fvsch.com/css-locks/) gradually enlarges the typographic font sizes from base 16px to 20px for larger viewports. This affects headers, paragraphs, lists, tables, etc. but not buttons and forms.
## Dependencies
* WordPress.
* Served from CDN’s:
* Modernizr 2.8.3
* jQuery 3.5.1 (full, not slim version)
* Popper 1.16.1 (needed by Bootstrap popovers, tooltips and collapsed navbar “hamburger” action)
* Bootstrap 4.5.1 CSS
* Bootstrap 4.5.1 JS
* Font Awesome 5.14.0* **Optional** (install these if you want to Gulp-Sass for preprocessing the SCSS files):
* NodeJS
* Gulp-CLI – installed globally
* Node packages for the following devDependencies:
* autoprefixer
* cssnano
* gulp
* gulp-postcss
* gulp-sass
* gulp-sourcemaps## Bootstrap Integration
* Bootstrap navbar with WordPress menu and search.
* Navbar dropdowns (child menus) are handled by a [custom walker nav menu class](https://github.com/SimonPadbury/b4st/blob/master/functions/navbar.php).* Bootstrap customized comments and feedback response form.
## Gutenberg Compatibility
* Gutenberg editor stylesheet – into which has been copy-pasted the typography styles from Bootstrap 4’s _Reboot_ CSS (see [http://getbootstrap.com/docs/4.3.1/content/reboot/](http://getbootstrap.com/docs/4.1/content/reboot/)).
* Since v.3.0, b4st (this theme) has adopted a narrow single-column layout, so that it can make use of Gutenberg’s extra-wide and full width blocks. In the front-end CSS, these are handled by a variation on Andy Bell’s [full bleed](https://hankchizljaw.com/wrote/creating-a-full-bleed-css-utility/) utility.
* **Optional:** If you wish to revert the font-end templates to a two-column (main content plus sidebar) layout, these are still available in the templates but commented out. However, you will also need to remove (or comment out) support for Gutenberg’s extra-wide and full-width comment blocks from the functions, and modify the CSS a little bit.## Child-Theme Friendly
b4st was not originally designed for child theming — it is a starter theme modifying directly. Most people still use it that way. But as child theme-friendliness has been asked for, here it is:
* Many functions are pluggable.
* Theme [hooks](/functions/hooks.php) – paired _before_ and _after_ the navbar, post/page main, (optional sidebar) and footer. Parent theme hooks are able to recieve [actions](https://developer.wordpress.org/plugins/hooks/actions/) from a child theme.
* Also, the navbar brand, navbar search form and sub-footer “bottomline” are inserted using pluggable hooks. So, a child theme can override these.
* _Documentation on b4st theme hooks can be found in the [wiki](https://github.com/SimonPadbury/b4st/wiki/b4st-Theme-Hooks)._
## Using the Gulp Task-Runner to Preprocess SCSS into CSS
Since v.3.0, in the `theme/` folder there is a `scss/` folder containing all the SCSS files that have been used to create the file `theme/css/b4st.css`.
You can (beautify and) edit that file directly — or you can preprocess the SCSS files using whatever you prefer to use.
In order to use Gulp, you need to:
1. Install [NodeJS](https://nodejs.org/).
2. Install [Gulp-CLI](https://gulpjs.com/docs/en/getting-started/quick-start) globally, using your terminal:
```
npm install --global gulp-cli
```3. In b4st there are already these files that you need: `gulpfile.js`, `package.json` and `package-lock.json`. Therefore what you need next are the Node packages. To get these, you need to `cd` to the b4st theme’s root folder and do an `npm install` in your terminal:
```
npm install
```4. A few minutes later, with all the `node_modules/` installed as local dev dependencies (as you can see from the 'package.json` these are: autoprefixer, cssnano, gulp, gulp-postcss, gulp-sass, and gulp-sourcemaps), you should simply be able to run gulp by typing this in your terminal:
```
gulp
```That’s it.
You can stop Gulp by typing `ctrl+C` (hold the **control** key down and press the **c** key).
5. So, in development, you could have WordPress running on a local server (e.g. BitNami-WordPress, AMPPS, Local by Flywheel, or MAMP + WordPress), and this Gulp setup watching and processing your SCSS into CSS.
* You may sometimes need to purge your browser cache at the start of a dev/design session, so that it reloads your newer stylesheet.---
See the [LOG.md](/LOG.md)
See the [b4st Wiki](https://github.com/SimonPadbury/b4st/wiki).