在改造自己个人主页的时候,发现上一篇建站日记《用Jekyll搭建自己的静态博客》已经是十年前的文章了,那时候我还是学生,自己摸索着尝试搭建一个静态网站。如今,在 Web 开发行业已经从业数年,再回头看当年的文章,简直不忍直视,虽然谈不上漏洞百出,但字里行间无不透露着一股稚嫩的气息,然而我依然还是决定保留这篇文章作为一个时代的记号(黑历史)。
言归正传,Statamic 是什么?简单来说:Statamic 是一个基于 Laravel 架构的无数据库内容管理系统(Flat-File CMS),以灵活的结构化内容管理和极高的可定制度著称,适合构建从企业官网到复杂内容平台的现代网站。
Laravel 是近几年持续走红的现代 PHP 框架,以优雅的语法、完善的生态和高开发效率著称,逐渐成为全球最受欢迎的 Web 开发框架之一,但是在中文开发圈似乎知名度还没有很高。会选择 Statamic,主要是因为使用 Laravel 进行开发是我平时工作的主要内容之一,因此用起来会比较熟悉和顺手。另一个原因是 Statamic 相对来说比较轻量,对于一个单一用户的博客站点来说,结构相对简单,也不需要复杂的用户权限,开启无数据库模式的 Statamic 就已经足够满足所有需求,而且会提高效率。
事实上,Statamic 的一些功能,尤其是 Collections 和 Bluprints 的概念还是让我眼前一亮。因此我计划写一系列文章来介绍 Statamic 的特色和使用经验,它们也许看起来会比较像教程,但也不会写得太细,至少不会再像十年前一样把最基础的东西都全部写出来(笑)。
第一篇:安装和部署
根据官方文档,Statamic 提供了许多的安装选项。通常我们都会现在本地进行开发,因此使用 Laravel Herd 或者 直接通过 Composer 安装都是不错的选项。Herd 是 Laravel 官方退出的本地开发套装,提供开箱即用的 PHP、Nginx、数据库和工具环境,而且基本操作都可以使用图形界面,值得推荐。有需要的话可以参考官方文档进行部署。
在这里还是介绍传统的 Composer 方法。首先全局安装 Statamic CLI:
composer global require statamic/cli
然后创建一个新的项目:
statamic new project_name
安装过程中会有一些选项需要注意:
- 是否安装一个开始套装(stater kit):根据需要选择,通常我倾向于从一个空白的站点开始
- 如何存储数据:如前文所述,小型站点选择 Flat Files(不使用数据库)即可,如果想使用数据库当然也没有问题
- 是否启用 Statamic Pro:付费版本拥有更多功能,比如允许多个后台用户,免费版只能创建一个管理员用户
- 是否生成一个静态站点:静态站点可以达到最大性能,有需要的话可以之后再启用,通常文件或 redis 缓存已经足够有不错的性能了
安装完成后有两个途径可以访问主页:
- 使用 Laravel Herd 创建一个本地开发用的域名,通常是以
.test
结尾 - 或者运行
php artisan serve
进行预览
提示:建议在这个步骤先检查和修改一下 .env
文件,尤其是修改 APP_URL
字段。
属实是开箱即用了(笑)。