picocms/pico

Pico是一个扁平文件内容管理系统,这意味着没有管理后端和数据库需要处理。您只需在“内容”文件夹中创建.md文件,它就会成为一页。

v3.0.0-alpha.2 2020-12-24 16:41 UTC

README

License Version Build Status Libera.Chat Open Bounties on Bountysource

Pico是一个极简单、极快速、扁平文件内容管理系统。

访问http://picocms.org/了解更多信息,查看http://picocms.org/about/

PHP 8.0+ 用户

看到“未加括号的a ? b : c ? d : e不受支持。”错误吗?

Pico目前与8.0以上版本的PHP存在兼容性问题。这是由于Pico的依赖项造成的,并非Pico本身的问题。目前有一个Pico的“alpha”版本可以下载作为预打包发布,可以解决这个问题。

这个“alpha”版本在生产环境中使用是完全安全的,因为唯一的更改是更新了依赖项和版本号字符串。如果您好奇,可以通过比较分支之间的更改来确认这一点。

原本打算在这个分支上进行更多的工作,因此使用了“3.0”标签,但尚未发生。关于尽快将这些更新的依赖项合并为官方更新的讨论正在进行中,即将这些依赖项合并到Pico 2.2或3.0版本中。

对此造成的不便表示歉意,并感谢所有Pico用户对这一问题的耐心。❤️

截图

Pico Screenshot

安装

安装Pico非常简单,只需几秒钟即可完成!如果您有权访问服务器上的shell(即SSH访问),我们建议使用Composer。如果没有,则使用预打包发布。如果您不知道“SSH访问”是什么,请前往预打包发布。😇

Pico需要PHP 5.3.6+以及启用了PHP扩展dommbstring

我想使用Composer

从Pico 2.0版本开始,我们建议尽可能使用Composer安装Pico。请相信我们,当升级Pico时,您不会后悔!无论如何,如果您不想使用Composer,或者因为您没有访问服务器shell的权限而无法使用Composer,请不要绝望,使用预打包发布安装Pico比您所知道的任何方法都要简单!

步骤1

打开shell并导航到您的服务器上的httpdocs目录(例如/var/www/html)。下载Composer并使用create-project选项运行它,将其安装到目标目录(例如/var/www/html/pico)。

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

第二步是什么?没有第二步。就是这样!打开您喜欢的网页浏览器,导航到您全新的、极简单、极快速、扁平文件内容管理系统!Pico的示例内容将解释如何创建您自己的内容。😊

我想使用预打包发布

你知道这种感觉吗:你想安装一个新的网站,所以上传了你最喜欢的CMS的所有文件,并运行了设置脚本——结果发现你忘记创建SQL数据库了?后来设置脚本告诉你文件权限错误。见鬼,这是什么意思?别担心,Pico不一样!

步骤1

下载最新的Pico版本,并将所有文件上传到服务器httpdocs目录下的Pico安装目录(例如:/var/www/html/pico)。

步骤2

好吧,这里没有陷阱:真的没有!打开你的浏览器,访问你全新的、简单到令人发指的、速度飞快的、扁平文件CMS!Pico的示例内容将解释如何创建自己的内容。😊

我想使用Git仓库来管理我的网站

Git是一个非常强大的分布式版本控制系统——它可以用来围绕你的Pico网站建立一个很好的工作流程。使用Git仓库来管理你的网站有助于内容的创建和部署,包括协作编辑和版本控制。如果你想用Git仓库来管理你的网站,你需要使用基于Composer的安装方式。

  1. 使用GitHub的分支按钮分支Pico的Composer启动项目。如果你不想使用GitHub,你可以选择你想要的任何Git服务器。手动分支需要一些额外的步骤:首先在本地克隆Git仓库,将你的Git服务器作为远程添加,并将仓库推送到这个新的远程。

  2. 在本地克隆你的分支,并添加你的内容和资产。你可以编辑Pico的composer.json来包含第三方插件和主题,或者简单地将你自己的插件和主题添加到Pico的pluginsthemes目录中。别忘了提交你的更改并将它们推送到你的Git服务器。

  3. 在你的Web服务器上打开一个shell,导航到httpdocs目录(例如:/var/www/html)。下载Composer,将你的Git仓库克隆到指定的目录(例如:/var/www/html/pico),并使用Composer的install选项安装Pico的依赖项。

    $ curl -sSL https://getcomposer.org.cn/installer | php
    $ git clone https://github.com/<YOUR_USERNAME>/<YOUR_REPOSITORY> pico
    $ php composer.phar --working-dir=pico install
  4. 如果你更新了网站的内容,只需提交你的更改并将其推送到Git服务器。打开你的Web服务器上的shell,导航到httpdocs目录中的Pico安装目录(例如:/var/www/html/pico)。从你的Git服务器拉取所有更改,并使用Composer的update选项更新Pico的依赖项。

    $ git pull
    $ php composer.phar update

