还在纠结博客框架?这个 Vue 驱动的神器,让你像写笔记一样做网站
不知道你有没有过这种经历:兴冲冲地想搭一个个人的技术博客,结果光是在 Hexo、Hugo、Gatsby 之间做选择就耗光了所有力气。好不容易选了一个,又要研究主题、配置各种插件,等一切都折腾完,当初想写点什么的热情早就凉了一大半。
如果这戳中了你的痛点,那今天介绍的开源项目——VuePress,可能就是你的“救星”。它打出的口号非常直接:极简的 Vue 驱动静态网站生成器。说人话就是,它能让你几乎只专注于用 Markdown 写内容,然后一个命令,一个带有导航和搜索功能的文档网站就出来了。
它到底解决了什么?
其实,VuePress 的设计初衷并不是为了和 Hexo 这类博客框架抢地盘,它的“第一志愿”是为你的技术项目写文档。
想象一下:你花了一个周末,写了个很酷的开源库。代码完美,逻辑精妙,但一想到还得给它写份配套的说明文档,瞬间就头大了。用纯 HTML 写?太麻烦。用 GitBook?界面有点过时了。这时候,VuePress 的价值就体现出来了。它让写文档这件事,回到了“写”本身,而不是“搭”。
Vue 的“内力”,Markdown 的“招式”
这个项目的核心特点,就像是一个会打“内家拳”的文档高手:
-
你用 Markdown 写,它给你一个 SPA 应用:这是最爽的一点。你放在 docs 文件夹里的每一个 .md 文件,VuePress 都会把它变成一个个页面。更酷的是,整个站点是一个单页应用(SPA),点击内部链接时丝般顺滑,完全不像在浏览一个个生硬的静态页面。
-
在 Markdown 里直接“施展” Vue 魔法:这一点像开了挂。它是认真的,没有夸大。你可以在 .md 文件里直接写
{{ 1 + 1 }},页面上就会乖乖显示“2”。所有 Vue 的指令、组件,甚至你可以把复杂的图表、可视化元素直接做成 Vue 组件,然后在 Markdown 里像搭积木一样调用它。这意味着你的文档可以是活的、可交互的。 -
内置功能,开箱即用:它很懂你,很多实用功能都提前塞给你了。比如自动的侧边栏导航、非常丝滑的搜索功能(甚至支持你的标题和 h2/h3 层级搜索),还有一些可选的 Markdown 扩展,像数学公式、任务列表、流程图等,基本属于“拎包入住”。
-
“换皮肤”也很简单:官方主题的设计简洁现代,对技术文档来说刚刚好。如果你想搞个性化,社区里也有大把的主题可以换。当然,你完全可以用 Vue 的生态知识,自己从头定制一个独一无二的“家”。
有手就行,跑一个试试
环境要求很简单:Node.js (>= 8)。然后在你的项目文件夹下,三行命令就让它跑起来:
# 1. 安装
npm install -g vuepress
# 2. 创建一个文档文件夹并写点东西
mkdir docs && echo '# Hello VuePress' > docs/README.md
# 3. 让它飞!
vuepress dev docs
看到控制台输出的本地地址(通常是 http://localhost:8080)后,在浏览器里打开它。一个包含你刚才写的那句“Hello VuePress”的、带有基本导航栏的网站就诞生了。你再也不用去处理复杂的配置,此刻,你只想赶紧多写几篇文章填满它。
等等,这个项目好像有点“历史”?
如果你现在访问它的 GitHub 仓库,会发现官方公告说 VuePress v1 已进入维护模式,并推荐了两个新的“继任者”:VitePress(官方团队支持,基于 Vue 3 + Vite)和 VuePress v2+(社区支持)。
但这并不意味着 VuePress 过时了。恰恰相反,它的生态极其成熟,有大量现成的主题和插件,对于一个想快速、稳定地搭建内容站点的人来说,它依然是完美的选择。尤其当你需要维护一些老项目文档,或者单纯喜欢它这种“笨拙”的可靠感时。
心动了吗?
VuePress 用一种极优雅的方式,把 Vue 的快乐还给了 Markdown 写作者。如果你还没试过,现在就是打开它的官网文档玩一玩的最佳时机。
也欢迎去它的 GitHub 仓库 https://github.com/vuejs/vuepress 逛逛,点个 Star 收藏一下,说不定下次你的灵感之作,就会在它的帮助下诞生于互联网之上。如果你是个动手达人,社区也永远欢迎你的贡献与分享。