跳至主要内容

命令行界面

Pagekit 通过命令行界面(CLI)向开发者展示部分核心功能。有许多命令提供有用的工具和辅助工具。

基本用途

打开终端,导航到已有 Pagekit 安装的目录。该目录中的脚本(无文件扩展名)是一个可以从命令行运行的PHP脚本。pagekit

cd /var/www/pagekit   # navigate to pagekit directory
./pagekit             # run pagekit CLI script
注释

你可能需要用 .或者你也可以明确调用你的PHP解释器。chmod +x pagekitphp pagekit

当简单调用CLI工具且不带参数时,它会输出Pagekit版本号、一些基本使用信息,并列出可用命令。

$ ./pagekit
Pagekit version 1.0.3

Usage:
  command [options] [arguments]

Options:
  -h, --help            Display this help message
  -q, --quiet           Do not output any message
  -V, --version         Display this application version
      --ansi            Force ANSI output
      --no-ansi         Disable ANSI output
  -n, --no-interaction  Do not ask any interactive question
  -v|vv|vvv, --verbose  Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Available commands:
  archive              Archives an extension or theme
  build                Builds a .zip release file
  clearcache           Clears the system cache
  help                 Displays help for a command
  install              Installs a Pagekit package
  list                 Lists commands
  migrate              Migrates Pagekit
  self-update          Checks for newer Pagekit versions and installs the latest
  setup                Setup a Pagekit installation
  start                Starts the built-in web server
  uninstall            Uninstalls a Pagekit package
  update               Updates dependencies of Pagekit packages
 extension
  extension:translate  Generates extension's translation .pot/.po/.php files
 translation
  translation:fetch    Fetches current translation files from languages repository

运行命令时,你可以在调用CLI工具时添加参数。例如,从市场上安装Hello扩展的过程如下。

./pagekit install pagekit/hello

可用指令

可用的命令包括扩展和主题开发的辅助工具,以及使 Pagekit 开发团队更轻松维护 Pagekit 项目的工具(如命令)。build

构建包档案

要从任何主题或扩展创建可安装的归档,执行此命令并提供你想构建的包的路径。以下命令将在 Pagekit 安装的顶部文件夹中创建一个文件。*.zippagekit-hello.zip

示例:

./pagekit archive pagekit/hello

用法、论元与选项:

Usage:
  archive [options] [--] <name>

Arguments:
  name                  Package name

Options:
      --dir[=DIR]       Write the archive to this directory

Build Pagekit 发布档案

Pagekit 维护者使用该命令构建 Pagekit 发布包。它会在 Pagekit 安装的根文件夹中创建一个归档。该发布包既可以作为一个包使用,你可以从官方 Pagekit 网站下载,也可以作为定制安装,例如交付给你的客户。*.zip

示例:

./pagekit build

使用情况(无参数,无选项):

Usage:
  build

清除缓存

要清空缓存,可以用命令。该命令会从缓存目录中移除所有文件,缓存目录位于普通 Pagekit 安装中的 。clearcache*.cachetmp/cache

示例:

./pagekit clearcache

使用情况(无参数,无选项):

Usage:
  clearcache

显示任何CLI命令的使用信息

要了解CLI命令的实际作用和使用方式,你可以使用该命令。help

示例:

./pagekit help install

用法与论证:

Usage:
  help [options] [--] [<command_name>]

Arguments:
  command               The command to execute
  command_name          The command name [default: "help"]

Options:
      --format=FORMAT   The output format (txt, xml, json, or md) [default: "txt"]

从Pagekit市场安装一个包

示例:

./pagekit install pagekit/hello

用法、论元与选项:

Usage:
  install [options] [--] <packages> (<packages>)...

Arguments:
  packages              [Package name]:[Version constraint]

Options:
      --prefer-source   Forces installation from package sources when possible, including VCS information.

列出可用命令

你可以用该命令访问所有可用的CLI命令。这产生的输出与运行无参数的CLI脚本相同。list

示例:

./pagekit list

用法、论元与选项:

Usage:
  list [options] [--] [<namespace>]