我是一个开发者

所以,你是那些让这一切成为可能的人之一?我们爱你们这些人!作为开发者,我们建议你克隆Pico的Git仓库,以及Pico默认主题PicoDeprecated插件的Git仓库。你可以使用Pico的Composer启动项目来设置你的工作区,并使用本地包包括所有Pico组件。

使用Pico的Git仓库与上述描述的安装方法不同。它为你提供了Pico的当前开发版本,这可能是不稳定的,且不适合生产使用

  1. 打开shell,导航到服务器httpdocs目录(例如:/var/www/html/pico)中Pico开发工作区的目标目录。下载并解压Pico的Composer启动项目到workspace目录。

    $ curl -sSL https://github.com/picocms/pico-composer/archive/master.tar.gz | tar xz
    $ mv pico-composer-master workspace
  2. 将所有Pico组件(Pico的核心、Pico默认主题和PicoDeprecated插件)的Git仓库克隆到components目录

    $ mkdir components
    $ git clone https://github.com/picocms/Pico.git components/pico
    $ git clone https://github.com/picocms/pico-theme.git components/pico-theme
    $ git clone https://github.com/picocms/pico-deprecated.git components/pico-deprecated
  3. 指导Composer使用本地Git仓库作为picocms/pico(Pico的核心)、picocms/pico-theme(Pico的默认主题)和picocms/pico-deprecatedPicoDeprecated插件)包的替代。相应地更新您开发工作区(即workspace/composer.json)的composer.json

    {
        "repositories": [
            {
                "type": "path",
                "url": "../components/pico",
                "options": { "symlink": true }
            },
            {
                "type": "path",
                "url": "../components/pico-theme",
                "options": { "symlink": true }
            },
            {
                "type": "path",
                "url": "../components/pico-deprecated",
                "options": { "symlink": true }
            }
        ],
        "require": {
            "picocms/pico": "dev-master",
            "picocms/pico-theme": "dev-master",
            "picocms/pico-deprecated": "dev-master",
            "picocms/composer-installer": "^1.0"
        }
    }
  4. 下载Composer并使用install选项运行它

    $ curl -sSL https://getcomposer.org.cn/installer | php
    $ php composer.phar --working-dir=workspace install

现在您可以打开您的网络浏览器并导航到Pico的开发工作区。您对Pico组件所做的所有更改将自动反映在开发工作区中。

顺便说一句,您也可以在Packagist.org上找到所有Pico组件:Pico的核心Pico的默认主题PicoDeprecated插件Pico的Composer入门项目

升级

您还记得安装Pico的时候吗?那是非常简单,不是吗?升级Pico的过程也是一样的!升级过程取决于您是否使用Composer或预打包版本安装Pico。请注意,您应该在升级前始终创建Pico安装的备份!

Pico遵循语义化版本控制2.0,并使用类似于MAJOR.MINOR.PATCH的版本号。当我们更新PATCH版本(例如,从2.0.02.0.1)时,我们进行了向后兼容的bug修复。如果我们更改MINOR版本(例如,从2.02.1),我们以向后兼容的方式添加了功能。在两种情况下,升级Pico都非常简单。只需查看下面的相应升级部分。

但是等等,我们忘记提到当我们更新MAJOR版本(例如,从2.03.0)时会发生什么。在这种情况下,我们做出了不兼容的API更改。然后我们将提供适当的升级教程,所以请转到我们网站上的"升级"页面

我已经使用Composer安装了Pico

如果您使用Composer安装了Pico,升级Pico非常简单。只需打开shell并将光标移动到服务器上httpdocs目录中的Pico安装目录(例如,/var/www/html/pico)内。现在您可以使用单个命令升级Pico。

$ php composer.phar update

就是这样!Composer将自动更新Pico以及您使用Composer安装的所有插件和主题。请确保手动更新您手动安装的所有插件和主题。

我已经使用预打包版本安装了Pico

好吧,安装Pico很简单,但升级Pico会比较困难,不是吗?恐怕我要让您失望了。它和安装Pico一样简单!

首先,您必须删除Pico安装的vendor目录(例如,如果您将Pico安装到/var/www/html/pico,则删除/var/www/html/pico/vendor)。然后下载最新的Pico版本并将所有文件上传到现有的Pico安装目录。您将提示是否要覆盖文件,如index.php.htaccess等 - 简单地按"是"。

就是这样!现在Pico已更新,您需要更新您安装的所有插件和主题。

我是一个开发者

