一份写好的md 文档,非常便捷的生成一个 web 页面,然后分享给他人。即 MD 变为 Docs。这是把一些思考记录下来很好的方式。不管是日记、笔记、读书读后感等,又或者是技术博客。
在 2022 年底 2023 年初,在了解 vite 的过程中,也用了 vitepress ,个人开发体验极佳。之前写过 vuepress,而VitePress is VuePress' little brother, built on top of Vite.
有一个自身的需求:在一个 web页面中,部分内容加密,有的内容不加密。由于 vitepress 目前正在处于 alpha 阶段,在我用 vitepress 写 文档的过程中,也没发现比较好玩的 plugin。所以我想起了很久之前,基于 vuepress 的一个主题
Uncaught SyntaxError: The requested module '/@fs/D:/gh-code/vitepress-starter/node_modules/.pnpm/moment-mini@2.29.4/node_modules/moment-mini/moment.min.js?v=9ddd3ffc' does not provide an export named 'default' (at mermaid.core.mjs?v=9ddd3ffc:7:8)
一份写好的
md
文档,非常便捷的生成一个 web 页面,然后分享给他人。即 MD 变为 Docs。这是把一些思考记录下来很好的方式。不管是日记、笔记、读书读后感等,又或者是技术博客。 在 2022 年底 2023 年初,在了解 vite 的过程中,也用了 vitepress ,个人开发体验极佳。之前写过vuepress
,而VitePress is VuePress' little brother, built on top of Vite.
有一个自身的需求:在一个web页面中
,部分内容加密,有的内容不加密。由于 vitepress 目前正在处于alpha
阶段,在我用 vitepress 写 文档的过程中,也没发现比较好玩的 plugin。所以我想起了很久之前,基于vuepress
的一个主题https://vuepress-theme-reco.recoluan.com/views/1.x/password.html
这种加密方式,一是可以对整个项目进行加密,一个是可以对项目中的某一篇进行加密
密码 123456 对应的 32 位的 md5 加密密文
e10adc3949ba59abbe56e057f20f883e
我打开控制台,发现这种加密方式是 通过 class 样式 或者某种 hidden 隐藏了页面内容,但是 文档的内容还是可以看到,达不到真正加密的方式,这种实操不符合我的需求
接着,看下这部分
https://theme-hope.vuejs.press/zh/guide/feature/encrypt.html
::: danger 警告
注意,受到 VuePress 的限制,在未解密前,文章内容仅仅被隐藏,访问者仍可以从源码中获取文章的内容。
所以请不要使用该加密功能用于任何敏感、机密的文章与档案,造成的后果请你自负 :::
看了两个主题,虽然支持对特定文件夹或特定的路径进行加密,也支持进行全局范围的加密。但是有点类似
假的加密
顺便再说说这个主题皮肤
reco
整体的思路是
上述的插件是 2020 年的时候,有可能现在已经迭代了
hexo
在探索 文档加密过程中,我简单根据文档,跑了一个
demo
跑起来看了一下,默认的theme 不是很好看,我不是很熟悉
hexo
,关于它的加密,你可以看 https://github.com/D0n9X1n/hexo-blog-encrypt/blob/master/ReadMe.zh.mdvuepress
在很早,我出过一期视频,讲的是怎么配置
vuepress
。放到现在来看仍有参考意义。在vuepress
文档中,有关当下几个静态站点生成的方案,有个横向对比https://v2.vuepress.vuejs.org/zh/guide/#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%B8%8D%E6%98%AF
在
package.json
,文件中这两个脚本需要特别留意一下,这在一些静态部署的网站上是需要进行 部署配置的。在
vuepress
跑起来之后首页读取的是
项目的根目录/docs/index.md
,把这个 md 渲染在页面首页接着就是配置
.vuepress/config.js
移动端的优化,在移动端,搜索框在获得焦点时会放大,并且在失去焦点后可以左右滚动,这可以通过设置元来优化。
[阶段小结]
vitepress
,当社区中没有你需求的插件或者能力的时候,可以使用 vuepressconfig.ts
或者config.js
都行,在你的项目中可以轻松接入typescript
随着技术的更新,
vuepress
也有了 https://v2.vuepress.vuejs.org/As Easy as 1, 2, 3
vitepress
在说 vitepress 之前,先说说我静态文档站点踩的坑,希望对你有启发
看一看仓库
https://github.com/search?o=desc&q=vitepress&s=stars&type=Repositories
当时在刚接触 vuepress 的时候,没有好奇 vuepress 的文档是怎么搭建的,是怎么配置的。 这次使用 vitepress 我先是找了一下,项目的根目录就有
https://github.com/vuejs/vitepress/tree/main/docs
以后想写文档直接参考这个配置就好着重看这个文件 :vitepress/docs/.vitepress/config.ts
en-US
themeConfig:主题的一些配置
关于文档,我很多都是一时兴起,然后想写点什么,这种完全满足了自己的需求,能够立刻生成一个文档,后来想着
md
mind
页面 就是能够在 md 里边写思维导图,可以看看这个要是使用 vitepress ,你可以看看 CMS 其中有一个插件可以在 vitepress 中使用,这是文档 https://emersonbottero.github.io/vitepress-plugin-mermaid/guide/getting-started.html
使用的案例,
这个插件能够在 vitepress 的环境中,可以在 md 文档中 写思维导图。
若果直接安装使用,会报这个错误
你可以看看这个 issues/24 有上述问题的讨论
在
vitepress
中和vuepress
中比较友好的一点是可以直接使用vue组件
https://vitepress.vuejs.org/guide/using-vue
要想这样使用一个组件,和写 vue 代码差不多,装一下
@antv/g2plot
的依赖,然后在docs/components
新建一个组件WordCloud.vue
slidev
https://cn.sli.dev/guide/why.html#slidev https://mermaid.js.org/intro/
如题,《Markdown 语法页面化》,上文我们大致了解了
mermaid
在文末我们介绍一下Slidev
只需要 在 一个
*.md
文件中使用---
添加分隔符来分隔你的幻灯片,就能制作一页又一页的PPT
。在 https://github.com/slidevjs/slidev/tree/main/demo/starter 可以看一下怎么使用的
我是在之前学习 vite 时候发现的,当然了核心作者还是
antfu Anthony Fu
,项目根目录下的slides.md
是入口,如果没有的话,终端会提示 是否要新建一个slides.md
简单的通过 md 的语法就能生成图表,真的是太炫酷了,不是吗?