web前端|Vue.js
VuePress,Github Pages,博客
web前端-Vue.js
本篇文章给大家分享一个VuePress实战,通过本文教你如何快速用VuePress + Github Pages搭建一个博客,希望对大家有所帮助。
游戏导航 源码,ubuntu 挂载硬盘改名,异乡爬虫真实视频,ichartjs php,汉中seo培训lzw
小蚂蚁门户7.3源码,codeimg vscode,ubuntu ntp,tomcat配置ssl,sqlite 查询时间,摄影网页设计的概述,laravel 数据库优化,网站选服务器文件,页面懒加载插件,前端框架,爬虫新浪微博,php 爬虫,seo关键词价格,消息通知springboot,html 非常用标签,网站日期选择器,匿名留言网页源码,织梦网页模板,公司网站后台,html5手机页面标题栏,樱桃企业网站管理系统,占卜程序源代码lzw
最近完成了 TypeScript 最新官方文档 Hanbook 的翻译,一共十四篇,堪称国内的最好 TypeScript4 入门教学之一。为了方便大家阅读,我用 VuePress + Github Pages 搭建了博客,博客效果如下:
网页日志源码,ubuntu覆盖文件命令,国外品牌爬虫,有php源码和数据库怎么用,柏思seolzw
0. VuePress
VuePress 自然不用多说,基于 Vue 的静态网站生成器,风格简约,配置也比较简单。之所以不使用 VitePress,是因为想使用现有的主题, 而 VitePress 不兼容当前 VuePress 的生态系统,至于为什么不选择 VuePress@next,考虑到还处于 Beta 阶段,等稳定后再开始迁移。
1. 本地搭建
快速开始同 VuePress 官网:
1、创建并进入一个新目录
// 文件名自定义mkdir vuepress-starter && cd vuepress-starter
2、使用你喜欢的包管理器进行初始化
yarn init # npm init
3、将 VuePress 安装为本地依赖
yarn add -D vuepress # npm install -D vuepress
4、创建你的第一篇文档,VuePress 会以 docs 为文档根目录,所以这个 README.md 相当于主页:
mkdir docs && echo # Hello VuePress > docs/README.md
5、在 package.json 中添加一些 scripts
{ "scripts": { "docs:dev": "vuepress dev docs", "docs:build": "vuepress build docs" }}
6、在本地启动服务器
yarn docs:dev # npm run docs:dev
VuePress 会在 http://localhost:8080 (opens new window) 启动一个热重载的开发服务器。
2. 基础配置
在文档目录下创建一个.vuepress
目录,所有 VuePress 相关的文件都会被放在这里。此时你的项目结构可能是这样:
.├─ docs│ ├─ README.md│ └─ .vuepress│└─ config.js└─ package.json
在.vuepress
文件夹下添加config.js
,配置网站的标题和描述,方便 SEO:
module.exports = { title: TypeScript4 文档, description: TypeScript4 最新官方文档翻译}
此时界面类似于:
3. 添加导航栏
我们现在在页首的右上角添加导航栏,修改config.js
:
module.exports = { title: ..., description: ..., themeConfig: { nav: [ { text: 首页, link: / }, { text: 冴羽的 JavaScript 博客, items: [ { text: Github, link: /mqyqingfeng }, { text: 掘金, link: /user/712139234359182/posts }] } ] }}
效果如下:
4. 添加侧边栏
现在我们添加一些 md 文档,目前文档的目录如下:
.├─ docs│ ├─ README.md│ └─ .vuepress│└─ config.js| └─ handbook| └─ ConditionalTypes.md| └─ Generics.md└─ package.json
我们在config.js
配置如下:
module.exports = { themeConfig: { nav: [...], sidebar: [ {title: 欢迎学习,path: /,collapsable: false, // 不折叠children: [ { title: "学前必读", path: "/" }] }, { title: "基础学习", path: /handbook/ConditionalTypes, collapsable: false, // 不折叠 children: [{ title: "条件类型", path: "/handbook/ConditionalTypes" },{ title: "泛型", path: "/handbook/Generics" } ], }] }}
对应的效果如下:
5. 更换主题
现在基本的目录和导航功能已经实现,但如果我还想要加载 loading、切换动画、模式切换(暗黑模式)、返回顶部、评论等功能呢,为了简化开发成本,我们可以直接使用主题,这里使用的主题是 vuepress-theme-rec(https://vuepress-theme-/):
现在我们安装 vuepress-theme-reco:
npm install vuepress-theme-reco --save-dev# oryarn add vuepress-theme-reco
然后在config.js
里引用该主题:
module.exports = { // ... theme: eco // ...}
刷新一下页面,我们会发现一些细节的改变,比如加载时的 loading 动画、以及支持切换暗黑模式:
6. 添加文章信息
但我们也会发现,像条件类型这一篇文章,条件类型(Conditional Types)
竟然出现了两遍,这是因为这个主题自动提取了第一个大标题作为本文的标题,我们可以在每篇文章的 md 文件中添加一些信息修改:
---title: 条件类型author: 冴羽date: -12-12---
此时文章的效果如下:
但如果你不想要标题、作者、时间这些信息呢,我们可以在样式里隐藏,这个稍后会讲到。
7. 设置语言
注意,上图的文章时间,我们写入的格式为-12-12
,但是显示的是12/12/
,这是因为 VuePress 默认的 lang 为en-US
,我们修改一下 config.js:
module.exports = { // ... locales: { /: {lang: zh-CN } }, // ...}
可以发现时间换了一种展示方式:
8. 开启目录结构
在原本的主题里,我们发现每篇文章的目录结构出现在左侧:
而 vuepress-theme-reco 将原有的侧边栏的中的多级标题移出,生成子侧边栏,放在了页面的右侧,如果你要全局开启,可在页面 config.js 里设置开启:
module.exports = { //... themeConfig: { subSidebar: auto } //...}
此时效果如下:
9. 修改主题颜色
VuePress 基于 Vue,所以主题色用的是 Vue 的绿色,然而 TypeScript 的官方色则是蓝色,那如何修改 VuePress 的主题色呢?
你可以创建一个.vuepress/styles/palette.styl
文件,文件代码如下:
$accentColor = #3178c6
此时可以发现主题颜色变了:
编程入门!!