VitePressv2.0 + TailwindCSSv4.1 集成方案

原文链接:VitePressv2.0 + TailwindCSSv4.1 集成方案 < Ping通途说

0. 前言

最近重拾继续维护ZZZStory的想法,在工作写全栈时,前端用的是这一套基础开源的后台模板:Vue.js eCommerce Dashboard | TailAdmin - Vue.js Tailwind CSS Dashboard Template

模板有些功能和组件只有Pro版才提供源码,于是就自己尝试还原前端和实现JS逻辑。以前还觉得TailwindCSS用着别扭,动不动就要去查文档,现在一看,妈呀真香!

那么能不能给ZZZStory这个以VitePress为基础的文档站也整上TailwindCSS?文档站停更原因一个就是样式复杂,手搓CSS真不喜欢;另一个在写剧情的全流程是:找别人录制的视频,人工抄录,然后润色,最后还要处理文档样式,真的超级麻烦。

看右侧密密麻麻的文字

所以慢慢来吧,看搜索此站流量还是有的,争取持续更新为爱发电捏

1. 如何实现?

参考资料:Migrating Our VitePress Blog to Tailwind CSS Version 4 - Estéban Soubiran

网络上大多都是旧时代那一套主css一堆@,然后postcss,tailwindcss.config.js

已经不适应新时代的TailwindCSS哩!

安装VitePress和TailwindCSS

bash 复制代码
npm add -D tailwindcss @tailwindcss/vite @tailwindcss/typography vitepress@next

若想要升级现有的,直接将代码的add替换成upgrade即可。

关于VitePress的安装教程在此处:快速开始 | VitePress

关于@tailwindcss/typography作用:一个官方出品用于提供更多排版功能的插件,特别适合Markdown、纯HTML的排版。

安装完成后确保你的package.json有以下内容:

javascript 复制代码
{
  "scripts": {
    "docs:dev": "vitepress dev docs",
    "docs:build": "vitepress build docs",
    "docs:preview": "vitepress preview docs"
  },
  "devDependencies": {
    "@tailwindcss/typography": "^0.5.19",
    "@tailwindcss/vite": "^4.1.17",
    "tailwindcss": "^4.1.17",
    "vitepress": "^2.0.0-alpha.15",
  }
}

然后我们就可以前往src/docs/.vitepress/index.js中引用我们的TailwindCSS

javascript 复制代码
import { defineConfig } from "vitepress";
import Tailwind from '@tailwindcss/vite'

export default defineConfig({
  vite:{
    plugins: [Tailwind()],
  },
  
  title: "...",
  // 以及其他配置
  });
  

导入插件后,我们再前往src/docs/.vitepress/theme/custom.css(或者主CSS文件)中引用样式和typography插件:

css 复制代码
@import 'tailwindcss';
@config "../../tailwind.config.cjs";
@plugin "@tailwindcss/typography";
@source '../../../../src/**/*.md';
@source '../../../**/*.{vue,ts}';

.prose {
  --tw-prose-headings: var(--foreground-color);
  --tw-prose-body: var(--foreground-color);
}

最后记得在src/docs/.vitepress/theme/index.js导入css。

到此处应当结束了,但是我们引用了@tailwindcss/typography插件,所以原有的配置还是需要设置。

src/docs中创建tailwind.config.cjs,输入以下内容以完成基本配置:

javascript 复制代码
/** @type {import('tailwindcss').Config} */
module.exports = {

  theme: {
    extend: {
      typography: {
      },
    },
  },
}

2. 大功告成!

此时应当完成了全部项目的安装,在Markdown中使用TailwindCSS可以发现也能触发Tailwind CSS IntelliSense - Visual Studio Marketplace 插件提示

看看实际效果!

相关推荐
码上成长10 小时前
Mapbox 围栏编辑踩过的几个坑:key 串了、形状炸了、icon 挡住绿点
前端·前端框架
晚安日记wanna11 小时前
TS const 类型参数一道面试题的四层追问
前端·面试·typescript
掰头战士11 小时前
你说你折这玩意干什么-agent工作的核心,还真得好好考虑怎么折叠上下文
typescript·llm·agent
ynchyong12 小时前
VUE 中 不能将类型“R[]”分配给类型“UnwrapRefSimple<R>[]”
typescript·vue·ts·unwraprefsimple
传奇开心果编程12 小时前
【Xilem 0.4 基础语法学与练】第11课(深入篇):为什么其他 Rust 框架不是一切皆设计图
学习·rust·前端框架
掰头战士13 小时前
让散乱的工具调用成为正规军,今天咱们聊聊 Tool System管线的读写锁
typescript·llm·agent
Lyra_Infra13 小时前
从一段错误 JSON 说起:Policy、Role 与 IAM
后端·json·aigc
羑悻的小杀马特14 小时前
数据织网者:Jsoncpp库深度解析——从C++原生JSON处理到工程级数据交互实战全攻略
c++·json·交互·jsoncpp·原生库
代码什么用15 小时前
JSON一文速通
java·json
嵩风抚15 小时前
一款HK银行APP的业务+技术
android·flutter·react native·html5