afd0a4d7a3
AbstractPicoPlugin::$enabled now defaults to NULL what leaves the decision whether a plugin should be enabled or disabled by default up to Pico (precisely AbstractPicoPlugin::triggerEvent()). If all dependencies of a plugin are fulfilled, Pico enables the plugin by default. Otherwise the plugin is silently disabled (this was the behavior when AbstractPicoPlugin::$enabled was set to TRUE previously). If a plugin should never be disabled *silently* (e.g. when dealing with security-relevant stuff like access control, or similar), set AbstractPicoPlugin::$enabled to TRUE. If Pico can't fulfill all the plugin's dependencies, it will throw an RuntimeException. If a plugin rather does some "crazy stuff" a user should really be aware of before using it, you can set AbstractPicoPlugin::$enabled to FALSE. The user will then have to enable the plugin manually. However, if another plugin depends on this plugin, it might get enabled silently nevertheless. No matter what, the user can always explicitly enable or disable a plugin in Pico's config. |
||
---|---|---|
.build | ||
.github | ||
assets | ||
config | ||
content | ||
content-sample | ||
lib | ||
plugins | ||
themes | ||
.gitattributes | ||
.gitignore | ||
.htaccess | ||
.phpcs.xml | ||
.phpdoc.xml | ||
.travis.yml | ||
CHANGELOG.md | ||
composer.json | ||
CONTRIBUTING.md | ||
index.php | ||
index.php.dist | ||
LICENSE.md | ||
README.md |
Pico
Pico is a stupidly simple, blazing fast, flat file CMS.
Visit us at http://picocms.org/ and see http://picocms.org/about/ for more info.
Screenshot
Install
You can install Pico either using a pre-bundled release or with composer. Pico is also available on Packagist.org and may be included in other projects via composer require picocms/pico
. Pico requires PHP 5.3.6+
Using a pre-bundled release
Just download the latest Pico release and upload all files to the httpdocs
directory (e.g. /var/www/html
) of your server.
Composer
Step 1 - for users
Download the source code of Pico's latest release, upload all files to the httpdocs
directory (e.g. /var/www/html
) of your server and navigate to the upload directory using a shell.
Step 1 - for developers
Open a shell and navigate to the desired install directory of Pico within the httpdocs
directory (e.g. /var/www/html
) of your server. You can now clone Pico's Git repository as follows:
$ git clone https://github.com/picocms/Pico.git .
Please note that this gives you the current development version of Pico, what is likely unstable and not ready for production use!
Step 2
Download composer and run it with the install
option:
$ curl -sS https://getcomposer.org/installer | php
$ php composer.phar install
Upgrade
Upgrading Pico is very easy: You just have to replace all of Pico's files - that's it! Nevertheless you should always create a backup of your Pico installation before upgrading.
Pico follows Semantic Versioning 2.0 and uses version numbers like MAJOR
.MINOR
.PATCH
. When we update...
-
the
PATCH
version (e.g.1.0.0
to1.0.1
), we made backwards-compatible bug fixes. It's then sufficient to extract Pico's latest release to your existing installation directory and overwriting all files. Alternatively you can either use the source code of Pico's latest release or pull from Pico's Git repository, but are then required to update Pico's composer dependencies manually by runningphp composer.phar update
. -
the
MINOR
version (e.g.1.0
to1.1
), we added functionality in a backwards-compatible manner, but anyway recommend you to "install" Pico newly. Backup all of your files, empty your installation directory and install Pico as elucidated above. You can then copy yourconfig/config.php
andcontent
directory without any change. If applicable, you can also copy the folder of your custom theme within thethemes
directory. Provided that you're using plugins, also copy all of your plugins from theplugins
directory. -
the
MAJOR
version (e.g.1.0
to2.0
), we made incompatible API changes. We will then provide a appropriate upgrade tutorial.
Upgrading Pico 0.8 or 0.9 to Pico 1.0 is a special case. The new PicoDeprecated
plugin ensures backwards compatibility, so you basically can follow the above upgrade instructions as if we updated the MINOR
version. However, we recommend you to take some further steps to confine the necessity of PicoDeprecated
as far as possible. For more information about what has changed with Pico 1.0 and a step-by-step upgrade tutorial, please refer to the upgrade page of our website.
Run
You have nothing to consider specially, simply navigate to your Pico install using your favorite web browser. Pico's default contents will explain how to use your brand new, stupidly simple, blazing fast, flat file CMS.
You don't have a web server?
Starting with PHP 5.4 the easiest way to try Pico is using the built-in web server of PHP. Please note that PHPs built-in web server is for development and testing purposes only!
Step 1
Navigate to Pico's installation directory using a shell.
Step 2
Start PHPs built-in web server:
$ php -S 127.0.0.1:8080
Step 3
Access Pico from http://localhost:8080.
Getting Help
Getting Help as a user
If you want to get started using Pico, please refer to our user docs. Please read the upgrade notes if you want to upgrade from Pico 0.8 or 0.9 to Pico 1.0. You can find officially supported plugins and themes on our website. A greater choice of third-party plugins and themes can be found in our Wiki on the plugins or themes pages respectively. If you want to create your own plugin or theme, please refer to the "Getting Help as a developer" section below.
Getting Help as a developer
If you're a developer, please refer to the "Contributing" section below and our contribution guidelines. To get you started with creating a plugin or theme, please read the dev docs on our website.
You still need help or experience a problem with Pico?
When the docs can't answer your question, you can get help by joining us on #picocms on Freenode IRC. When you're experiencing problems with Pico, please don't hesitate to create a new Issue on GitHub. Concerning problems with plugins or themes, please refer to the website of the developer of this plugin or theme.
Before creating a new Issue, please make sure the problem wasn't reported yet using GitHubs search engine. Please describe your issue as clear as possible and always include the Pico version you're using. Provided that you're using plugins, include a list of them too. We need information about the actual and expected behavior, the steps to reproduce the problem, and what steps you have taken to resolve the problem by yourself (i.e. your own troubleshooting).
Contributing
You want to contribute to Pico? We really appreciate that! You can help make Pico better by contributing code or reporting issues, but please take note of our contribution guidelines. In general you can contribute in three different areas:
-
Plugins & Themes: You're a plugin developer or theme designer? We love you guys! You can find tons of information about how to develop plugins and themes at http://picocms.org/development/. If you have created a plugin or theme, please add it to our Wiki, either on the plugins or themes page. You may also Submit it to our website, where it'll be displayed on the official plugin or theme pages!
-
Documentation: We always appreciate people improving our documentation. You can either improve the inline user docs or the more extensive user docs on our website. You can also improve the docs for plugin and theme developers. Simply fork Pico from https://github.com/picocms/Pico, change the Markdown files and open a pull request.
-
Pico's Core: The supreme discipline is to work on Pico's Core. Your contribution should help every Pico user to have a better experience with Pico. If this is the case, fork Pico from https://github.com/picocms/Pico and open a pull request. We look forward to your contribution!