codeenigma / jsonpopulate
一个用于从现有网页中填充JSON数据的PHP工具。
Requires
- php: ^7.0
- guzzlehttp/guzzle: ^6.3
- symfony/config: ^3.3
- symfony/http-foundation: ^3.2
- symfony/yaml: ^3.3
- twig/twig: ^1.23 || ^2.0
This package is not auto-updated.
Last update: 2024-09-29 06:02:28 UTC
README
jsonPopulate
一个用于从现有网页中填充JSON数据的PHP工具。这允许使用相关内容而不是“占位符”内容来用于HTML原型(PatternLab和类似工具)。
要求
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上公开访问。永远不要!
