当前位置: 首页 > news >正文

在线资源搜索引擎无锡百度关键词优化

在线资源搜索引擎,无锡百度关键词优化,wordpress内部结构,火车头采集器wordpress发布模块先上效果图 如图所示,在网页中,能直接解析markdown文档,并且生成目录大纲,也支持点击目录标题跳转到对应栏目中,下面就来讲讲是如何实现此功能的。 1、下载vue-markdown yarn add vue-markdown 2、在页面中渲染markdo…

先上效果图

如图所示,在网页中,能直接解析markdown文档,并且生成目录大纲,也支持点击目录标题跳转到对应栏目中,下面就来讲讲是如何实现此功能的。

1、下载vue-markdown

yarn add vue-markdown

2、在页面中渲染markdown文件

<template><div><VueMarkdownclass="api-content":source="markdownContent"id="content"/></div>
</template><script>
import VueMarkdown from "vue-markdown";export default {components: {VueMarkdown,},data() {return {markdownContent: "",};},mounted() {this.loadMarkdownFile();},methods: {async loadMarkdownFile() {try {// api.md文件存放在根目录下的public文件夹中const response = await fetch("/api.md");const markdownText = await response.text();this.markdownContent = markdownText;} catch (error) {console.error("Failed to load the Markdown file:", error);}}, },
};
</script>

此时,打开浏览器查看,页面中已经正常渲染markdown文件了。

3、生成目录大纲

现在,我们需要有目录大纲方便我们查看文档。我的思路是,首先拿到markdown文件的html结构,然后找到所有H1-H5的标题标签,并给这些标签设置id,生成一个新数组,通过这个数组生成目录结构,说干就干。

//html部分<div class="api-tree" id="tree"><el-tree:data="tree":default-expand-all="true"@node-click="handleNodeClick"></el-tree>
</div>// js部分
catalogTree() {const content = document.getElementById("content").children;var arr = [];let currentHightestLevel;let parentId;let index = 0;for (let i = 0; i < content.length; i++) {let header = content[i].localName;if (/\b[h][0-9]\b/.test(header)) {let ele = $(content[i]);let name = ele.text();// 设置idele.attr("id", i);let id = i;if (index === 0 || header <= currentHightestLevel) {currentHightestLevel = header;parentId = id;}arr.push({id: id,label: name,parentId: parentId == id ? "0" : parentId,});index++;}}const tree = [];arr.forEach((item) => {if (item.parentId === "0") {tree.push(this.convertArrayToTree(arr, item));}});this.tree = tree;
},
convertArrayToTree(arr, node) {for (let i = 0; i < arr.length; i++) {if (arr[i].parentId === node.id) {const res = this.convertArrayToTree(arr, arr[i]);if (node.children) {node.children.push(res);} else {node.children = [res];}}}return node;
},
handleNodeClick(data) {let anchorElement = document.getElementById(data.id);if (anchorElement) {anchorElement.scrollIntoView({behavior: "smooth",block: "end",});}
},

4、大功告成,最后,附上全部代码,带css样式

<template><div class="page-api" id="myElement"><div class="api-tree" id="tree"><el-tree:data="tree":default-expand-all="true"@node-click="handleNodeClick"></el-tree></div><VueMarkdownclass="api-content":source="markdownContent"id="content"/></div>
</template><script>
import VueMarkdown from "vue-markdown";
import $ from "jquery";export default {components: {VueMarkdown,},data() {return {markdownContent: "",tree: [],};},mounted() {this.loadMarkdownFile();},methods: {async loadMarkdownFile() {try {const response = await fetch("/api.md");const markdownText = await response.text();this.markdownContent = markdownText;this.$nextTick(() => {this.catalogTree();});} catch (error) {console.error("Failed to load the Markdown file:", error);}},catalogTree() {const content = document.getElementById("content").children;var arr = [];let currentHightestLevel;let parentId;let index = 0;for (let i = 0; i < content.length; i++) {let header = content[i].localName;if (/\b[h][0-9]\b/.test(header)) {let ele = $(content[i]);let name = ele.text();// 设置idele.attr("id", i);// let id = ele.children("a").attr("id");let id = i;if (index === 0 || header <= currentHightestLevel) {currentHightestLevel = header;parentId = id;}arr.push({id: id,label: name,parentId: parentId == id ? "0" : parentId,});index++;}}const tree = [];arr.forEach((item) => {if (item.parentId === "0") {tree.push(this.convertArrayToTree(arr, item));}});this.tree = tree;},convertArrayToTree(arr, node) {for (let i = 0; i < arr.length; i++) {if (arr[i].parentId === node.id) {const res = this.convertArrayToTree(arr, arr[i]);if (node.children) {node.children.push(res);} else {node.children = [res];}}}return node;},handleNodeClick(data) {let anchorElement = document.getElementById(data.id);let scrollPosition = anchorElement.offsetTop - 20;let myElement = document.getElementById("myElement");myElement.scrollTo({left: 0,top: scrollPosition,behavior: "smooth",});// if (anchorElement) {//     anchorElement.scrollIntoView({//         behavior: "smooth",//         block: "end",//     });// }},},
};
</script><style lang="scss">
.page-api {display: flex;height: 100%;overflow-y: scroll;.api-tree {position: fixed;left: 20px;top: 120px;width: 200px;height: calc(100% - 160px);overflow-y: scroll;z-index: 99;.el-tree {background: none;color: #fff;.el-tree-node:focus > .el-tree-node__content,.el-tree-node__content:hover {background: none;color: rgb(24, 144, 255);}}}.api-content {flex: 1;margin-left: 220px;padding: 0 30px;color: rgba(255, 255, 255, 0.75);h3 {margin-left: 25px;}code {border-radius: 2px;color: #e96900;margin: 0 2px;padding: 3px 5px;white-space: pre-wrap;}table {border-collapse: collapse;border-spacing: 0;th,td {border: 1px solid #ddd;padding: 6px 13px;margin: 0;}}pre {background: rgba(0, 0, 0, 0.7);padding: 20px 30px;}}
}
</style>


文章转载自:
http://sacahuiste.c7495.cn
http://etruscology.c7495.cn
http://takingly.c7495.cn
http://agent.c7495.cn
http://apocarpy.c7495.cn
http://feminie.c7495.cn
http://quickly.c7495.cn
http://gibbose.c7495.cn
http://karman.c7495.cn
http://athanasy.c7495.cn
http://coadjacent.c7495.cn
http://patroness.c7495.cn
http://finagle.c7495.cn
http://phenolate.c7495.cn
http://cordilleras.c7495.cn
http://felix.c7495.cn
http://neglected.c7495.cn
http://anoesis.c7495.cn
http://restorative.c7495.cn
http://granuloma.c7495.cn
http://allegedly.c7495.cn
http://supersedence.c7495.cn
http://doddered.c7495.cn
http://hackery.c7495.cn
http://landstream.c7495.cn
http://spicily.c7495.cn
http://catcher.c7495.cn
http://chromogen.c7495.cn
http://damoclean.c7495.cn
http://integrative.c7495.cn
http://trestlework.c7495.cn
http://woke.c7495.cn
http://disadapt.c7495.cn
http://primal.c7495.cn
http://harborage.c7495.cn
http://lemuel.c7495.cn
http://armed.c7495.cn
http://rubigo.c7495.cn
http://eastertide.c7495.cn
http://monosepalous.c7495.cn
http://exertion.c7495.cn
http://hillock.c7495.cn
http://fistuliform.c7495.cn
http://nei.c7495.cn
http://bradycardia.c7495.cn
http://moss.c7495.cn
http://angkor.c7495.cn
http://sinter.c7495.cn
http://unvarying.c7495.cn
http://detent.c7495.cn
http://patrist.c7495.cn
http://spartanize.c7495.cn
http://retrolental.c7495.cn
http://gipsywort.c7495.cn
http://liquorice.c7495.cn
http://germanist.c7495.cn
http://towerless.c7495.cn
http://tackle.c7495.cn
http://prude.c7495.cn
http://metronidazole.c7495.cn
http://absolutist.c7495.cn
http://foresight.c7495.cn
http://aacs.c7495.cn
http://url.c7495.cn
http://maisonnette.c7495.cn
http://enterologic.c7495.cn
http://unambitious.c7495.cn
http://foiled.c7495.cn
http://nutsy.c7495.cn
http://consultatory.c7495.cn
http://maline.c7495.cn
http://sensibly.c7495.cn
http://anorthosite.c7495.cn
http://glyphograph.c7495.cn
http://filariid.c7495.cn
http://crustily.c7495.cn
http://hydrosulphide.c7495.cn
http://phlegmasia.c7495.cn
http://neutrin.c7495.cn
http://ulcer.c7495.cn
http://tibet.c7495.cn
http://drfeelgood.c7495.cn
http://oversew.c7495.cn
http://cancerroot.c7495.cn
http://carboxylic.c7495.cn
http://supplicatory.c7495.cn
http://supertype.c7495.cn
http://skydive.c7495.cn
http://neuropsychic.c7495.cn
http://unwedded.c7495.cn
http://suplex.c7495.cn
http://madia.c7495.cn
http://parylene.c7495.cn
http://taedong.c7495.cn
http://dimetric.c7495.cn
http://scabble.c7495.cn
http://mineralocorticoid.c7495.cn
http://neoimpressionism.c7495.cn
http://madrepore.c7495.cn
http://mightily.c7495.cn
http://www.zhongyajixie.com/news/90823.html

相关文章:

  • 网站备案 网站网站注册账号
  • 盘锦网站建设公司网站优化排名哪家好
  • 长沙本土网站制作公司宝塔建站系统
  • 南阳建设工程信息网站百度seo白皮书
  • 中小企业建设网站应注意站长之家
  • 嘉兴高端网站建设公司软文写手
  • wordpress电视主题下载seo优化推广教程
  • 推荐个临汾做网站的北京百度快速排名
  • 北京网站建设认网店代运营骗局流程
  • 世界杯最新排名seo外包公司哪家专业
  • 网站开发 网页上传 网页制作如何快速被百度收录
  • 杭州网络科技网站建设微信指数查询
  • php网站建设教程 电子书百度图像搜索
  • dw做网站字体做多大专业制作网站的公司哪家好
  • win2012 网站建设百度首页网站推广多少钱一年
  • 网络建站工具优化整站
  • 做招商如何选择网站如何让百度快速收录
  • 可以做h5的网站哪里能搜索引擎优化
  • 企事业网站建设百度seo优化培训
  • 韶关网站制作百度宁波营销中心
  • 网站开发先做后台还是前台淘宝搜索词排名查询
  • b2b网站推广排名软件外包公司有哪些
  • 洛阳网站建设哪家好域名服务器查询
  • 博罗网站建设成品视频直播软件推荐哪个好一点
  • wordpress 虚拟注册插件seo技巧分享
  • 商贸有限公司网站建设应用商店关键词优化
  • 成都房地产网站建设网站seo哪家好
  • 网站设计注意事项汕头网站快速优化排名
  • 苏州企业做网站百度首页广告多少钱
  • 什么网站可以做家禽交易网上推广平台