Astro Theme Cactus 项目教程
1. 项目的目录结构及介绍
Astro Theme Cactus 项目的目录结构如下:
astro-theme-cactus/
├── public/
│ ├── favicon.ico
│ ├── social-icons/
│ └── robots.txt
├── src/
│ ├── components/
│ ├── content/
│ │ └── post/
│ ├── styles/
│ ├── siteConfig.ts
│ └── pages/
├── .editorconfig
├── .eslintignore
├── .eslintrc.cjs
├── .example.env
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc.js
├── LICENSE
├── README.md
├── astro.config.ts
├── netlify.toml
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── tailwind.config.ts
└── tsconfig.json
目录介绍
- public/: 存放静态文件,如 favicon、社交图标和 robots.txt。
- src/: 源代码目录,包含组件、内容、样式和页面等。
- components/: 存放可重用的组件。
- content/post/: 存放博客文章。
- styles/: 存放全局样式文件。
- siteConfig.ts: 站点配置文件。
- pages/: 存放页面组件。
- .editorconfig: 编辑器配置文件。
- .eslintignore: ESLint 忽略配置。
- .eslintrc.cjs: ESLint 配置文件。
- .example.env: 环境变量示例文件。
- .gitignore: Git 忽略配置。
- .npmrc: npm 配置文件。
- .prettierignore: Prettier 忽略配置。
- .prettierrc.js: Prettier 配置文件。
- LICENSE: 项目许可证。
- README.md: 项目说明文档。
- astro.config.ts: Astro 配置文件。
- netlify.toml: Netlify 配置文件。
- package.json: 项目依赖和脚本配置。
- pnpm-lock.yaml: pnpm 锁定文件。
- postcss.config.js: PostCSS 配置文件。
- tailwind.config.ts: TailwindCSS 配置文件。
- tsconfig.json: TypeScript 配置文件。
2. 项目的启动文件介绍
项目的启动文件主要是 package.json
中的脚本部分。以下是一些关键的启动脚本:
{
"scripts": {
"dev": "astro dev",
"start": "astro dev",
"build": "astro build",
"preview": "astro preview",
"astro": "astro"
}
}
启动脚本介绍
- dev: 启动开发服务器。
- start: 启动开发服务器(与
dev
相同)。 - build: 构建生产环境版本。
- preview: 预览生产环境构建。
- astro: 直接运行 Astro CLI 命令。
3. 项目的配置文件介绍
astro.config.ts
astro.config.ts
是 Astro 项目的主要配置文件,包含项目的各种配置选项。以下是一个示例:
import { defineConfig } from 'astro/config';
import tailwind from '@astrojs/tailwind';
export default defineConfig({
integrations: [tailwind()],
site: 'https://example.com',
// 其他配置选项...
});
tailwind.config.ts
tailwind.config.ts
是 TailwindCSS 的配置文件,用于自定义 TailwindCSS 的配置。以下是一个示例:
import { defineConfig } from 'tailwindcss';
export default defineConfig({
darkMode: 'class',
theme: {
extend: {
colors: {
primary: '#3490dc',
secondary: '#ffed4a',
// 其他颜色配置...
},
},
},
// 其他配置选项...
});