这是 Laravel.io 社区门户的存储库。该代码完全开源,并根据 MIT 许可证获得许可。我们欢迎您的贡献,但我们鼓励您在创建问题或发送拉取请求之前阅读贡献指南。请阅读下面的安装指南,开始在您的计算机上设置该应用程序。
我们要感谢这些出色的公司对我们的赞助。如果您有兴趣成为赞助商,请访问 Laravel.io GitHub 赞助商页面。
事件
锻造
使者
捉摸
廷克韦尔
拜雷斯·德夫
N-iX
开始安装需要以下工具。
PHP 8.3
作曲家
国家公共管理
代客泊车
请注意,您可以随意将
~/Sites/laravel.io
位置调整为计算机上您想要的任何目录。执行此操作时,请务必在所需目录中运行valet link
命令。
使用git clone [email protected]:laravelio/laravel.io.git ~/Sites/laravel.io
克隆此存储库
运行composer install
来安装PHP依赖项
设置一个名为laravel
的本地数据库
运行composer setup
来设置应用程序
设置一个有效的电子邮件驱动程序,例如 Mailtrap
运行valet link
将网站链接到测试网址
在 MySQL 中创建一个testing
数据库,以便您可以运行测试套件
从下面配置(可选)功能
现在,您可以通过访问 http://laravel.io.test 在浏览器中访问该应用程序。如果您播种了数据库,您可以使用testing
和password
登录测试帐户。
要使 GitHub 身份验证在本地工作,您需要在 GitHub 上注册新的 OAuth 应用程序。使用http://laravel.io.test
作为主页 url,使用http://laravel.io.test/auth/github
作为回调 url。创建应用程序后,请在下面的环境变量中填写.env
文件中的 ID 和密钥。您现在应该能够使用 GitHub 进行身份验证。
GITHUB_ID= GITHUB_SECRET= GITHUB_URL=http://laravel.io.test/auth/github
要在本地运行 Algolia 搜索,您需要注册一个新帐户并创建一个名为threads
索引。 Algolia 有一个免费套餐,可以满足开发环境所需的所有要求。现在更新.env
文件中的以下变量。应用程序 ID 和密钥可以在 Algoila UI 的API Keys
部分找到。
SCOUT_DRIVER=algolia SCOUT_QUEUE=true ALGOLIA_APP_ID= ALGOLIA_SECRET="Use the Write API Key" VITE_ALGOLIA_APP_ID="${ALGOLIA_APP_ID}" VITE_ALGOLIA_SECRET="Use the Search API Key" VITE_ALGOLIA_THREADS_INDEX=threads VITE_ALGOLIA_ARTICLES_INDEX=articles VITE_ALGOLIA_USERS_INDEX=users
为了对现有线程建立索引,请运行以下命令:
php artisan scout:导入 AppModelsThread
新线程将自动添加到索引中,并且更新的线程将自动同步。如果您需要刷新索引并重新开始,可以运行以下命令:
php artisan scout:flush 应用程序模型线程
要使已发布的文章能够在 X 上自动共享,您需要创建一个应用程序。创建应用程序后,更新.env
文件中的以下变量。消费者密钥和秘密以及访问令牌和秘密可以在 X 开发人员 UI 的Keys and tokens
部分中找到。
TWITTER_CONSUMER_KEY= TWITTER_CONSUMER_SECRET= TWITTER_ACCESS_TOKEN= TWITTER_ACCESS_SECRET=
要对 Bluesky 执行相同的操作,您只需使用您的登录名和密码设置应用程序密钥:
BLUESKY_USERNAME= BLUESKY_PASSWORD=
批准的文章按照提交批准的顺序共享。文章每天共享两次,时间为 UTC 时间 14:00 和 18:00。文章一旦被分享,就不会再被分享。
Laravel.io 可以通过 Telegram 通知维护者新提交的文章。为此,您需要设置 Telegram 机器人并获取令牌。然后,配置您要将新文章消息发送到的频道。
TELEGRAM_BOT_TOKEN= TELEGRAM_CHANNEL=
要启用文章的查看计数,您需要注册 Fathom Analytics 帐户并将其安装在网站上。然后,您需要创建一个 API 令牌并查找您的站点 ID,然后再更新.env
文件中的以下环境变量。
FATHOM_SITE_ID= FATHOM_TOKEN=
为了确保文章和用户标题图像同步到数据库中,我们需要从 Unsplash 设置访问密钥。请注意,您的 Unsplash 应用程序需要生产访问权限。
UNSPLASH_ACCESS_KEY=
之后,您可以将 Unsplash 照片 ID 添加到hero_image_id
列中的任何文章行,并运行同步命令来获取图像 url 和作者数据:
php artisan lio:同步文章图像
命令 | 描述 |
---|---|
vendor/bin/pest -p | 通过并行执行来运行测试 |
php artisan migrate:fresh --seed | 重置数据库 |
npm run dev | 构建并观察 CSS 和 JS 文件的更改 |
Laravel.io 门户目前由 Dries Vints 和 Joe Dixon 维护。如果您有任何疑问,请随时在此存储库上创建问题。
请在创建问题或发送拉取请求之前阅读贡献指南。
请在贡献或参与讨论之前阅读我们的行为准则。
请查看我们的安全政策,了解如何报告安全漏洞。
麻省理工学院许可证。请参阅许可证文件以获取更多信息。