我开源了一个SaaS的Landing Page
受到@weijunext 的影响,我在啃完Next.js之后,决定开源一个landing page模板,可以拿来给自己的SaaS项目用,完全免费、自适应、支持多语言和完美的SEO。如果你也喜欢,可以给我点一个star或请我喝一瓶红牛。
Demo地址:https://landingpage.huglemon.com
Github地址:https://github.com/huglemon/inwind-landing-page
这里主要介绍一下这个landing pange的使用方式,毕竟开发角度来说实际上大部分都是参考的@weijunext 大佬的逻辑,但我也在一些细节上进行了修改,下文会有具体的介绍。
我默认你已经安装了vscode或者其他IDE、配置好了本地环境。
一,这个项目已经放在了github上,可以直接clone下来使用,clone之后记得先执行npm i,把三方的库安装一下。这个项目,我克制的只引用了DaisyUI来实现多主题、framer-motion实现动画和一个图标库、一个文字高亮。
二,打开你的IDE,找到这个项目,你需要修改的大部分配置都在 /lib 和 /locales 这两个文件夹下,前者包含了网站的基础配置信息和像feature列表等列表内容,后者包含了所有的语言包。你只需要对应修改即可。
三,如果你需要使用google的访问分析,你需要找到 /components/common/head.js ,将代码取消注释后,修改两处G-XXXXXX部分为你的代码。
四,如果你不喜欢现在的两个主题,可以到 DaisyUI 选择两个新的主题进行替换,建议直接在全局搜索 coporateh和bussiness,前者对应浅色、后者对应深色,全局替换之后即可完成主题的更换。其他自定义主题事项,也可以查看官方文档学习。
五,关于多语言方面,我在weijunext原本的基础上进行了修改,实现了navbar的多语言和子目录多语言,即用户在任何语言下,访问二级目录,比如 /zh/blog 时,切换语言,则路由会修改为 /新语言/blog。
我这么写的原因是我最近在做B2B的独立站,我的客户需求和landing page不同,landing page只是简单的一个页面,确实是可以把所有语言包都放在本地,甚至都不需要做服务器的交互,比如获取列表、详情之类的操作。
而只要是需求从后端获得内容时,就得考虑当前用户语言是什么,后端返回的语言要与之对应,否则多语言在这个情况下就失去了意义。
所以,此时,在发送请求给后端的时候,只需要把语言参数也发送回去,后端进行对应的处理即可,比如我就是接入了ai来完成自动翻译,实现了对所有语言的支持。
六,最后就是上线部分,直接在终端里通过vercel的命令完成部署即可,这部分可以参考vercel的一些文档,有时候真觉得国外一些平台真的是太良心了……
最后的最后,如果你还有什么问题,可以发邮件给我 karma.zhao@gmail.com ,也可以在右侧找到我的微信或Twitter和我联系。
如果这个项目对你有帮助,可以请我喝一罐red mer🐮 😄
Demo地址:https://landingpage.huglemon.com
Github地址:https://github.com/huglemon/inwind-landing-page