vaweto/laravel-medium

此软件包可帮助您获取 medium.com 的最新动态


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

使用此软件包,您可以获取任何有效 Medium 标签或用户的 rss 源,以便在您的应用程序中创建动态。您可以使用数据库存储您想要关注的动态,或者通过指定动态名称和动态类型(用户或标签)进行硬编码调用。

以下是一个快速示例

用法

硬编码获取特定动态

use Vaweto\Medium\Facades\Medium;
use Vaweto\Medium\Definitions\MediumFeedType;

$articles = Medium::getFeed('laravel', MediumFeedType::TAG)->getArticles();

从数据库获取特定动态

use Vaweto\Medium\Facades\Medium;
use Vaweto\Medium\Models\MediumFeed;

$mediumFeed = MediumFeed::query()->first();
$articles = Medium::getFeed(mediumFeed)->getArticles();

从数据库获取多个动态

use Vaweto\Medium\Facades\Medium;
use Vaweto\Medium\Models\MediumFeed;

$mediumFeeds = MediumFeed::query()->all();
$articles = Medium::all(mediumFeeds);

在控制器中使用它

use Vaweto\Medium\Facades\Medium;
use Vaweto\Medium\Models\MediumFeed;

class MediumFeedControllerController
{
    public function __invoke(Invoice $invoice)
    {
        $articles = Medium::all(MediumFeed::query()->all());

        return view('your-feed-blade', compact('articles'));
    }
}

在 blade 中使用

@foreach ($articles as $article)
    <div>
        <h2>{{ $article->title }}</h2>
        <p>{{ $article->pubDate->toDateTimeString() }}</p>
        <a href="{{ $article->guid }}" target="_blank">Read More</a>
    </div>
@endforeach

安装

您可以通过 composer 安装此软件包

composer require vaweto/laravel-medium

您可以使用以下命令发布和运行迁移

php artisan vendor:publish --tag="medium-migrations"
php artisan migrate

您可以使用以下命令发布配置文件

php artisan vendor:publish --tag="medium-config"

这是已发布配置文件的内容

return [
    'api_token' => env('MEDIUM_API_TOKEN'),
    'feed_urls' => [
        'user' => 'https://medium.com/feed/',
        'tag' => 'https://medium.com/feed/tag/',
    ],
    'caching' => [
        'enabled' => env('MEDIUM_CACHING', false),
        'time_in_seconds' => env('MEDIUM_CACHING_TIME_IN_SECONDS', 120),
    ],
];

变更日志

请参阅 变更日志 了解最近更改的更多信息。

贡献

请参阅 贡献指南 了解详细信息。

安全漏洞

请参阅 我们的安全策略 了解如何报告安全漏洞。

致谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。