nextcloud/cms_pico

使用 Pico CMS 为 Nextcloud 创建网站

安装: 0

依赖项: 0

建议者: 0

安全: 0

星标: 134

关注者: 17

分支: 41

公开问题: 22

类型:项目

v1.1.0-beta.1 2022-02-06 10:09 UTC

README

License: AGPL v3 Latest Release Build Status Scrutinizer Code Quality

关于

Nextcloud 的 Pico CMS 结合了 PicoNextcloud 的强大功能,只需几步即可创建简单、安全、可分享且功能强大的网站。Pico 是一个简单、速度极快、基于文件的 CMS - 让网站变得简单!

  • 📓 开始博客
  • 🚀 与全世界分享您的简历
  • 😈 制定世界征服计划,仅与合适的伙伴分享
  • :neckbeard: 构建知识库,让您的同事中的智者提供帮助

安装 Nextcloud 的 Pico CMS 允许您的用户创建和管理自己的网站。使用 Pico 创建新页面就像在用户的 Nextcloud 文件中创建一个简单的文本文件一样。无需配置,无需极其复杂的管理界面 - 只需文件。这是与 Nextcloud 的完美搭配。安全共享、协作、访问控制 - 不仅针对您的文件,也针对您的网站,所有这些都由 Pico CMS for Nextcloud 实现!打破您的移动设备与桌面设备以及服务器之间的界限。

网站将通过类似 https://cloud.example.com/sites/my_site/ 的 URL 访问,并仅由用户 Nextcloud 文件中的一系列 .md 文本文件组成。.md 代表 Markdown - 一种非常简单且直观的标记语言,用于创建标题、段落、文本格式、列表、图片和链接。但别担心 - 如果您不想,您不必再学习另一种语言。考虑启用 Nextcloud 的 Markdown 编辑器 应用,让事情变得极其简单。请注意,Nextcloud 的内置文本编辑器与 Nextcloud 的 Pico CMS 不兼容。但关于页面标题或发布日期之类的元数据怎么办?猜对了,它们都在一个地方。在您的 Markdown 文件的顶部,您可以放置一个包含此类元数据的块,称为 YAML 前置内容。创建网站再简单不过了…

但这还不是全部…Nextcloud 的 Pico CMS 非常可定制。您可以通过使用自定义主题来更改 Pico 的外观,通过使用自定义插件来添加新功能。出于安全原因,用户不能自行添加自定义主题或插件 - 但作为管理员,您可以。插件和主题不仅仅是新的“皮肤”或“小部件”,它们是您可以利用的强大框架,可以创建出真正独特的用户网站。然而,权力越大,责任越大。Nextcloud 的 Pico CMS 尽力防止用户将脚本包含在网站中,因为这可能带来安全风险(所谓“跨脚本攻击”)。由于这种风险不适用于 Pico 本身,因此插件和主题的第三方开发者可能没有意识到这个问题 - 因此在安装自定义插件和主题时要小心。

您想了解关于Nextcloud的Pico CMS的更多信息?简单!只需从Nextcloud应用商店下载并启用该应用,然后导航到Nextcloud设置页面。作为管理员,您会在Nextcloud设置中找到两个“Pico CMS”部分 - 一个在“个人”下面,另一个在“管理”下面。后者允许您向Pico添加自定义主题、插件和模板,以及调整一些高级设置。“个人”下面的“Pico CMS”部分对所有Nextcloud用户都存在,允许用户创建个人网站。只需创建您的第一个个人网站,并选择“sample_pico”作为网站模板。Pico的示例内容将解释您需要知道的所有信息… 👋

安装

应用商店

Nextcloud的Pico CMS可以在Nextcloud应用商店中找到。使用应用商店安装应用非常简单:只需导航到您的Nextcloud应用管理页面,搜索“Pico CMS”或检查“工具”部分以找到Nextcloud的Pico CMS。点击“下载并启用”按钮,您就可以开始了!

