Vuepress 2从0-1保姆级入门教程——文档配置篇

在这里插入图片描述

Vuepress 2 专栏目录【已完结】

1. 入门阶段

  1. Vuepress 2从0-1保姆级入门教程——环境配置篇
  2. Vuepress 2从0-1保姆级入门教程——安装流程篇
  3. Vuepress 2从0-1保姆级入门教程——文档配置篇
  4. Vuepress 2从0-1保姆级入门教程——主题与部署

2.进阶阶段

  1. Vuepress 2从0-1保姆级进阶教程——全文搜索篇
  2. Vuepress 2从0-1保姆级进阶教程——美化与模版
  3. Vuepress 2从0-1保姆级进阶教程——标准化流程

更新日志

  • Markdown引用样式改为图片,更加醒目
  • config.ts示例代码修改
  • 更新到vuepress2.0.0-rc.13,默认主题2.0.0-rc.35

在这里插入图片描述

教程仓库:https://gitee.com/passwordgloo/comet-tutorial
蓝奏云:https://wwk.lanzouo.com/b04x8f3hg
密码:666

通过Vuepress 2 安装流程篇,我们成功搭建一个主页附带子版块页面的文档项目,下面我们将先细致分析配置结构,然后再一步步完善config.ts文件

一、配置文件夹结构

欲求其解,必窥其内。文档项目配置📁.vuepress包含以下内容

📁.vuepress
├── 📂 .cache git已忽略
│  └──……
├── 📂 public 静态文件夹
│   └── comet.png
├── 📂 .temp git已忽略
│  ├── internal
│   │   ├── clientConfigs.js客户端配置
│   │   ├── pagesComponents.js页面组件
│   │   ├── pagesData.js
│   │   ├── pagesRoutes.js 页面路由,不明白的看安装篇-路由
│   │   ├──siteData.js
│   │   └── themeData.js
│   ├── pages
│   │   ├── 404.html.js
│   │   ├── 404.html.vue
│   │   ├── C
│   │   │   ├── index.html.js 子模块首页
│   │   │   └── index.html.vue
│   │   ├── index.html.js首页,也就是站点README.md内容
│   │   └── index.html.vue
│   ├── styles
│   │   ├── index.scss样式文件
│   │   └── palette.scss
│   └── vite-root
│       └── index.html
└── 📋 config.ts 亟待完成的配置文件

我们看到每个Markdown文件都解析为.js.vue后缀文件,唯独缺失config.ts配置文件,里面包含导航栏、侧边栏、首页logo等设置,而这正是我们需要做的

二、配置文件基本结构

import { defaultTheme } from '@vuepress/theme-default'
import { defineUserConfig } from 'vuepress/cli'
import { viteBundler } from '@vuepress/bundler-vite'

export default defineUserConfig({
		//favicon
		//站点语言设置
    theme: defaultTheme({
    	//logo
		//repo 仓库地址
		//主题语言设置
        //默认主题其他配置请写在这里!!!
    })
	bundler: viteBundler(),
})

三、配置文件设置选项

(一)标签栏小图标支持

favicon.ico(favourite icon缩写)是网站收藏夹图标,图片本地地址在public文件夹内,图片地址也可选填网络地址

在这里插入图片描述

1️⃣ 请先将favicon.ico文件放到📁 public内
2️⃣ 设置小图标位置

head: [['link', { rel: 'icon', href: '/favicon.ico' }]],

3️⃣ 预览

pnpm docs:dev

在这里插入图片描述

(二)仓库设置

在这里插入图片描述

repo: 'username/repoName',  
//默认识别为GitHub用户名和仓库名

预览

pnpm docs:dev

在这里插入图片描述

(三)Logo

1️⃣ 请先将Logo文件放到📁 public文件夹里
2️⃣ 设置logo文件位置,支持在线链接

logo: 'comet.png', //文件在public文件夹内

3️⃣ 预览

pnpm docs:dev

在这里插入图片描述

(四)多语言设置

1. 站点语言设置

在这里插入图片描述

在这里插入图片描述

  lang: 'zh-CN',
  // 默认站点语言为英文
  // lang: 'en-US',

  locales: {
    '/': {
        selectLanguageName: '简体中文',
        title: '彗星文档',
        description: '繁星似海 熠熠生辉',
    },
    '/en/': {
        selectLanguageName: 'English',
        title: 'Comet documents',
        description: 'my book',
    },
  },

