codeenigma/jsonpopulate

一个用于从现有网页中填充JSON数据的PHP工具。

安装: 702

依赖关系: 0

建议者: 0

安全: 0

星星: 0

关注者: 11

分支: 0

开放问题: 0

类型:项目

1.1.0 2019-01-21 15:26 UTC

This package is not auto-updated.

Last update: 2024-09-29 06:02:28 UTC


README

Build Status

jsonPopulate

一个用于从现有网页中填充JSON数据的PHP工具。这允许使用相关内容而不是“占位符”内容来用于HTML原型(PatternLab和类似工具)。

JsonPopulate screencast

要求

jsonPopulate 需要 PHP 7.0 或更高版本。

安装

使用 composer 克隆并安装依赖项,运行

composer install

或者,您可以将其集成到自己的项目中

composer require --dev codeenigma/jsonpopulate

设置

服务器

最简单的是使用PHP内置的服务器

cd www && php -S localhost:8000

或者在某种虚拟机内部,使用适当的IP,例如对于ce-vm

cd /vagrant/www && php -S 192.168.56.4:8000

如果您不确定或有问题,可以使用0.0.0.0 IP监听所有地址。这意味着它可能对同一网络上的其他人可访问,因此可能是一个安全问题。

cd /vagrant/www && php -S 0.0.0.0:8000

配置

在jsonpopulate代码库的父文件夹中某处创建一个jsonpopulate.yml文件。查看示例文件夹以了解语法,它基本上是“源”JSON文件与“URL”目标的一对一匹配。

注意1:配置文件可以直接位于jsonpopulate代码库的任何父目录中

例如,如果jsonpopulate位于

~/Projects/examples/prototype/tools/jsonpopulate

则您的配置文件可以位于以下位置之一

~/Projects/examples/prototype/tools/jsonpopulate.yml

~/Projects/examples/prototype/jsonpopulate.yml

~/Projects/examples/jsonpopulate.yml

~/Projects/jsonpopulate.yml

...

但不能位于例如

~/Projects/examples/prototype/config/jsonpopulate.yml

注意2:源文件的路径相对于配置文件

使用上面的示例,假设配置文件位于

~/Projects/examples/prototype/jsonpopulate.yml

并且JSON文件位于

~/Projects/examples/prototype/pattern-lab/source/data.json

则在jsonpopulate中的该文件的“源”为“pattern-lab/source/data.json”

使用方法

加载

访问 https://:8000。您应该看到

  • 顶部可用的页面列表
  • 一个双窗格窗口,其中
    • 左边的JSON值作为文本字段
    • 匹配的URL作为假iframe加载到右边

设置值

首先在右边的访问URL上的支持的元素(链接、图片、...)上单击。然后单击您想要填充/覆盖的json值:您应该会看到一个来自先前单击元素的可能的变体下拉列表。

导航

为了更容易找到您想要的元素,iframe还允许您在内部页面之间导航。为了绕过点击劫持并实际上跟随链接,在单击时按住“Alt”键。

已知问题

  • 由于跨域/CORS限制、iframe“逃逸”脚本、机器人检测措施等,源URL的渲染可能有很大的不同。一些域名(通常是Sucuri或类似)将完全无法加载,一些将丢失一些字体,而其他的一些将受到一些JavaScript部分部分执行的轻微影响。
  • 目前只支持少数元素(a、img、p、span、submit)。

安全

应该是明显的,但这是为本地开发用途而设计的。永远不要在公共服务器上的http上公开访问。永远不要!