Arguments:
  namespace            The namespace name

Options:
      --raw            To output raw command list
      --format=FORMAT  The output format (txt, xml, json, or md) [default: "txt"]

运行 Pagekit 迁移

安装新 Pagekit 版本后,系统有时需要对数据库结构进行修改。这些变化被归类为所谓的迁移期。要运行可能需要运行的迁移,可以使用该命令。不过一般来说,你不需要特别做这件事。当你登录管理区时,Pagekit 也会检查是否有可用的迁移,并在需要时执行。migrate

示例:

./pagekit migrate

使用情况(无参数或选项):

Usage:
  migrate

升级页面包安装

从终端升级你的Pagekit安装。可选地,你也可以提供一个新 Pagekit 包的链接,用于运行升级。在这种情况下,你还需要提供一个有效的SHA哈希值,用于验证下载的文件。如果你没有提供 URL 和哈希值,命令将使用 pagekit.com 最新的 Pagekit 包。

示例:

./pagekit self-update

用途与选项:

Usage:
  self-update [options]

Options:
  -u, --url=URL
  -s, --shasum=SHASUM

设置完整的 Pagekit 安装

你可以从刚下载的 Pagekit 安装包中运行终端命令,无需打开浏览器即可运行安装。这可以用来自动安装,无论是你自己还是客户项目。

使用 SQLite 和默认管理员用户安装 Pagekit 的示例:

./pagekit setup --password=<SOMETHING-SECURE>

用途与选项:

Usage:
  setup [options]

Options:
  -u, --username=USERNAME      Admin username [default: "admin"]
  -p, --password=PASSWORD      Admin account password
  -t, --title[=TITLE]          Site title [default: "Pagekit"]
  -m, --mail[=MAIL]            Admin account email [default: "该 Email 地址已受到反垃圾邮件插件保护。要显示它需要在浏览器中启用 JavaScript。"]
  -d, --db-driver=DB-DRIVER    DB driver ('sqlite' or 'mysql') [default: "sqlite"]
      --db-prefix[=DB-PREFIX]  DB prefix [default: "pk_"]
  -H, --db-host[=DB-HOST]      MySQL host
  -N, --db-name[=DB-NAME]      MySQL database name
  -U, --db-user[=DB-USER]      MySQL user
  -P, --db-pass[=DB-PASS]      MySQL password
  -l, --locale[=LOCALE]        Locale

启动内置的网页服务器

其实你不需要完整的Apache服务器配置。你可以为本地机器上运行的自包含服务器实例执行命令。命令会一直运行,直到你按 CTRL + C 退出服务器实例。start

./pagekit start --server=127.0.0.1:8080

用途与选项:

Usage:
  start [options]

Options:
  -s, --server[=SERVER]  Server name and port [default: "127.0.0.1:8080"]

卸载 Pagekit 包

移除Pagekit安装中的主题或扩展。

示例:

./pagekit uninstall pagekit/hello

用法与论证:

Usage:
  uninstall <packages> (<packages>)...

Arguments:
  packages              [Package name]

从包中解析翻译字符串

在创建主题或扩展时,你可以且应该使用Pagekit的国际化系统,确保用户界面能以多种语言显示。基本上,这通过在特殊的函数调用中包裹字符串来实现(比如PHP模板或Vue模板)。命令会找到给定主题或扩展中所有此类函数调用的出现,并收集所有可翻译的字符串,写入指定包的子目录。这些文件可以用来为你的包裹创建翻译,比如使用像Transifex这样的服务。__('Translate me!'){{ 'Translate me!' |trans }}extension:translatelanguages/

示例:

./pagekit extension:translate pagekit/blog

用法与论证:

Usage:
  extension:translate [<extension>]

Arguments:
  extension             Extension name

获取新的翻译文件

已废弃警告这个命令将被替换。

Pagekit 核心维护者使用该命令从翻译仓库获取翻译。翻译工作流程和文件结构目前正在讨论中,这个命令很可能会在未来的 Pagekit 版本中被替换。

示例:

./pagekit translation:fetch

使用情况:

Usage:
  translation:fetch