vaweto / laravel-medium
此软件包可帮助您获取 medium.com 的最新动态
1.0.0
2024-01-02 18:41 UTC
Requires
- php: ^8.1
- ext-simplexml: *
- guzzlehttp/guzzle: ^7.8
- illuminate/contracts: ^10.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- nunomaduro/larastan: ^2.0.1
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.20
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- phpstan/extension-installer: ^1.1
- phpstan/phpstan-deprecation-rules: ^1.0
- phpstan/phpstan-phpunit: ^1.0
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2024-09-29 23:00:40 UTC
README
使用此软件包,您可以获取任何有效 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)。请参阅 许可证文件 了解更多信息。