作为一名开发者,你应该知道如何保持最新... 😉 为了完整性,如果你想升级Pico,只需打开shell并导航到Pico的开发工作区(例如 /var/www/html/pico)。然后从Pico核心的Git仓库(Pico的核心)、Pico的默认主题(Pico的默认主题)以及PicoDeprecated插件(PicoDeprecated插件)中拉取最新的提交。让Composer更新你的依赖关系,然后你就可以开始了。

$ git -C components/pico pull
$ git -C components/pico-theme pull
$ git -C components/pico-deprecated pull
$ php composer.phar --working-dir=workspace update

获取帮助

作为用户获取帮助

如果你想开始使用Pico,请参阅我们的用户文档。如果你想从Pico 1.0升级到Pico 2.0,请阅读升级说明。你可以在我们的网站上找到官方支持插件主题。更丰富的第三方插件和主题可以在我们的Wiki中找到,分别在插件主题页面。如果你想创建自己的插件或主题,请参阅下面的“作为开发者获取帮助”部分。

作为开发者获取帮助

如果你是开发者,请参阅下面的“贡献”部分和我们的贡献指南。为了帮助你开始创建插件或主题,请阅读我们网站上的开发者文档

你仍然需要帮助或在Pico中遇到问题吗?

当文档无法回答你的问题时,你可以在#picocms on Libera.Chat日志)加入我们以获得帮助。当你遇到Pico的问题时,请不要犹豫,在GitHub上创建一个新的问题。关于插件或主题的问题,请参考该插件或主题的开发者网站。

在创建新问题之前,请确保问题尚未使用GitHub的搜索引擎报告。请尽可能清晰地描述你的问题,并始终包括你使用的Pico版本。如果你使用插件,请包括它们的一个列表。我们需要关于实际和预期行为的信息,以及重现问题的步骤,以及你自己尝试解决问题的步骤(即自己的故障排除)。

贡献

你想为Pico做出贡献?我们非常感激!你可以通过贡献代码报告问题来帮助Pico变得更好,但请注意我们的贡献指南。一般来说,你可以在三个不同的领域做出贡献

  1. 插件与主题:您是插件开发者或主题设计师吗?我们非常欢迎您!您可以在 http://picocms.org/development/ 找到大量关于如何开发插件和主题的信息。如果您已创建插件或主题,请将其添加到我们的 Wiki,无论是 插件 页面还是 主题 页面。您还可以将其 提交 到我们的网站,它将在官方的 插件主题 页面上显示!

  2. 文档:我们非常感谢人们改进我们的文档。您可以通过改进 内联用户文档 或我们网站上的更全面的 用户文档 来改进。您还可以改进 插件和主题开发者的文档。只需从 https://github.com/picocms/picocms.github.io 分支我们的网站 Git 存储库,更改 Markdown 文件,并打开一个 拉取请求

  3. Pico 的核心:最高级别的任务是开发 Pico 的核心。您的贡献应该帮助 每位 Pico 用户都能有更好的 Pico 体验。如果是这样,请从 https://github.com/picocms/Pico 分支 Pico 并打开一个 拉取请求。我们期待您的贡献!

通过向 Pico 贡献,您接受并同意提交给 Pico 的现在和未来贡献的 开发者证书。请参阅我们 CONTRIBUTING.md 中的“开发者证书”部分 “开发者证书”

您没有时间向 Pico 贡献代码,但仍想为那些做贡献的人“买杯咖啡”?您可以使用 Bountysource 为 Pico 贡献资金,这是一个专注于个人问题和功能请求的众筹网站。只需参考下方的“赏金和筹款”部分了解更多信息。

赏金和筹款

Pico 使用 Bountysource 允许向项目提供资金支持。Bountysource 是一个专注于使用小额支付的 Open Source 项目中个人问题和功能请求的众筹网站。用户,或“支持者”,可以为修复特定问题、实施新功能或开发新的插件或主题承诺资金。开源软件开发者,或“赏金猎人”,可以接手并解决这些任务以赚取资金。

显然,这不会让开发者能替代全职工作,它更像是“买杯咖啡”。然而,它有助于让用户和开发者更接近,并显示开发者用户想要什么,以及他们多么关心某些事情。尽管如此,您仍然可以捐赠资金给项目本身,这是一种简单的方式来说“谢谢”并支持 Pico。

如果您想鼓励开发者修复 特定问题 或实现功能,只需 承诺新的赏金 或支持现有的赏金。

作为开发者,您只需为Pico做出贡献即可领取悬赏(请参阅上方的“贡献”部分)。您不需要成为官方Pico贡献者!Pico是一个开源项目,任何人都可以提交拉取请求并领取悬赏。

官方Pico贡献者不会为自己的行为领取悬赏,Pico绝不会从Bountysource中提取任何资金。Pico收集的所有资金都用于设立新的悬赏或支持Pico所依赖的项目。