Termwind 允许您使用HTML渲染器和Tailwind CSS API构建独特的美丽PHP命令行应用程序。简而言之,它就像Tailwind CSS一样,但是用于PHP命令行应用程序。
Termwind 由 Francisco Madeira 和 Nuno Maduro 创建,经过近三个月的开发,现在 Termwind v1.0 已经可用,您可以从项目开始使用。
在 GitHub 上查看仓库!
为什么?
让所有CLI开发者烦恼的许多事情之一是在内容之前添加一些边距,仅仅为了有一些呼吸空间,没有 Termwind,唯一的办法是在每一行之前添加空格,现在使用 Termwind,你只需要传递 ml-2
类,那么每行都会有 两个空格
,就像我们在浏览器中做的那样。
这个例子 展示了如何创建一个优美的CLI输出,只需要简单的 HTML 和 TailwindCSS 知识。
use function Termwind/render;
render(<<<HTML
<div class="m-1">
<div class="w-full text-center bg-green-400 text-black">
<b>Termwind</b> v1.0 Released!
</div>
<p class="w-full text-center">
After almost three months of development <b>Termwind</b> v1.0 is live.
</p>
</div>
HTML);
现在,让我们创建一个像 PEST 一样的外观。
在这个例子中,我们将利用 Laravel Framework 的 Command
和 blade
视图。
TermwindReleasedCommand.php
<?php
namespace App\\Console\\Commands;
use Illuminate\\Console\\Command;
use function Termwind\\render;
class TermwindReleasedCommand extends Command
{
protected $signature = 'termwind:released';
public function handle()
{
return render(view('termwind', [
'files' => [[
'name' => 'Tests\\TermwindReleasedTest',
'tests' => [[
'name' => 'it is ready to use!',
]],
]],
'totalTests' => 1,
'totalTime' => '0.20s',
]));
}
}
termwind.blade.php
<div class="mx-2 my-1">
@foreach ($files as $file)
<div>
<span class="px-1 font-bold bg-green text-black">PASS</span>
{{ $file['name'] }}
</div>
@foreach ($file['tests'] as $test)
<div class="text-gray-400">
<b class="text-green">✓</b> {{ $test['name'] }}
</div>
@endforeach
@endforeach
<div class="mt-1">
<span class="w-8">Tests:</span>
<b class="text-green">{{ $totalTests }} passed</b>
</div>
<div>
<span class="w-8">Time:</span>
<span>{{ $totalTime }}</span>
</div>
</div>
接下来是什么? 随着 v1.0 已准备在生产中使用,我们未来的开发将专注于改进我们的文档并提供更多用例示例。
参与进来! 这是一个社区项目,我们一直在寻找愿意 贡献 的人。
- 您可以在 GitHub 上了解更多。
- 关注我们的 Twitter: @enunomaduro,@xiCO2k。
我在Twitter描述中开玩笑说“我用HTML和CSS构建了一切”,突然我就开始工作在Termwind上了,而API是基于HTML和CSS类实现的。?