Boilerplate is a base component for Joomla, serving as a starting point for developing custom components. It provides a pre-configured structure and integrates modern development tools for efficient Joomla extension development.
- Pre-configured Webpack setup for efficient asset management
- Integration of Tailwind CSS for modern, responsive styling (optional)
- Automated build processes for development and production
- Progress display during the build process
- Automatic creation of ZIP archives for easy installation
- Automatic copying of files to your Joomla installation
- Composer support (if needed uncomment the autoload.php in the services/provider.php file and the vendor folder in boilerplate.xml)
- Category support (if not needed, look at https://github.com/jswebschmiede/com_simpleboilerplate)
- Node.js (version 21.5.0 or higher)
- pnpm (can be installed globally with
npm install -g pnpm
) - Joomla 5.x or higher (tested with Joomla 5.0)
- PHP 8.3 or higher (tested with PHP 8.3)
-
Clone the repository:
git clone https://github.com/jswebschmiede/com_boilerplate.git
-
Navigate to the project directory:
cd com_boilerplate
-
Install dependencies:
pnpm install
-
Install Composer dependencies:
composer install
To work in development mode and benefit from automatic reloading and copying the files to your Joomla installation:
- install the component in Joomla (see Production Mode)
- configure the
webpack.config.js
file with the path to your Joomla installation (default is../../joomla
) - folder structure should look like this. You can change the names of the folders, important is only the structur itself.
joomla_dev/
- joomla/
- joomla_components/
- com_boilerplate/
- start the development server:
pnpm run dev
To create a production-ready version of your component:
pnpm run build
This creates an optimized version of the component and packages it into a ZIP file for installation in Joomla.
src/
: Component source codeadministrator/
: Administrator area of the componentcomponents/
: Site area of the componentmedia/
: Assets such as JavaScript and CSS
dist/
: Compiled and optimized files (after build)webpack.config.js
: Webpack configurationtailwind.config.js
: Tailwind CSS configurationcomposer.json
: Composer configurationpackage.json
: Project dependencies and scripts
You can customize the component by editing the files in the src/
directory. The main customization points are:
- replace all occurences of
com_boilerplate
with your component name, don't forget to change the name in thepackage.json
file, thewebpack.config.js
file and thecomposer.json
file too - replace all occurences of
Boilerplate
andboilerplate
with your component name
Contributions are welcome! Please create a pull request or open an issue for suggestions and bug reports.
MIT License; see LICENSE.txt