thadbryson/santas-workshop

该软件包最新版本(v0.0.1alpha)没有可用的许可信息。

生成具有内容的目录和文件。实际文件内容。真实文本和数据。电子表格、PHP代码、JavaScript、HTML以及任何其他内容。

v0.0.1alpha 2014-10-01 02:16 UTC

This package is auto-updated.

Last update: 2024-09-18 11:04:23 UTC


README

Build Status

关于

Santa's Workshop是一个创建礼物的工具。文本礼物。

礼物种类

  1. 软件 - PHP、Ruby、JavaScript、.NET、Python、Java或任何软件。
  2. 网络内容 - HTML、CSS、lorem ipsum、说明等。
  3. 文档 - 新员工的人力资源文件、新用户的说明、法律协议、任何文本。

概述

礼物是由应用程序输出的。可以是代码或基本内容。

构建礼物的两个基本要素。

  1. 配置 - 这些是存储在"/cipos/input/configs/"下的.json文件。以下是一个名为"wp_conf.json"的配置文件示例。

{ "code": "wp_conf", "tmpl": "wp_config", "vars": { "db_name": "my_db_name", "db_user": "my_db_user_is_cool" } }

  • code:该"code"变量表示项目的代码名称。也是文件名。在此示例中,代码是"wp_conf",这意味着文件名是"wp_conf.json"。
  • tmpl:该"tmpl"变量是该项目使用的模板。由于此tmpl是"wp_config",因此该项目的模板是"wp_config"。该模板位于"/cipos/input/templates/wp_config"下。
  • vars:这些是要传递给需要运行的任何Twig模板的变量。因此,在此示例中,变量"db_name"将输出为"my_db_name",而"db_user"将输出为"my_db_user_is_cool"。
  1. 模板 - 模板是用于创建礼物的文件。这些文件将被复制或通过Twig运行。

模板存储在"/cipos/input/templates/"下。以下是上面提到的模板"wp_config"的目录结构示例。

/wp_config wp_config.php.twig about.txt somefile.twig.exclude

其根目录为"wp_config/"。模板的名称是"wp_config"。也是目录名。

创建礼物时,任何以.twig结尾的文件将通过Twig模板系统运行。如果wp_config.php.twig文件的内容如下:

// ** MySQL设置 - 您可以从您的网络托管提供商获取此信息 ** // /** WordPress数据库的名称 */ define('DB_NAME', '{{ db_name }}');

/** MySQL数据库用户名 */ define('DB_USER', '{{ db_user }}');

{{ db_name }}和{{ db_user }}变量将被编译成"my_db_name"和"my_db_user_is_cool"。输出将是:

// ** MySQL设置 - 您可以从您的网络托管提供商获取此信息 ** // /** WordPress数据库的名称 */ define('DB_NAME', 'my_db_name');

/** MySQL数据库用户名 */ define('DB_USER', 'my_db_user_is_cool');

任何以exclude结尾的文件将被复制到礼物目录中,而不会通过Twig模板系统运行。.exclude将被删除。因此,文件"somefile.twig.exclude"将被复制并重命名为"somefile.twig"。如果您有希望复制的.twig文件而不希望通过模板系统运行,这很好。

任何不以.twig或.exclude结尾的其他文件都将直接复制到礼物目录中。在上面的示例中,"about.txt"文件将被原样复制。

创建模板

您必须手动创建模板。没有命令行界面可以用于此目的。但这很简单。只需在任何位置创建一个具有您模板名称的目录即可。如果您想创建一个名为"wp_config"(WordPress配置)的模板,则可以创建一个名为"/wp_config"的目录。在构建礼物时,您可以指定该目录。

启动工作台

从命令行

$ php workbench.php

这将启动Workbench应用程序的shell界面。从该shell中,您可以创建配置和礼物。所有命令的命令是

$ php workbench.php list

要退出Workbench,请按"Ctrl+d"。

创建配置

命令

$ php workbench.php config:create code

"code"参数是您新配置文件的代码。然后您将被提示以下内容

  1. 模板是什么?默认:code
  • 这里的默认值是"code"。它将与配置文件同名。
  1. 配置目录?默认:/path-to/santas-workshop/cipos/input/configs
  • 然后您输入配置文件所在的目录。默认情况下,它位于/cipos/input/configs下。

将创建配置文件。以下是一个示例

{ "code": "code", "tmpl": "code", "vars": {

}

}

"vars"为空。您需要输入这些。

构建礼物

命令

$ php workbench.php gift:build code

与config:create类似,"code"参数是配置代码。该示例将打开"code.json"配置。然后您将被提示一些内容。

  1. 配置目录?默认:/path-to/santas-workshop/cipos/input/configs
  • 输入配置目录。
  1. 模板目录?默认:/var/www/html/thadbryson/santas-workshop/cipos/input/templates
  • 输入模板文件所在的目录。
  1. 礼物目录?默认:/var/www/html/thadbryson/santas-workshop/cipos/output/gifts
  • 输入您的礼物将存放的目录。

然后您的礼物将被创建。它将从步骤1中给出的目录中读取"code.json"配置。由于此配置的"tmpl"为"code",它将在步骤2中输入的模板目录中构建一个模板为"tmpl"的礼物。该"gift"将输出到步骤3中输入的礼物目录。您的礼物的目录名将是您提供的代码、一个"-"和当前时间戳的连接。

目录和文件结构

以下是您需要了解的应用程序的两个主要目录。还有其他目录,但那些是标准的。

/cipos - 输入和输出目录。使用CIPOS架构原则。/input - 系统的任何输入。/configs - 项目的配置文件。/templates - 项目的模板目录。/output - 系统的输出。/gifts - 存放应用程序创建的礼物。/src - 应用程序源代码。workbench.php - 应用程序的命令行界面。

特别感谢

没有人、女人或项目是孤岛。我和圣诞工坊也不例外。以下是一些使此项目成为可能的事项。

PHP

https://php.ac.cn PHP是本项目的开源语言。具体支持5.4及以上版本。

PHPUnit

http://www.phpunit.de 本项目利用PHPUnit进行单元测试。为了保持安全和高效,我们尽可能地进行单元测试。

Composer

https://composer.php.ac.cn/ Composer用于依赖管理。它用于安装和更新所有第三方供应商库。

Sensio Labs

http://sensiolabs.com/en Sensio是PHP社区的主要参与者。可以说是最大和最有影响力的。我们使用的许多组件都是Sensio项目。以下列出了它们。

Twig

http://twig.sensiolabs.org/ 使用Twig进行模板化。它是一个易于学习和掌握的系统。其语法大多基于PHP。包括基本的字符串函数。

Symfony Console

https://symfony.com.cn/doc/current/components/console/index.html 命令行界面由Symfony控制台运行。

Symfony Finder

https://symfony.com.cn/doc/current/components/finder.html 为了搜索目录,我们使用 Symfony 的 Finder 组件。

Symfony 进程组件

https://symfony.com.cn/doc/current/components/process.html 为了运行类似 'cp /some-directory/of-min/here /some-directory/target-here' 的命令行进程,我们使用 Symfony 的 Process 组件。它具有许多功能和保护措施。