https://github.com/hex-digital/bloom
https://github.com/hex-digital/bloom
Last synced: 8 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hex-digital/bloom
- Owner: hex-digital
- License: mit
- Created: 2021-04-30T10:24:44.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2023-01-07T07:08:10.000Z (over 3 years ago)
- Last Synced: 2024-12-27T03:12:27.501Z (over 1 year ago)
- Language: PHP
- Size: 9.65 MB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Bloom - Hex Digital
WordPress starter theme with a modern development workflow
Built with 🌯 at [Hex Digital](https://www.hexdigital.com)
## Supporting
**Bloom** is an open source project and completely free to use.
However, we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address [in our website footer](https://www.hexdigital.com/). We publish all received postcards on our virtual postcard wall.
**Bloom** wouldn't be possible without the fantastic work by **Roots**, so please consider supporting them with a [sponsorship](https://www.patreon.com/rootsdev).
## About Bloom
Bloom is an opinionated, productivity-driven WordPress starter theme with a modern development workflow.
We recommend using Bloom if you're looking to spend less time building the same functionality for each project.
Any and all features can be disabled if you prefer, so even if you disagree with some of our opinions, it may still be a good fit for you.
## Features
- Environment variables, powered by [env](oscarotero/env) and [dotenv](https://github.com/vlucas/phpdotenv).
- Improved CSS objects and extra utilities, from [CaptainCSS](https://captaincss.hexdigital.com/).
- Image Lazy Loading, powered by [Vanilla LazyLoad](https://github.com/verlok/vanilla-lazyload).
Note that some functionality relies on our [functionality plugin, Sprout](https://github.com/hex-digital/sprout). This should be added to your `mu-plugins`.
If any functionality is enabled that relies on Sprout, and Sprout is not found, you'll see an error in the WordPress dashboard.
See [the Sage repository](https://github.com/roots/sage) for more features from the underlying framework.
## Requirements
Make sure all dependencies have been installed before moving on:
- [WordPress](https://wordpress.org/) >= 5.4
- [PHP](https://secure.php.net/manual/en/install.php) >= 7.3.0 (with [`php-mbstring`](https://secure.php.net/manual/en/book.mbstring.php) enabled)
- [Composer](https://getcomposer.org/download/)
- [Node.js](http://nodejs.org/) >= 12.14.0
- [Yarn](https://yarnpkg.com/en/docs/install)
## Theme installation
Clone the repo into the `themes` directory of your WordPress installation.
## Theme structure
```sh
themes/your-theme-name/ # → Root of your Sage based theme
├── app/ # → Theme PHP
│ ├── View/ # → View models
│ ├── Providers/ # → Service providers
│ ├── admin.php # → Theme customizer setup
│ ├── filters.php # → Theme filters
│ ├── helpers.php # → Helper functions
│ └── setup.php # → Theme setup
├── bootstrap/ # → Acorn bootstrap
│ ├── cache/ # → Acorn cache location (never edit)
│ └── app.php # → Acorn application bootloader
├── config/ # → Config files
│ ├── app.php # → Application configuration
│ ├── assets.php # → Asset configuration
│ ├── filesystems.php # → Filesystems configuration
│ ├── logging.php # → Logging configuration
│ └── view.php # → View configuration
├── composer.json # → Autoloading for `app/` files
├── composer.lock # → Composer lock file (never edit)
├── public/ # → Built theme assets (never edit)
├── functions.php # → Theme bootloader
├── index.php # → Theme template wrapper
├── node_modules/ # → Node.js packages (never edit)
├── package.json # → Node.js dependencies and scripts
├── resources/ # → Theme assets and templates
│ ├── fonts/ # → Theme fonts
│ ├── images/ # → Theme images
│ ├── scripts/ # → Theme javascript
│ ├── styles/ # → Theme stylesheets
│ └── views/ # → Theme templates
│ ├── components/ # → Component templates
│ ├── form/ # → Form templates
│ ├── layouts/ # → Base templates
│ └── partials/ # → Partial templates
├── screenshot.png # → Theme screenshot for WP admin
├── storage/ # → Storage location for cache (never edit)
├── style.css # → Theme meta information
├── vendor/ # → Composer packages (never edit)
└── webpack.mix.js # → Laravel Mix configuration
```
## Theme setup
Edit files in `/config` for theme configuration.
Edit `app/setup.php` to enable or disable theme features, setup navigation menus, post thumbnail sizes, and sidebars.
## Theme development
- Run `composer install` from the theme directory to install php dependencies
- Run `yarn` from the theme directory to install front end dependencies
- Copy `.env.example` to `.env`, and update with your local dev URL for browsersync
### Build commands
- `yarn start` — Compile assets when file changes are made, start Browsersync session
- `yarn hot` — Same as `start` with hot module reloading
- `yarn build` — Compile and optimize the files in your assets directory
- `yarn build:production` — Compile assets for production
## Updating Sage framework
The `upstream` branch tracks Sage 10.
The easiest way to update this theme is to pull in the latest changes from Sage
into the `upstream` branch, then create a PR from `upstream` to `main`.
This will highlight all Sage changes, as well as any conflicts to solve.
## Documentation
Please see the [Sage documentation](https://roots.io/sage/docs/) for the underlying theme.
Documentation for Bloom is in the works.
## Contributing
Contributions are welcome from everyone.