Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/karmabunny/sprout3
SproutCMS: content management and framework
https://github.com/karmabunny/sprout3
content-management-system framework-php mysql php
Last synced: about 2 months ago
JSON representation
SproutCMS: content management and framework
- Host: GitHub
- URL: https://github.com/karmabunny/sprout3
- Owner: Karmabunny
- License: gpl-2.0
- Created: 2017-05-08T04:40:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-05-23T04:22:16.000Z (8 months ago)
- Last Synced: 2024-05-27T18:45:44.848Z (8 months ago)
- Topics: content-management-system, framework-php, mysql, php
- Language: PHP
- Homepage: http://getsproutcms.com
- Size: 9.15 MB
- Stars: 24
- Watchers: 13
- Forks: 4
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
SproutCMS 4
===========SproutCMS is a flexible and feature rich cms and application framework, developed in PHP,
designed to enable quick and agile custom development. SproutCMS was built to reward
innovation and encourage developers to produce complex applications.
It is built by developers, for developers.Website:
http://getsproutcms.com/Development docs:
http://docs.getsproutcms.com/User manual:
http://manual.getsproutcms.com/3.0Requirements
------------* PHP 8.1 or later
* A web server, e.g. Apache or nginx
* MySQL 8.0 or later, or MariaDB 10.3 or later
* Composer 2 or later
Getting started
---------------1. Run `composer create-project sproutcms/site`
2. Run `composer serve`
3. Browse to http://localhost:8080/This is a quick start example. For a detailed installation walk-through see [INSTALL.md](INSTALL.md)
Deployment
----------SproutCMS runs natively with [git deploy](https://github.com/mislav/git-deploy).
1. Set up your remote, e.g.
```
git remote add production "[email protected]:/apps/mynewapp"
```2. Run the setup task
```
git deploy setup -r "production"
```3. No need to run `git deploy init` as this has already been done
4. Push the code
```
git push production master
```Development tools
-----------------To run unit tests, execute the following from the root directory:
```
$ composer test
```To run [NStrack](https://github.com/Karmabunny/nstrack), our namespace issue finder and fixer, run from the
root directory, e.g.
```
$ composer nstrack
```To add license blocks to recently added files, run the following from the root directory:
```
$ php tools/license_block/license_block.php
```Publishing
----------_(for contributors)_
To publish a new version simply create a git tag with the next appropriate version. This is then automatically pushed to [packagist.org](https://packagist.org/packages/sproutcms/cms) via a web hook.
We've created a script to automate this:
```sh
./tools/publish.sh v4.x.x "My new changes"
```For example, given the last version (from `git log`) is `v3.2.10` then tag and push `v3.2.11`.
Please be careful and don't publish untested code. Keep your messy business in a branch and require it into your projects using the `dev-` prefixes.
Such as:
```
composer require sproutcms/cms:dev-my-broken-branch
```Or use the `composer patch-locals` script to symlink the dependency while locally building your site.