在这里插入图片描述

2. 主题语言配置

Vuepress只提供基础语言功能,把语言名称,文本提示交给主题设置,方便用户主题自定义

请定位到下列代码

 theme: defaultTheme({
        // 以下所有配置写在这里!!!
    })

然后输入

       locales: {
            '/': {
                selectLanguageName: '简体中文',
                selectLanguageText: '选择语言',
            },
            '/en/': {
                selectLanguageName: 'English',
                selectLanguageText: 'Language',
            }
        }

在这里插入图片描述

(五)导航栏

考虑到日后config.ts文件臃肿问题,需要单独拆分

📂.vuepress新建📂navbar,用于存放特定语言导航条配置,然后分别新建以下文件

1.zh.ts

大家玩过俄罗斯套娃吗?名称+链接(本地或在线均可)组成一个条目(item),两层嵌套中text表示区域标题,用children嵌套多个条目,无论是navbar还是sidebar都适用。

在这里插入图片描述

export const zhNavbar = [
    //单层
    {
        text: '主页',
        link: '/',
        // 该元素将一直处于激活状态
        activeMatch: '/',
    },
    //两层嵌套
    {
        text: '语言',
        children:
            [
                {
                    text: '程序',
                    children:
                        [
                            { text: 'C', link: 'https://code.iglooblog.top/c/1.html' },
                            { text: 'Js', link: '/js/' }
                        ]
                },
                {
                    text: '标记',
                    children:
                        [
                            { text: 'HTML', link: 'https://code.iglooblog.top/html/1.html' },
                            { text: 'Markdown', link: 'https://1m29yg5p67.k.topthink.com/@markdown' },
                            { text: 'CSS', link: 'https://code.iglooblog.top/css/1.html' }
                        ]
                },
            ],
    },
    //多个条目
    {
        text: '课程',
        children: [
            { text: '政治', link: 'politics' },
            { text: '英语', link: 'english' }
        ],
    },
    {
        text: '关于',
        link: '/about',
    },
    
    // 字符串 - 页面文件路径
    // '/Guide/README.md',
]

在这里插入图片描述

2.en.ts

如果不要英文导航条,可以空着

export const enNavbar = [ 
]

3.switch.ts

在这里插入图片描述

export * from './en.js'
export * from './zh.js'

在这里插入图片描述

4.引入switch.ts

回到config.ts文件中,修改为图中选中代码

import {zhNavbar,enNavbar,} from './navbar/switch.js'

在这里插入图片描述

5.预览

pnpm docs:dev

在这里插入图片描述

(六)侧边栏

请复制粘贴以下链接下载js.zip并解压到📁docs,否则无法展示侧边栏效果

蓝奏云:https://wwk.lanzouo.com/b04x8f3hg
密码:666

参照导航条做法,📂.vuepress新建📂sidebar,用于存放特定语言侧边栏配置,然后分别新建以下文件

在这里插入图片描述

1.zh.ts

export const zhSidebar = {
    '/js/': [
        {
            text: '目录',
            //可折叠侧边栏
            collapsible: true,
            children: [
                {
                    text:'变量',
                    link:'var'
                },
                {
                    text:'运算符',
                    link:'operator'
                },
                {
                    text:'数据类型',
                    link:'dataType'
                },
                {
                    text:'数组',
                    link:'array'
                },
                {
                    text:'表达式与语句',
                    link:'sentence'
                },
                ],
        }
    ],
}

2.en.ts

export const enSidebar = {
}

3.switch.ts

export * from './en.js'
export * from './zh.js'

4.引入switch.ts

回到config.ts文件中,修改为图中选中代码

import {zhSidebar,enSidebar,} from './sidebar/switch.js'

在这里插入图片描述

5.预览

pnpm docs:dev

点击导航栏里的js,预览效果

在这里插入图片描述
在这里插入图片描述

(七)404页面与返回主页

notFound:['没找到','网页走丢了'],
backToHome:'返回首页'

在这里插入图片描述

预览

pnpm docs:dev

在这里插入图片描述

四、示例

上文已给出导航条和侧边栏代码,编辑完成后的config.ts⬇️

