vuepress - hope 使用细则

简介: vuepress - hope 使用细则

前言

经过众多个主题的选择,终于选择了优雅的hope,以下是一些使用心得。

https://github.com/Rodert/

安装&启动

  1. 下载依赖

初始化

npm install vuepress

npm install yarn

yarn install

  1. 命令运行本地服务

yarn docs:dev

  1. 打包成静态文件

命令用来生成静态文件,默认情况下,放置在docs/.vuepress/dist目录中,当然你也可以在docs/.vuepress/config.js中的dest字段来修改默认存放目录。

vuepress build docs

npm run build

项目结构

全局基础信息配置

import { defineThemeConfig } from "vuepress-theme-hope";
import * as navbar from "./navbar";
import * as sidebar from "./sidebar";

export default defineThemeConfig({
  hostname: "http://javapub.net.cn/",

  author: {
    name: "Wang Shiyu",
    url: "http://javapub.net.cn",
  },

  iconPrefix: "iconfont icon-",

  logo: "/javapub-backgroup.svg",

  repo: "https://github.com/Rodert",

  docsDir: "demo/src",

  pageInfo: ["Author", "Original", "Date", "Category", "Tag", "ReadingTime"],

  footer: "<a href='https://beian.miit.gov.cn/'>京ICP备2021007111号-2</a>",

  displayFooter: true,

  blog: {
    medias: {
      // Baidu: "https://example.com",
      // Bitbucket: "https://example.com",
      // Dingding: "https://example.com",
      // Discord: "https://example.com",
      // Dribbble: "https://example.com",
      // Email: "https://example.com",
      // Evernote: "https://example.com",
      // Facebook: "https://example.com",
      // Flipboard: "https://example.com",
      Gitee: "https://gitee.com/rodert/JavaPub",
      GitHub: "https://github.com/Rodert",
      // Gitlab: "https://example.com",
      // Gmail: "https://example.com",
      // Instagram: "https://example.com",
      // Lines: "https://example.com",
      // Linkedin: "https://example.com",
      // Pinterest: "https://example.com",
      // Pocket: "https://example.com",
      // QQ: "https://example.com",
      // Qzone: "https://example.com",
      // Reddit: "https://example.com",
      // Rss: "https://example.com",
      // Steam: "https://example.com",
      // Twitter: "https://example.com",
      // Wechat: "https://example.com",
      // Weibo: "https://example.com",
      // Whatsapp: "https://example.com",
      // Youtube: "https://example.com",
      Zhihu: "https://www.zhihu.com/people/zhui-ma-7-49",
    },
  },

  locales: {
    "/": {
      // navbar
      navbar: navbar.javapub,

      // sidebar
      sidebar: sidebar.javapub,

      footer: "<a href='https://beian.miit.gov.cn/'>京ICP备2021007111号-2</a>",

      displayFooter: true,

      //浏览量
      visitor: true,

      blog: {
        description: "一个来自巴彦淖尔的朋友",
        intro: "/intro.html",
      },
    },

    /**
     * Chinese locale config
     */
    "/zh/": {
      // navbar
      navbar: navbar.zh,

      // sidebar
      sidebar: sidebar.zh,

      footer: "<a href='https://beian.miit.gov.cn/'>京ICP备2021007111号-2</a>",

      displayFooter: true,

      blog: {
        description: "一个前端开发者",
        intro: "/zh/intro.html",
      },
    },
  },

  encrypt: {
    config: {
      "/guide/encrypt.html": ["1234"],
      "/zh/guide/encrypt.html": ["1234"],
    },
  },

  plugins: {
    blog: {
      autoExcerpt: true,
    },

    // If you don't need comment feature, you can remove following option
    // The following config is for demo ONLY, if you need comment feature, please generate and use your own config, see comment plugin documentation for details.
    // To avoid disturbing the theme developer and consuming his resources, please DO NOT use the following config directly in your production environment!!!!!
    comment: {
      /**
       * Using giscus
       */
      // type: "giscus",
      // repo: "Rodert/JavaPub-Blog",
      // repoId: "R_kgDOHK-WNg",
      // category: "Announcements",
      // categoryId: "DIC_kwDOHK-WNs4COsXL",


      /**
       * Using twikoo
       */
      // type: "twikoo",
      // envId: "https://twikoo.ccknbc.vercel.app",

      /**
       * Using Waline
       */
      type: "waline",
      serverURL: "https://rodert-java-pub-blog-cq4tgfqik-rodert.vercel.app",
      dark: "auto",//自适应深色模式
      meta: ['nick', 'mail', 'link'],
      login: "force",
    },

    mdEnhance: {
      enableAll: true,
      presentation: {
        plugins: ["highlight", "math", "search", "notes", "zoom"],
      },
    },
  },
});

导航栏

这里我是一般都会定制使用


import { defineNavbarConfig } from "vuepress-theme-hope";

