首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

MKdocs在搜索时不考虑元数据(frontmatter)吗?

基础概念

MKDocs 是一个快速、简单且可扩展的文档生成工具,它使用 Markdown 格式来编写文档,并生成美观的静态网站。MKDocs 通过 mkdocs.yml 配置文件来管理文档结构和主题。

元数据(Frontmatter) 是在 Markdown 文件开头使用 YAML 格式定义的数据块,通常用于存储文档的标题、作者、日期等信息。例如:

代码语言:txt
复制
---
title: "My Document"
author: "John Doe"
date: "2023-04-01"
---

相关优势

  1. 快速生成:MKDocs 使用 Python 编写,能够快速生成静态网站。
  2. 易于扩展:通过插件机制,可以轻松扩展 MKDocs 的功能。
  3. 美观的主题:MKDocs 提供了多种内置主题,并且支持自定义主题。
  4. 搜索功能:MKDocs 内置了搜索功能,方便用户查找文档内容。

类型

MKDocs 的搜索功能主要依赖于其内置的搜索索引机制。默认情况下,MKDocs 会解析 Markdown 文件中的文本内容,并生成搜索索引。

应用场景

MKDocs 适用于各种需要生成静态文档的场景,例如项目文档、API 文档、用户手册等。

问题分析

MKDocs 在搜索时默认情况下不会考虑元数据(Frontmatter)中的内容。它主要索引 Markdown 文件中的文本内容,而元数据通常用于文档的元信息,不会被直接索引。

解决方法

如果你希望 MKDocs 在搜索时考虑元数据中的内容,可以通过自定义插件来实现。以下是一个简单的示例,展示如何通过插件来扩展 MKDocs 的搜索功能,使其包含元数据:

  1. 创建插件: 创建一个 Python 文件,例如 search_with_metadata.py,并编写以下代码:
  2. 创建插件: 创建一个 Python 文件,例如 search_with_metadata.py,并编写以下代码:
  3. 配置插件: 在 mkdocs.yml 文件中添加插件配置:
  4. 配置插件: 在 mkdocs.yml 文件中添加插件配置:
  5. 重新构建文档: 运行 mkdocs build 命令重新构建文档,此时搜索功能将包含元数据中的内容。

参考链接

通过上述方法,你可以扩展 MKDocs 的搜索功能,使其在搜索时考虑元数据中的内容。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

从零开始使用 Astro 的实用指南

作为开发人员,我们知道,在建设网站,创造一个良好的用户体验是关键。而用户最喜欢的是什么?快速的网站,浪费他们的时间。有了Astro,我们可以通过向浏览器发送更少的代码来实现这一目标。...它还允许我们需要加入动态的客户端JavaScript,这意味着我们可以在网站上拥有可交互的组件,但只必要进行。换句话说,Astro允许你从简单的开始,需要增加复杂性。... 但你希望每次导航中增加一个链接都要更新所有的页面,对? 这就是「组件」发挥作用的地方,让你不要重复你自己(DRY)。...获取数据 我们教程的这一部分,我们将使用Bejamas API从服务器获取一些数据,并在我们的主页上创建这些案例研究卡。 Astro中获取数据是非常容易的。...你当然希望你的文章看起来像这样,肯定希望把你的网站设计融入其中,对?让我们为我们的博客内容创建一个布局。

88640

一杯茶的时间,上手 Gatsby 搭建个人博客

一次换系统之后,项目终于构建不了了,包冲突处理起来非常头疼,也影响到了写博文的兴致。 拖延了一段时间后,终于开始考虑更换框架。...一般使用时只需要知道集合里每个项目的数据 edges.node 中,同时通过 GraphiQL 浏览其它可以使用的数据。...我修改 starter 踩到一个坑是复制组件忘了修改 static query 查询语句的名称,导致重名报错。 避免错误最好方式是 GraphiQL 编辑器中写好运行无误再复制到组件中。...迁移博客需要考虑的一个重要问题便是路径兼容。我们当然希望迁移后原有的链接无法访问,这不仅影响到 SEO ,更带来了不好的用户访问体验。本文将聊聊怎么让 Gatsby 兼容 Jekyll 式路径。...Gatsby 在生成 GraphQL 节点提供了钩子 onCreateNode,我们利用这个钩子往 fields 中放自定义的数据

