茂茂物语

茂茂物语

一个记录前端开发、技术笔记与生活随笔的个人数字花园。

打开网站

茂茂物语是什么

一个基于 Markdown 的静态笔记站点。内容以纯文本形式存储,构建后生成 HTML 页面。

站点本身不依赖数据库。所有笔记文件放在目录中,通过构建工具生成可部署的静态资源。页面加载时不需要请求后端接口。

这里有个细节:站点语言设定为 zh_CN,页面 <html> 标签的 lang 属性同步输出该值。

茂茂物语主要功能

  • Markdown 解析: 读取 .md 文件,将标题、列表、表格、代码块等语法转为 HTML 标签,输出带语义结构的页面内容。代码块保留语言标记,方便后续高亮处理。
  • 静态页面生成: 构建阶段遍历笔记目录,为每个 Markdown 文件生成对应的 HTML 文件,输出路径与源文件目录结构保持一致。构建产物可直接部署到任意静态托管服务。
  • 全文搜索: 对笔记正文建立索引,输入关键词后返回匹配的笔记标题和摘要片段。索引在构建时生成,运行时不需要额外服务。
  • 侧边栏导航: 根据笔记目录层级自动生成树形导航菜单,支持折叠和展开。层级深度跟随实际目录结构,没有硬编码限制。
  • 代码高亮: 识别代码块中的语言标识,对关键字、字符串、注释等元素着色。支持的语言种类取决于高亮库的配置。
  • 暗色模式切换: 页面提供亮色和暗色两套配色方案,切换状态写入 localStorage,刷新后保持上次选择。

有一点需要注意:搜索索引的体积随笔记数量增长,笔记量偏大时首次加载搜索数据的耗时会增加。

茂茂物语使用要求

  • 笔记文件必须是 .md 格式,文件名建议用英文或拼音,避免构建时路径编码问题。
  • 运行环境需要 Node.js,版本不低于 16.x。构建工具依赖该运行时。
  • 部署目标需要支持静态文件托管。不支持服务端渲染或动态路由。
  • 浏览器需要支持 ES2015+ 语法。IE 系列不在支持范围内。

茂茂物语核心优势

构建产物是纯静态文件。没有服务端进程,没有数据库连接。部署时只需上传 HTML、CSS、JS 和资源文件。

搜索功能在本地完成。索引随构建生成,查询时在浏览器端匹配。不需要 Elasticsearch 或类似的外部搜索服务。

茂茂物语如何使用

  • 写笔记:在指定目录新建 .md 文件,按 Markdown 语法编辑内容。文件保存后重新构建即可看到更新。
  • 调整导航:修改目录结构或文件名,侧边栏菜单在下次构建时自动更新。不需要手动编辑菜单配置。
  • 切换主题:点击页面上的模式切换按钮,亮色和暗色之间即时切换。选择结果存在浏览器本地。
  • 搜索内容:在搜索框输入关键词,匹配结果以下拉列表形式展示。点击结果跳转到对应笔记页面。
  • 构建部署:执行构建命令,等待生成完成。将输出目录中的文件上传到静态托管## 茂茂物语是什么

茂茂物语是一个基于 VuePress 搭建的静态站点,站点内容以 Markdown 文件为数据源,构建后输出纯静态 HTML 页面。整个站点没有后端服务依赖,所有页面在构建阶段预渲染完成。

内容组织方式采用多级目录结构,每篇笔记对应一个 .md 文件。文件中的 frontmatter 用来定义标题、日期、标签等元信息,正文部分经 markdown-it 解析后生成页面。

站点语言固定为 zh_CN。导航和侧边栏根据目录结构自动生成,也可以手动配置。

茂茂物语主要功能

  • 全文搜索:对 Markdown 源文件建立本地索引,输入关键词后返回匹配段落及所在页面链接,索引在构建时生成,不依赖外部搜索服务。
  • 代码块高亮:解析 fenced code block 中的语言标识,调用 Prism.js 做语法着色,支持行高亮和行号显示,构建后输出带 class 的 <pre> 标签。
  • 自定义容器:识别 ::: tip、::: warning、::: danger 等标记,渲染为带图标和边框的提示块,输出为带特定 class 的 <div> 结构。
  • 侧边栏自动生成:读取目录层级和文件标题,生成可折叠的树形导航,层级深度可配置,默认展开当前页面所在分支。
  • 静态资源处理:图片、字体等文件经构建流程复制到输出目录,支持相对路径引用,输出文件名带 hash 用于缓存控制。
  • 主题样式定制:通过 CSS 变量控制主色、字体、间距等,覆盖默认变量即可改变外观,无需修改组件源码。

这里有个细节,搜索索引的体积会随笔记数量增长而变大。笔记量超过一定规模后,首次加载搜索数据的耗时会明显增加。

茂茂物语使用要求

运行环境需要 Node.js,版本建议 18 以上。包管理器用 npm、pnpm 或 yarn 都可以,项目本身不绑定特定工具。