import { defaultTheme } from '@vuepress/theme-default'
import { defineUserConfig } from 'vuepress/cli'
import { viteBundler } from '@vuepress/bundler-vite'
import {zhNavbar,enNavbar,} from './navbar/switch.js'
import {zhSidebar,enSidebar,} from './sidebar/switch.js'

export default defineUserConfig({

  head: [['link', { rel: 'icon', href: '/favicon.ico' }]],


  lang: 'zh-CN',
  // 默认站点语言为英文
  // lang: 'en-US',

  locales: {
    '/': {
        selectLanguageName: '简体中文',
        title: '彗星文档',
        description: '繁星似海 熠熠生辉',
    },
    '/en/': {
        selectLanguageName: 'English',
        title: 'Comet documents',
        description: 'my book',
  
    },
  },

  theme: defaultTheme({
    logo: 'comet.png',
    repo:'passwordgloo/comet-doc',
    locales: {
      '/': {
          selectLanguageName: '简体中文',
          selectLanguageText: '选择语言',
          navbar:zhNavbar,
          sidebar:zhSidebar,
          notFound:['没找到','网页走丢了'],
          backToHome:'返回首页'
      },
      '/en/': {
          selectLanguageName: 'English',
          selectLanguageText: 'Language',
          navbar:enNavbar,
          sidebar:enSidebar
      }
    },
  }),

  bundler: viteBundler(),
})

  • 9
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
当涉及到 Vue DHTMLX-Gantt 导出 Excel 的保姆级完整教程时,以下是一步一步的指南: 1. 确保您的项目中已经安装了 Vue 和 DHTMLX-Gantt。如果尚未安装,请使用以下命令进行安装: ```bash npm install vue dhtmlx-gantt ``` 2. 在您的 Vue 组件中引入所需的库和样式: ```javascript import 'dhtmlx-gantt'; import 'dhtmlx-gantt/codebase/dhtmlxgantt.css'; ``` 3. 创建一个 Vue 组件,并在模板中添加一个 Gantt 图表和一个按钮: ```html <template> <div ref="ganttContainer" style="width: 100%; height: 600px;"></div> <button @click="exportData">导出 Excel</button> </template> <script> import * as XLSX from 'xlsx'; import FileSaver from 'file-saver'; export default { mounted() { const ganttContainer = this.$refs.ganttContainer; gantt.init(ganttContainer); // 设置 Gantt 图表的配置和数据 // 示例数据 const tasks = [ { id: 1, text: '任务1', start_date: '2022-01-01', duration: 5, progress: 0.5 }, { id: 2, text: '任务2', start_date: '2022-01-06', duration: 4, progress: 0.2 }, // 其他任务... ]; gantt.parse({ data: tasks }); }, methods: { exportData() { const gantt = this.$refs.ganttContainer.$gantt; const tasks = gantt.getDatastore('task').getItems(); // 将任务数据转换为 Excel 数据格式 const data = tasks.map((task) => { return { id: task.id, text: task.text, start_date: task.start_date, duration: task.duration, progress: task.progress, }; }); // 创建 Excel 文件 const worksheet = XLSX.utils.json_to_sheet(data); const workbook = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(workbook, worksheet, 'Gantt Data'); const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' }); const excelData = new Blob([excelBuffer], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); // 下载 Excel 文件 FileSaver.saveAs(excelData, 'gantt_data.xlsx'); }, }, }; </script> <style> /* 可选的样式 */ </style> ``` 4. 在上述示例代码中,需要注意以下部分: - 在 `mounted` 钩子中,使用 `gantt.init(ganttContainer)` 初始化 Gantt 图表,并根据您的需求设置其配置和数据。 - `exportData` 方法用于将 Gantt 图表数据导出到 Excel。确保在 `exportData` 方法中的 `this.$refs.ganttContainer.$gantt` 是对 Gantt 图表组件的正确引用。 - 点击 "导出 Excel" 按钮时,将会生成一个名为 `gantt_data.xlsx` 的 Excel 文件,其中包含了 Gantt 图表的数据。 这就是使用 Vue DHTMLX-Gantt 导出 Excel 的保姆级完整教程。希望对您有所帮助!如果您有任何其他问题,请随时提问。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值