Pico is a stupidly simple, blazing fast, flat file CMS.
Find a file
Daniel Rudolf 6bb65fb12b
Deny access to composer.phar in .htaccess
This file might be present if users strictly follow our install instructions
 and don't delete it on their own after successfully installing Pico.
2018-01-27 21:03:45 +01:00
.build Build system: Don't delete .gitignore when creating release archives 2018-01-27 21:02:06 +01:00
.github Add .github/PULL_REQUEST_TEMPLATE.md 2017-12-02 17:55:29 +01:00
assets Create empty assets/ dir 2017-05-06 19:28:33 +02:00
config Allow pages to be sorted by arbitrary meta values 2017-07-14 20:37:05 +02:00
content Create empty content/ dir 2017-05-02 00:26:23 +02:00
content-sample Improve .htaccess regex 2017-12-24 13:58:42 +01:00
lib Various small improvements 2018-01-21 23:06:38 +01:00
plugins Change AbstractPicoPlugin::$enabled's behavior 2017-12-27 21:36:08 +01:00
themes Move PicoDeprecated plugin and default theme to separate repos 2017-05-01 22:12:18 +02:00
.gitattributes Merge branch 'master' into pico-1.1 2017-12-02 17:48:34 +01:00
.gitignore Various small improvements 2018-01-21 23:06:38 +01:00
.htaccess Deny access to composer.phar in .htaccess 2018-01-27 21:03:45 +01:00
.phpcs.xml Various small improvements 2018-01-21 23:06:38 +01:00
.phpdoc.xml Various small improvements 2018-01-21 23:06:38 +01:00
.travis.yml Build system: Refactor scripts to use picocms/ci-tools 2017-12-02 17:21:03 +01:00
CHANGELOG.md Update CHANGELOG.md 2018-01-21 23:31:06 +01:00
composer.json Various small improvements 2017-12-27 21:36:56 +01:00
CONTRIBUTING.md Various small improvements 2018-01-21 23:06:38 +01:00
index.php Add license/copyright file headers to index.php and index.php.dist 2017-10-19 22:26:43 +02:00
index.php.dist Various small improvements 2017-12-27 21:36:56 +01:00
LICENSE.md Move LICENSE to LICENSE.md 2015-12-01 15:12:20 -06:00
README.md README.md: Add Pico 2.0 install/upgrade instructions 2018-01-27 21:03:06 +01:00

Pico

License Version Build Status Freenode IRC Webchat

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

Pico Screenshot

Install

Installing Pico is dead simple - and done in seconds! If you have access to a shell on your server (i.e. SSH access), we recommend using composer. If not, use a pre-bundled release. If you don't know what "SSH access" is, head over to the pre-bundled release. 😇

Pico requires PHP 5.3.6+

I want to use composer

Starting with Pico 2.0 we recommend installing Pico using composer whenever possible. Trust us, you won't regret it when it comes to upgrading Pico! Anyway, if you don't want to use composer, or if you simply can't use composer because you don't have access to a shell on your server, don't despair, installing Pico using a pre-bundled release is still easier than everything you know!

Step 1

Open a shell and navigate to the desired install directory of Pico within the httpdocs directory (e.g. /var/www/html) of your server. Download composer and run it with the create-project option:

$ curl -sSL https://getcomposer.org/installer | php
$ php composer.phar create-project picocms/pico-composer .
Step 2

What second step? There's no second step. That's it! Open your favorite web browser and navigate to your brand new, stupidly simple, blazing fast, flat file CMS! Pico's default contents will explain how to create your own contents. 😊

I want to use a pre-bundled release

Do you know the feeling: I want to install a new website, upload all files of my favorite CMS and run the setup script - just to find out that I forgot about creating the SQL database first? Later the setup script tells me that my file permissions are wrong. Heck, what does this even mean? Forget about it, Pico is different!

Step 1

Download the latest Pico release and upload all files to the httpdocs directory (e.g. /var/www/html) of your server.

Step 2

Okay, here's the catch: There's no catch. That's it! Open your favorite web browser and navigate to your brand new, stupidly simple, blazing fast, flat file CMS! Pico's default contents will explain how to create your own contents. 😊

I'm a developer

So, you're one of these amazing folks making all of this possible? We love you guys! As a developer we recommend you to clone Pico's Git repository and use composer to install its dependencies. You can find both Pico and Pico's composer starter project on Packagist.org. Using Pico's Git repository is different from using one of the installation methods elucidated above, because it uses Pico as the composer root package. Furthermore it gives you the current development version of Pico, what is likely unstable and not ready for production use!

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, download composer and install Pico's dependencies as follows:

$ git clone https://github.com/picocms/Pico.git .
$ curl -sSL https://getcomposer.org/installer | php
$ php composer.phar install

Upgrade

Do you remember when you installed Pico? It was ingeniously simple, wasn't it? Upgrading Pico is no difference! The upgrade process differs depending on whether you used composer or a pre-bundled release to install Pico. Please note that 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. 2.0.0 to 2.0.1), we made backwards-compatible bug fixes. If we change the MINOR version (e.g. 2.0 to 2.1), we added functionality in a backwards-compatible manner. Upgrading Pico is dead simple in both cases. Simply head over to the appropiate Upgrade sections below.

But wait, we forgot to mention what happens when we update the MAJOR version (e.g. 2.0 to 3.0). In this case we made incompatible API changes. We will then provide a appropriate upgrade tutorial, so please head over to the "Upgrade" page on our website.

I've used composer to install Pico

Upgrading Pico is dead simple if you've used composer to install Pico. Simply open a shell and navigate to Pico's install directory within the httpdocs directory (e.g. /var/www/html/pico) of your server. You can now upgrade Pico using just a single command:

$ php composer.phar update

That's it! composer will automatically update Pico and all plugins and themes you've installed using composer. Please make sure to manually update all plugins and themes you've installed manually.

I've used a pre-bundled release to install Pico

Okay, installing Pico was easy, but upgrading Pico is going to be hard, isn't it? I'm affraid I have to disappoint you... It's just as simple as installing Pico!

First you'll have to delete the vendor directory of your Pico installation (e.g. if you've installed Pico to /var/www/html/pico, delete /var/www/html/pico/vendor). Then download the latest Pico release and upload all files to your existing Pico installation directory. You will be prompted whether you want to overwrite files like index.php, .htaccess, ... - simply hit "Yes".

That's it! Now that Pico is up-to-date, you need to update all plugins and themes you've installed.

I'm a developer

As a developer you should be up-to-date already... 😉 For the sake of completeness, if you want to upgrade Pico, simply open a shell and navigate to Pico's install directory within the httpdocs directory (e.g. /var/www/html/pico) of your server. Then pull the latest commits from Pico's Git repository and let composer update your dependencies:

$ git pull
$ php composer.phar update

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 1.0 to Pico 2.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 developer 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:

  1. 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!

  2. 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 our website's Git repository from https://github.com/picocms/picocms.github.io, change the Markdown files and open a pull request.

  3. 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!

By contributing to Pico, you accept and agree to the Developer Certificate of Origin for your present and future contributions submitted to Pico. Please refer to the "Developer Certificate of Origin" section in our CONTRIBUTING.md.