支持 Laravel.io 的持续开发 →

🍃 Termwind v1.0 发布!

6 Dec, 2021 2 min read

Termwind Released!

Termwind 允许您使用HTML渲染器和Tailwind CSS API构建独特的美丽PHP命令行应用程序。简而言之,它就像Tailwind CSS一样,但是用于PHP命令行应用程序。

Termwind 由 Francisco MadeiraNuno Maduro 创建,经过近三个月的开发,现在 Termwind v1.0 已经可用,您可以从项目开始使用。

GitHub 上查看仓库!

为什么?

让所有CLI开发者烦恼的许多事情之一是在内容之前添加一些边距,仅仅为了有一些呼吸空间,没有 Termwind,唯一的办法是在每一行之前添加空格,现在使用 Termwind,你只需要传递 ml-2 类,那么每行都会有 两个空格,就像我们在浏览器中做的那样。

这个例子 展示了如何创建一个优美的CLI输出,只需要简单的 HTMLTailwindCSS 知识。

Termwind Released!

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 FrameworkCommandblade 视图。

PEST Example

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 已准备在生产中使用,我们未来的开发将专注于改进我们的文档并提供更多用例示例。

参与进来! 这是一个社区项目,我们一直在寻找愿意 贡献 的人。

我在Twitter描述中开玩笑说“我用HTML和CSS构建了一切”,突然我就开始工作在Termwind上了,而API是基于HTML和CSS类实现的。?

最后更新在1年前。
0
喜欢这篇文章?让作者知道并为他们鼓掌!

你可能还会喜欢这些文章

2024年3月11日

如何使用Larastan让你的Laravel应用从0到9

在Laravel应用执行之前发现错误是可能的,归功于Larastan,它...

阅读文章
2024年7月19日

在不使用属性的情况下标准化API响应

我注意到大多数用于API响应的库都是使用属性实现的,并且...

阅读文章
2024年7月17日

在您的Laravel项目中通过Discord通知收集反馈

如何在Laravel项目中创建反馈模块,并在收到消息时通过Discord接收通知...

阅读文章

我们想要感谢这些 出色的公司 执我们

您的标志在哪里?

Laravel.io

解决问题、知识分享和社区建设的Laravel门户。

© 2024 Laravel.io - 版权所有。