欢迎使用新的 Laravel News
发布于 作者: Eric L. Barnes
在过去几个月里,我们一直在努力开发 Laravel News 的下一个版本,我们很高兴在过去周末发布了它。随着发布,我们想发布一个官方公告,并谈谈对该网站进行的一些更改和改进。
新设计
这个全新的设计是由 Zaengle 创建的,目标是使他们也 在 2016 年创建的 之前的设计现代化。徽标也进行了一些不错的改进。
他们还在技术方面提供了帮助,将该网站带到了 Statamic 并全面开发了前端。有关前端堆栈的更多详细信息,请查看 他们的文章。
Statamic
之前的 Laravel News 版本由 WordPress 提供支持,然后所有新帖子都会通过 webhooks 推送到 Laravel 应用程序中。这意味着我需要管理和维护两个系统,因此在这个版本中,我想将所有内容都整合到一个 Laravel 应用程序中。这就是我选择 Statamic 的原因,因为你仍然可以在 CMS 之外利用所有 Laravel 功能。
Statamic 为所有文章提供支持,然后社区链接、每日新闻稿以及所有其他自定义后端功能都由自定义 Laravel 代码提供支持。
部署
我们使用一个通过 Laravel Forge 管理的单一 Linode 实例,前面有 Cloudflare。这是我们多年来一直使用的相同设置,拥有一个没有太多活动部件的简单结构非常不错。
对于部署,我们使用 Forge 自动部署功能,然后它只是在部署脚本中运行一些基本的缓存命令。
git pull origin maincomposer install --optimize-autoloader --no-devphp artisan config:cachephp artisan route:cachephp artisan cache:clearphp please stache:refresh
我们唯一没有在部署时执行的操作是清除所有静态缓存,因为我们有太多文件,经常清除它们并不理想。只有在进行设计修复或改进时才清除它们。
缓存
为了使网站超级快,我们利用 Statamic 的静态缓存系统,并进行了一些 Statamic 团队帮助我的独特定制,以及 Cloudflare、Imigx 和 Turbolinks 的混合。
静态缓存的设置方式是,一旦有人加载页面,它就会被存储为静态 HTML 文件,而 Nginx 始终尝试先加载静态文件,然后如果找不到,则回退到从 PHP 中提取它。
即使使用静态缓存,我们也拥有大量的页面。超过 2500 篇文章、十几个类别、无数标签、所有这些页面上的分页等等,由于此原因,缓存变得非常大,而且我们不建议一直清除它。相反,我们只在必要时清除它。
例如,当发布新帖子时,首页和类别页面的缓存会被清除。其余的我们保持不变。当然,这意味着某些应该动态的内容永远不会改变,但我们将通过使用 JavaScript 来动态加载这些内容来修复它们。
使用的软件
以下列出了我们用于该网站的所有软件和软件包。
- Statamic
- Linode
- Cloudflare
- Laravel Forge 使服务器管理变得轻而易举。
- Fathom Analytics 从 Google Analytics 切换过来。以隐私为首要原则!
- Imigx 用于显示所有图像。
- Algolia 用于搜索结果。
- Laravel Fortify 用于前端身份验证。
总结
我们希望你喜欢新的设计,就像我们一样,我们将会继续改进并修复出现的问题。在所有重大发布中,都很难做到完美,并注意到任何错误,请告知我们。