构建过程会读取 docs 目录下的所有 Markdown 文件。文件编码必须是 UTF-8,否则中文内容会乱码。

图片资源放在 docs/.vuepress/public 目录下,引用时用绝对路径。放在其他位置也可以,但需要确认构建配置中的资源处理规则能正确匹配。

有一点需要注意,Markdown 中如果出现和 Vue 模板语法冲突的字符,比如双花括号,需要转义或用代码块包裹,不然构建时会报编译错误。

茂茂物语核心优势

构建产物是纯静态文件。部署时只需要一个能托管静态资源的服务,不需要 Node.js 运行时,也不需要数据库。页面加载不经过服务端渲染,首屏速度取决于 HTML 和资源的体积。

内容与配置分离。笔记写在 Markdown 文件里,站点行为写在配置文件中。换主题或改布局时,笔记文件不需要改动。

茂茂物语如何使用

新建笔记时,在 docs 对应目录下创建 .md 文件,文件名会成为 URL 路径的一部分。文件头部用 frontmatter 写标题和日期。

---
title: 笔记标题
date: 2024-01-01
---

正文内容

本地预览执行 npm run docs:dev,启动开发服务器,修改文件后页面自动刷新。构建生产版本执行 npm run docs:build,输出文件在 docs/.vuepress/dist 目录。

配置导航栏修改 docs/.vuepress/config.ts 中的 navbar 字段。侧边栏如果不用自动生成,可以在 sidebar 字段手动指定每个路径对应的菜单结构。

搜索功能如果不需要,在配置中关掉即可,构建时就不会生成索引文件。

茂茂物语同类竞品对比

对比维度 茂茂物语 VuePress 默认主题 Docusaurus Hexo
构建工具 Vite + Vue 3 Webpack + Vue 2/3 Webpack + React Node.js 自研
内容格式 Markdown + frontmatter Markdown + frontmatter Markdown/MDX Markdown
搜索方案 本地索引,构建时生成 无内置搜索 Algolia 或本地插件 需第三方插件
主题定制 CSS 变量覆盖 需 fork 主题 Swizzle 组件 需改主题源码
输出产物 纯静态 HTML 纯静态 HTML 纯静态 HTML 纯静态 HTML
多语言 手动配置 手动配置 内置 i18n 支持 需插件
侧边栏 自动生成或手动配置 手动配置为主 自动生成 需插件或手动

茂茂物语应用场景

个人技术笔记的发布。Markdown 写完后直接构建部署,不需要经过 CMS 后台。

项目文档的托管。API 说明、使用指南这类内容用 Markdown 维护,改完推送仓库触发构建即可更新线上页面。

内网知识库。构建产物可以放在内网静态服务器上,不连外网也能访问,搜索功能在本地完成,数据不出内网。

茂茂物语适用人群

有 Markdown 写作习惯的开发者。不需要学新的编辑器或后台系统,用已有的写作流程就能发布内容。

需要自己控制站点样式的用户。CSS 变量和组件结构都是开放的,改起来没有黑盒限制。

对部署成本敏感的场景。静态文件可以放在 GitHub Pages、Netlify、对象存储等任意静态托管服务上,没有服务器运维开销。

首页截图

茂茂物语

若有收获,就点个赞吧

茂茂物语打不开?
👉建议用手机浏览器打开"茂茂物语"。微信/QQ可能屏蔽了"茂茂物语"网站,首先保证网址是从浏览器/手机浏览器打开的,因为微信/QQ会屏蔽一些站。
👉建议使用不会屏蔽网址的浏览器。如果浏览器提示"茂茂物语"该网站违规,并非真的违规,而是浏览器厂商屏蔽了这个站。推荐使用不会屏蔽网站的浏览器,如苹果自带的浏览器、Alook浏览器、X浏览器、VIA浏览器、微软Edge等。
👉通常打不开"茂茂物语"是由于网络问题。优质网站会针对三大运营商(电信、移动、联通)进行优化,但小网站可能会遇到网络打不开的情况。可以尝试使用星书签导航寻找"茂茂物语"最新的网址、"茂茂物语"发布页和备用网址。为了更稳定的网络体验,可以考虑使用加速器(切换到更稳定的运营商,比如电信)。部分网站需要科学上网(例如 Google),但这仅推荐用于学习资料的查询。
👉以上三点通常可以解决99.99%的网站打不开问题。如有疑问,可在线留言,若急需帮助,也可以通过 QQ 在线联系我们。
茂茂物语的最新网址是什么?
茂茂物语的网址是: https://notes.fe-mm.com/,茂茂物语的浏览人数已经达到 2,广受网友好评。
您可以直接点击上方的"链接直达"按钮访问茂茂物语的官方网站。如果遇到访问问题,可以查看"茂茂物语打不开?"的解决方案。

数据统计

相关导航

暂无评论

none
暂无评论...