export const javapub = defineNavbarConfig([
  "/",
  "/home",
  { text: "使用指南", icon: "creative", link: "/guide/" },
  { text: "练手项目", icon: "creative", link: "/project/" },
  {
    text: "最少必要面试题",
    icon: "edit",
    prefix: "/willbe/",
    children: [
      {
        text: "文章 1-n",
        icon: "edit",
        // prefix: "article/",
        children: [
          { text: "10道不得不会的Java基础面试题", icon: "edit", link: "java-basics-interview-must" },
          { text: "10道不得不会的Java容器面试题", icon: "edit", link: "java-container-interview-must" },
          { text: "10道不得不会的Java并发基础面试题", icon: "edit", link: "java-concurrent-interview-must" },
          { text: "10道不得不会的JVM面试题", icon: "edit", link: "jvm-interview-must" },
          { text: "10道不得不会的MySQL基础面试题", icon: "edit", link: "mysql-interview-must" },
          { text: "10道不得不会的ElasticSearch面试题", icon: "edit", link: "elasticsearch-interview-must" },
        ],
      },
    ],
  },
  {
    text: "关于站长",
    icon: "note",
    link: "/me/",
  },
]);

侧边栏

  • 侧边栏我们一般需要自动生成一些东西

import { defineSidebarConfig } from "vuepress-theme-hope";

export const javapub = defineSidebarConfig({
  "/": [
    "",
    "home",
    "slide",
    {
      text: "最少必要面试题",
      icon: "creative",
      prefix: "willbe/",
      link: "willbe/",
      collapsable: true,//可折叠
      children: "structure",
    },
    {
      text: "小游戏",
      icon: "creative",
      prefix: "project/game/",
      link: "project/game/",
      collapsable: true,
      children: "structure",
    },

    
    // {
    //   text: "文章",
    //   icon: "note",
    //   prefix: "posts/",
    //   children: [
    //     {
    //       text: "文章 1-4",
    //       icon: "note",
    //       collapsable: true,
    //       prefix: "article/",
    //       children: ["article1", "article2", "article3", "article4"],
    //     },
    //     {
    //       text: "文章 5-12",
    //       icon: "note",
    //       children: [
    //         {
    //           text: "文章 5-8",
    //           icon: "note",
    //           collapsable: true,
    //           prefix: "article/",
    //           children: ["article5", "article6", "article7", "article8"],
    //         },
    //         {
    //           text: "文章 9-12",
    //           icon: "note",
    //           children: ["article9", "article10", "article11", "article12"],
    //         },
    //       ],
    //     },
    //   ],
    // },
  ],
});

文章目录

图标

    {
      text: "小游戏",
      icon: "creative",//图标
      prefix: "project/game/",
      link: "project/game/",
      collapsable: true,
      children: "structure",
    },

目录
相关文章
|
存储 JavaScript 编译器
玩转vitepress1.0,搭建个人网站~
当初1月份的时候为了后续春招求职,就使用vitepress搭建了一个个人网站,然后把自己本地的一些md文件整理了发布在了上面,不过当时vitepress还未发布正式版本,还是0.22.x这样的版本, 所以其实有很多不满意的地方,比如侧边栏折叠之前没有,明暗模式之前没有,单篇文章的大纲好像也没有,侧边栏在不同tab下有问题,这些我不太确定,可能功能是有的,但是官方文档上没更新罢了
552 0
|
7月前
|
JavaScript 前端开发 搜索推荐
《VitePress 简易速速上手小册》第1章:VitePress 入门(2024 最新版)
《VitePress 简易速速上手小册》第1章:VitePress 入门(2024 最新版)
410 1
|
7月前
|
JavaScript 搜索推荐 前端开发
《VitePress 简易速速上手小册》第2章:Markdown 与页面创建(2024 最新版)
《VitePress 简易速速上手小册》第2章:Markdown 与页面创建(2024 最新版)
241 0
|
7月前
|
搜索推荐
【卡夫卡的岛上书店】:一个利用 vuepress 的主题 vuepress-theme-reco 以及 vuepress-theme-vdoing 搭建自己的静态博客
【卡夫卡的岛上书店】:一个利用 vuepress 的主题 vuepress-theme-reco 以及 vuepress-theme-vdoing 搭建自己的静态博客
98 0
|
计算机视觉
R沟通|Rmarkdown构建简历并部署到个人网站
上一期已经对使用 latex 模板构建 cv 做了较为详细的说明:R沟通|使用latex模板构建个人履历。但是存在一个问题:Latex 最后输出的是 pdf 版本,如果你想把他部署到自己的个人网站上,可能就比较费劲了(害,是我不会)。所以请教了李康国学弟之后,我又尝试了下使用 Rmarkdown 构建 cv 并将其部署到 gitee中,这样所有人都可以通过网址访问我的 cv 了。
335 0
R沟通|Rmarkdown构建简历并部署到个人网站
|
持续交付
十分钟用vitepress搭建项目文档
十分钟用vitepress搭建项目文档
284 0
利用docsify搭建个人博客并免费上线,太好用了,必须分享一下!
利用docsify搭建个人博客并免费上线,太好用了,必须分享一下!
|
机器学习/深度学习 Python Windows
QPT打包工具(V1.0a7)心动初体验
为Windows而生的深度学习打包工具,致力于解决目前市面上打包工具,具有局限性,无法很好打包的缺点 优点:快狠准!解决疑难杂症!针对性很强,关键是真的很好用!
517 0
QPT打包工具(V1.0a7)心动初体验
|
自然语言处理 PHP
MyCms 自媒体系统 v4.2 ,全新后台模板发布
MyCms 是一款基于 Laravel 开发的开源免费的开源多语言商城 CMS 企业建站系统。
160 0
MyCms 自媒体系统 v4.2 ,全新后台模板发布
|
人工智能 自然语言处理 大数据
商标起名抓狂?免费神器来帮忙
商标起名抓狂?免费神器来帮忙
394 0
商标起名抓狂?免费神器来帮忙