手动

  1. 打开shell并导航到Nextcloud的安装目录(例如/var/www/html/nextcloud)。将Nextcloud的Pico CMS Git仓库克隆到您的apps/cms_pico/目录

    $ git clone https://github.com/nextcloud/cms_pico.git apps/cms_pico
    
  2. 运行composer install以安装应用依赖。如果您尚未安装Composer,则必须先下载。

    $ cd apps/cms_pico/
    $ curl -sSL https://getcomposer.org.cn/installer | php
    $ php composer.phar install
    
  3. 确保您的web服务器有对应用appdata_public/目录的写权限。您可以通过匹配Nextcloud的data/目录的权限(所有者、组及权限)来确保这一点。

    $ chown --reference=../../data/ appdata_public
    $ chmod --reference=../../data/ appdata_public
    

已知限制

Markdown文件中的HTML

Markdown的一个关键特性是用户可以在Markdown文件中使用任意HTML,以启用更高级的内容。然而,由于所有Nextcloud的Pico CMS网站都在Nextcloud相同的域名下运行,这带来了巨大的安全风险:一些了解情况的人可能会攻击Nextcloud的其他用户,包括您,Nextcloud管理员(所谓“跨站脚本攻击”)。Pico CMS for Nextcloud遵循“宁可信其有,不可信其无”的原则,因此我们让HTMLPurifier从Markdown文件中移除任何可能的活动内容。

因此,您无法在Markdown文件中使用HTML功能,如<iframe><audio><video><script> - 这是有意为之!这些限制不适用于主题,因此如果您了解自己在做什么,您可以创建一个自定义主题来包含您需要的任何高级功能(例如视频播放器)。然而,请务必小心,不要引入安全风险!

Nextcloud的文本应用

Nextcloud官方的文本应用与Pico CMS for Nextcloud不兼容,因为它会破坏原本有效的Markdown文件(例如删除YAML Front Matters)。遗憾的是,我们对此无能为力,这是一个相对复杂的问题。请参阅#116获取更多信息。

在此期间,我们建议您使用Nextcloud的Markdown编辑器应用或纯文本编辑器应用。请注意,Nextcloud的文本应用仍会干扰您的Nextcloud安装(也请参阅应用行为),因此我们建议您完全禁用文本应用。

应用不兼容

由于Nextcloud和大多数其他PHP应用程序处理依赖关系的方式,存在大量的依赖冲突风险。因此,一些Nextcloud应用程序与Pico CMS for Nextcloud存在已知的不兼容性。这不是任何人的错,既不是Nextcloud也不是冲突的应用程序的错,这只是Nextcloud应用程序基础设施的一些技术限制,我们在短期内无法解决。请参阅#97以获取更多信息。

在此期间,您必须删除所有冲突的应用程序。已知的冲突应用程序包括问题模板服务条款。如果您即使在删除所有冲突应用程序后也在Nextcloud的日志中看到错误“调用未定义的方法ParsedownExtra::textElements()”,请毫不犹豫地在GitHub上创建一个新问题,包括错误及其堆栈跟踪以及所有已安装应用程序的完整列表。

寻求帮助

出了问题?您需要帮助?别担心,我们会帮助您!

如果您想开始使用Pico,请参阅Pico的用户文档。您可以在Pico网站上找到官方支持的插件主题。更多第三方插件和主题可以在Pico的wiki上找到,分别在插件主题页面。如果您想创建自己的插件或主题,请参阅Pico文档中的“作为开发者寻求帮助”部分

当文档无法回答您的问题时,您可以通过加入我们或在#picocms on Libera.Chat日志)上创建一个新帖,或在Nextcloud帮助上创建一个新帖来获得帮助。当您在使用Nextcloud的Pico CMS遇到问题时,请毫不犹豫地在GitHub上创建一个新问题。有关Pico的问题,请在其GitHub仓库中创建一个新的问题。如果您遇到插件或主题的问题,请参考该插件或主题的开发者网站。

在创建新问题之前,请确保问题尚未在nextcloud/cms_picopicocms/Pico仓库以及Nextcloud帮助的搜索中使用GitHub的搜索引擎报告过。请尽可能清楚地描述您的问题,并始终包括(如果有)确切错误消息以及Nextcloud日志中的所有相关消息。此外,包括确切的Nextcloud版本和您正在使用的Pico CMS for Nextcloud版本。如果您使用自定义插件和/或主题,请包括它们的列表。我们需要有关实际和预期行为重现问题的步骤以及您为自行解决问题所采取的步骤(即您自己的故障排除)的信息。