3.2K20
  • 快速、简单、美观:构建现代化文档的工具链

    如果您正在寻找一个功能强大又易于上手的工具来构建静态网站或在线文档,请考虑尝试其中之一。...用户可以将其作为命令行工具本地构建图书,并且也可通过 legacy.gitbook.com 在线发布并进行更新。...简单轻量 智能全文搜索插件 多个主题可选 有用的插件 API 兼容 IE11 支持嵌入文件 mkdocs/mkdocs Stars: 16.7k License: BSD-2-Clause MkDocs...快速生成:利用预渲染技术,每次部署将页面转换为静态 HTML 文件,从而实现快速加载和响应式体验。 多平台适配:无论是电脑上还是移动设备上浏览您的文档网站都能得到良好呈现。...如果你正在寻找一个方便易用又功能强大的工具来构建静态网站或者在线文档,请考虑尝试 VuePress Next。

    39830

    vitepress搭建markdown文档博客

    更糟糕的是,当项目有不少页面,服务器必须首先彻底编译每一个页面,而后才能显示任何内容Vite 很好地解决了这些问题:服务器几乎当即启动,按需编译只编译所服务的页面,以及快速的 HMR。...有了 Vite 和 Vue 3,真的是时候从新考虑“Vue 驱动的静态站点生成器(vue系列的说明文档几乎都是这样生成的)创建博客:mkdir blog-vitepresscd blog-vitepressnpm...front-matter/注意的是采用三虚线必须放置 markdown 文件的 最上面---title: Blogging Like a Hackerlang: en-US---frontmatter...md.use(require('markdown-it-xxx'))    }  }}搜索配置先查看:https://vitepress.vuejs.org/config/algolia-search.html...docs/.vitepress/theme/index.ts 中写入如下代码,其中 register-components.js 不需要自己创建, package.json 中注入脚本,执行脚本自动生成

    1.7K20

    用 Gatsby 创建一个博客

    它通过构建通过服务器端渲染将动态的 react 组件呈现为静态 HTML 内容。...当然,我们的数据结构是我们的Markdown文件开始提供的 frontmatter。我们定义的每个键都可以被注入到查询中。...此时需要注意的一点是,GraphQL 查询是构建进行的。该组件被注入数据由 GraphQL 查询所得到。...我们将使用这些数据来构建一个包含盖茨比的页面。我们的 GraphQL“形状”直接反映在这个数据对象中,因此,当我们GraphQL博客文章模板中查询,我们从该查询中提取的每个属性都将可用。...每一次我们构建 Gatsby , createPage 将被调用,Gatsby 将会创建一个静态的 HTML 文件路径根据我们帖子的前面专门写的 frontmatter

    2.5K30

    ​静态网站架构的演进和最佳实践

    新冠肺炎期间,约翰霍普金斯大学开发的疫情地图网站单日 PV 达 10 亿次,查看源代码可以看出它是一个单页应用(single-page application,缩写 SPA),JS 调用后端 API 返回动态数据...云计算时代,静态网站已不再需要服务器,部署到云存储,开启 CDN 即可全球高速访问。...CSS/JS 作为简单的小文件,无需特殊处理,部署到云存储,再配合 CDN,成了静态网站架构最佳实践,有如下优点: 成本低:云存储/CDN 比服务器便宜很多(比如「腾讯云 对象存储 COS」约 0.1 /...GB/月、腾讯云 CDN 每月赠送 10GB 流量),一个典型的公司官网一年费用不超过 10 ; 访问快:CDN 能在全国甚至全球快速访问,比服务器更快。...目前,静态网站有 2 种: 无内容的单页应用(SPA):React/VUE 等框架开发的应用; 有内容的 HTML:手写或「程序生成 HTML」; 警告:React/VUE SPA 不带内容,难以被搜索引擎收录

    1.9K20

    提升 Windows 生产力的实用工具集:Microsoft PowerToys | 开源日报 No.42

    该项目主要功能包括: 零分配路由器 快速响应 中间件支持 具备崩溃保护机制 JSON 数据验证 路由组合管理 错误处理 内置渲染引擎 可扩展 satwikkansal/wtfpython[3] Stars...链操作要小心顺序问题,因为比较操作按照从左到右依次执行,并可能导致意外结果。...squidfunk/mkdocs-material[5] Stars: 15.2k License: MIT 这个项目是一个强大的文档框架,建立 MkDocs 之上。...它允许用户使用 Markdown 编写文档,并在几分钟内为开源或商业项目创建专业的静态网站 - 可搜索、可定制、支持 60 多种语言和所有设备。...高效轻量,性能方面表现出色,并获得最佳搜索引擎排名。 支持辅助功能导航,确保任何人都能够正常阅读文档内容。

    41880

    静态网站架构的演进和最佳实践

    的云存储 新冠肺炎期间,约翰霍普金斯大学开发的疫情地图网站单日PV达10亿次,查看源代码可以看出它是一个单页应用(single-page application,缩写SPA),JS调用后端API返回动态数据...云计算时代,静态网站已不再需要服务器,部署到云存储,开启CDN即可全球高速访问。  ...HTML/CSS/JS作为简单的小文件,无需特殊处理,部署到云存储,再配合CDN,成了静态网站架构最佳实践,有如下优点: 成本低:云存储CDN比服务器便宜很多(比如腾讯云对象存储约0.1/GB/月、腾讯云...CDN每月赠送10GB流量),一个典型的公司官网一年费用不超过10; 访问快:CDN 能在全国甚至全球快速访问,比服务器更快; 2010年起,AngularJS、Vue.js、React等框架陆续诞生...目前,静态网站有 2 种: 无内容的单页应用(SPA):React/VUE等框架开发的应用; 有内容的HTML:手写或程序生成HTML; 提示:React/VUE SPA不带内容,难以被搜索引擎收录,不适合作为公司官网

    1K30

    几款文档框架:Mkdocs、Sphinx、Teadocs、docsify

    nav: - Home: 'index.md' - About: 'markdown.md' theme: readthedocs 当文档比较复杂,...可以通过嵌套的方式对 nav 进行配置,例如在 Home 下还有子菜单,menu1 和 menu2: 当文档比较复杂,可以通过嵌套的方式对 nav 进行配置,例如在 Home 下还有子菜单,menu1...Teadocs 提供内置的搜索技术,除了编写好你引以为豪的内容以外,你无需关注的任何额外的技术问题。 你可以使用它来编写开源书籍、API文档学习、笔记、学习心得、甚至可以用来写博客。...custom_theme) - [部署](/deploy) 符号介绍 语法完全使用markdown里的无序列表定义语法,但是要特别注意以下几点: [] 里的内容表示菜单的标题,如果写... teadocs.config.js 文件的 theme.dir 配置项中指定你的自定义主题路径就可以了。

    1.6K20

    用python手把手教你搭建一个个人主页

    MkDocs MkDocs专注于创建项目文档,但也可用于创建简单的博客。 特点: 使用Markdown编写内容。 简单易用,适合文档项目。 有多种主题可供选择。...通过上面的Python静态网站生成器的介绍,我们可以看到,这些和 hexo等一些非常流行的静态网站生成器非常类似,所以我们思考下:我们可以使用Python自己实现一个类似hexo的静态网站生成器?...output_dir = 'output' env = Environment(loader=FileSystemLoader(templates_dir)) # 解析Markdown文件并提取数据...[] in_metadata_section = False for line in lines: if line.strip() == '---': # 简单的数据标记...当我们md编写书数公式的时候,发现html并没有渲染,这里你能找到在哪里修改去支持这个特性? 同理,如果在md里面编写mermaid呢?

    1.2K30

    博客生成静态站点工具 Top 20

    它使用 GraphQL 查询数据,支持多种数据源和插件。 你可以查看它的 GitHub 和官网了解更多。 4.Jekyll star 数 45K+。...VuePress 还提供了内置的搜索、导航、侧边栏等功能,可以帮助用户快速浏览和搜索网站内容。 你可以查看它的 GitHub和官网了解更多。 11.Mkdocs star 数 16K+。...MkDocs 是一个简单易用的静态网站生成器,基于 Markdown 文档构建漂亮的 HTML 文档页面。 MkDocs具有以下特点: 采用Markdown格式编写文档,易于编写和维护。...本文列出了最受欢迎的 Top20 博客静态站点生成工具,它们 GitHub 上的 star 数可以直接反映它们的受欢迎程度。...不同的工具都有各自的优缺点,适用于不同的需求和技能水平,因此选择需要根据自己的情况进行考虑。例如,如果您想要一个快速而简单的解决方案,那么 Jekyll 或 Hexo 可能是不错的选择。

    3.6K21

    2021 11月Github热门项目

    Material for MkDocs 8.0 项目地址:https://github.com/squidfunk/mkdocs-material 进行软件开发,文档当然是必不可少的。...Material for MkDocs可以将你的markdown文档转化为一个静态网站。最新的版本中, Material for MkDocs支持了代码注释等新特性。...它充当语言的编译器,甚至应用程序运行之前就发现错误。 祝贺团队经过 6 年的开发后发布了他们的第一个主要版本。...Material Design Icons 6.5.95 项目地址:https://github.com/Templarian/MaterialDesign/ 您的开源项目需要一些很酷的图标?...本文为从大数据到人工智能博主「xiaozhch5」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

    66920

    关于深度学习框架Hamaa与Python API文档生成工具Sophon

    前言 最近三个月我主要花时间造一个轮子:深度学习库 Hamaa。...了解到TensorFlow的NHWC数据格式与Theano的NCHW数据格式之间的差异性。 弄懂了训练卷积神经网络影响速度与内存的因素。 学会了如何编写Python C Extension。...因为Hamaa的文档目前托管ReadTheDocs上,而RTD只能要么使用Sphinx要么用MkDocs作为文档引擎。...考虑到文档编写、网站外貌(Sphinx很强大,但是他的autodoc功能导出的API文档RTD主题下实在有点丑),最终选择了MkDocs+Markdown来编写文档。...但是这样又有了另外一个问题,MkDocs没有autodoc功能。如果手动编写,就意味着我要同时保持代码中的注释与API文档中的介绍一致。

    72231

    搭建和mybatis-plus官网一样主题的网站(cos+宝塔+vercel)

    一、前言 网站主题最初是开发数据api的时候看到的,当时在学习Mybatis-Plus,最初也不知道这是个主题,就觉得Mybatis-Plus官网UI真的不错,直到后面发现另外一个类似的网站,我意识到这是个模板...2.基础网站配置 主页配置 打开以下目录的index.md,你可能会问咋是md格式的,不应该是html格式的?...部署注意是部署云函数,不是该评论系统项目,被这个坑了好久好久。...id需要添加自己的域名进行部署,类似xx.de7v.com。...只是随便输一个) 浏览器键入自己的域名就可以访问了,我的宝塔部署的站点IT七剑客,挺快的,比之前dev模式好多了 五、常用命令 安装node依赖 自动安装缺少的依赖 npm install 项目调试 测试功能使用

    90020

    如何当个优秀的文档工程师?从 TC China 看技术文档工程师的自我修养

    因为,之前未设立技术文档部门,其他人来写这块内容呈现的效果非常差、用户体验不佳。因此,很多企业才会存在技术文档这个部门,来帮助企业解决人员分工问题。...目前,NebulaGraph 技术文档团队正在使用开源的文档编辑软件 MkDocs Material(参考延伸阅读),满足目前的内容复用需求。...应用端(文档网站)可以做的用来提升用户体验的事情:语义化的搜索能力,搜索引擎可以根据用户的使用场景,搜索词语的意思检索到目标内容。知识模块化,基于 XML 体系的内容发布。...智能内容,智能机器人可以推送用户搜索的问题。考虑用户常搜索的关键字,考虑 SEO 创作内容。...图片2.矩阵结构矩阵结构允许用户沿着两 / 多个维度节点之间移动,最终都可以帮助用户找到想要的信息。图片3.自然结构自然结构遵循任何一致的模式。

    1.4K30
    领券