前端通过导入editor.md库实现markdown功能

小王学习录

  • 今日摘录
  • 前言
  • jquery下载
  • editor下载
  • editor和jquery的导入
  • 初始化editor
  • 总结

今日摘录

满招损,谦受益
在这里插入图片描述

前言

要想通过editor.md实现markdown的功能,需要经过如下四步:

  1. 下载editor.md到本地
  2. 将本地editor导入到前端代码中
  3. 编写少量代码对其进行初始化

但是还需要注意的一点是,editor.md要依赖于jquery。jquery是一个被广泛运用于前端的库,我们需要先将jquery下载到本地。以下是详细步骤:

jquery下载

    1. 在浏览器中搜索cdn jquery

在这里简单介绍一下cdn,cdn是一个被广泛运用在互联网中的技术

  1. cdn(内容分发网络)技术是通过分布在全国各地的服务器,将网站的内容(如图像、音频、脚本等)缓存到离用户更近的位置,减小网络传输路径,从而提高访问速度。
  2. 这些服务器通常是网络运营商提供的。以度娘为例,度娘有很多提供给用户的图像,视频等体积较大的数据。如果只将这些数据保存在百度的服务器中,那么当用户读取这些数据时,会占取大量的io带宽资源,如果用户距离服务器比较远,那么传输过程中经历的中间节点就越多,用户的访问速度就越慢。
  3. 网络运营商提供了服务器(这类服务器一般内存大,带宽也更大,而且全国各地都有),度娘就可以将它的数据安放在服务器上,当用户要访问这些数据时,就会从距离它最近的服务器上去获取数据
    1. 找到jquery,这里注意不要点到广告里面去。
      在这里插入图片描述
    1. 点击之后进入如下页面中。注意选择jquery.min,js,这个版本是经过代码混淆之后的版本,关于代码混淆下面会介绍。在这里插入图片描述
    1. 点击复制链接之后,直接将链接粘贴到浏览器中访问。
  • 在这里插入图片描述– 上面绿框中的代码便是jquery的代码了。我们看起来这么一大坨是因为这是被代码混淆过之后的代码。
    – 通过之前对网络编程的学习我们知道当数据越长时,数据传越耗时,js代码也是如此。因此js代码在进行传输时,会经过代码混淆机制。
    – 在代码混淆过程中,会去掉代码中的换行,空格等符号。同时将变量名改为简单的字母。从而减小js代码的长度。
    在这里我们直接将内容全部选中然后复制就好。

    1. 然后在代码编辑器中创建文件,将代码粘贴到文件中。这里我用的编辑器是VSCode
      在这里插入图片描述
    1. 到这里我们的jquery就算导入成功了,接下来就要进行editor库的下载和导入了。

editor下载

在editor下载时需要去github官网中进行下载。众所周知想访问github需要一些特殊手段,这里想省事的看官可以直接从百度网盘中进行下载:
注意以下两种下载方式最后都将文件保存在与html文件的同级目录下

链接:https://pan.baidu.com/s/1s1NQcVrJOsv3Ey6j0eFwgw
提取码:2222

在github中下载的看官直接搜索editor即可
在这里插入图片描述在这里插入图片描述
将editor下载并保存在与html文件同级目录下之后,在代码编辑器中会出现一个editor文件。建议看官文件名和我一致editor.md
在这里插入图片描述

editor和jquery的导入

  1. 首先在html代码的body中加入如下代码
      <div id="editor">
          <!--这里用id是为了与markdown编辑器对接-->
          
      </div>
  1. 然后在html代码的head中加入如下代码
    <script src="js/jquery.min.js"></script>
    <link rel="stylesheet" href="editor.md/css/editormd.min.css">
    <script src="editor.md/lib/marked.min.js"></script>
    <script src="editor.md/lib/prettify.min.js"></script>
    <script src="editor.md/editormd.js"></script>

初始化editor

在html代码的body中加入js语句

    <script>
        var editor = editormd("editor", {
            width: "100%",
            height: "500px",
            markdown: "# 在这里写下一篇博客",
            path: "editor.md/lib/"
        });
    </script>

总结

这样就实现了一个简易的markdown功能了。
在这里插入图片描述完整代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="js/jquery.min.js"></script>
    <link rel="stylesheet" href="editor.md/css/editormd.min.css">
    <script src="editor.md/lib/marked.min.js"></script>
    <script src="editor.md/lib/prettify.min.js"></script>
    <script src="editor.md/editormd.js"></script>
</head>
<body>
    <div id="editor">
        <!--这里用id是为了与markdown编辑器对接-->
        
    </div>
    <script>
        var editor = editormd("editor", {
            width: "100%",
            height: "500px",
            markdown: "# 在这里写下一篇博客",
            path: "editor.md/lib/"
        });
    </script>
</body>
</html>

如果想要对这个页面进一步进行修饰渲染,还需要结合一些html和css代码,这里就不继续往下写了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/132530.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Leetcode—103.二叉树的锯齿形层序遍历【中等】

2023每日刷题&#xff08;二十六&#xff09; Leetcode—103.二叉树的锯齿形层序遍历 BFS实现代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ /*** Return an array of ar…

【原创课设】java+swing+mysql药店管理系统设计与实现

摘要&#xff1a; 药店管理系统对于药店运营具有重大的意义。首先&#xff0c;它可以提高药店的运营效率&#xff0c;减少人工操作成本&#xff0c;通过信息化的管理方式&#xff0c;可以提高药店的服务质量和管理水平&#xff0c;增强药店的市场竞争力。用户可以登录系统直接…

Raft分布式一致性算法

拜占庭将军 假设多位拜占庭将军中没有叛军&#xff0c;信使的信息可靠但有可能被暗杀的情况下&#xff0c;将军们如何达成是否要进攻的一致性决定&#xff1f;解决问题的思路是&#xff0c;从多位处于平等地位的将军中选举出一位大将军&#xff0c;所有作战指令由大将军发出。…

伪造referer [极客大挑战 2019]Http1

打开题目 没有发现什么&#xff0c;我们查看源代码 在这里我们发现了提示 访问一下页面得到 提示说不能来自于https://Sycsecret.buuoj.cn&#xff0c;我们尝试访问一下这个url 发现访问不了 我们bp抓包一下 伪造个referer头 referer:https://Sycsecret.buuoj.cn 发包过去…

经典的测试开发面试题

1、你在测试中发现了一个bug&#xff0c;但是开发经理认为这不是一个bug&#xff0c;你应该怎样解决&#xff1f; 首先&#xff0c;将问题提交到缺陷管理库进行备案。 然后&#xff0c;要获取判断的依据和标准&#xff1a; 根绝需求说明书&#xff0c;产品说明、设计文档等&…

邻接表储存图实现广度优先遍历(C++)

目录 基本要求&#xff1a; 邻接表的结构体&#xff1a; 图的邻接表创建&#xff1a; 图的广度优先遍历&#xff08;BFS&#xff09;&#xff1a; 邻接表的打印输出&#xff1a; 完整代码&#xff1a; 测试数据&#xff1a; 结果运行&#xff1a; 通过给出的图的顶点和…

Jmeter之Bean shell使用详解

一、什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精…

Android---内存泄漏的优化

内存泄漏是一个隐形炸弹&#xff0c;其本身并不会造成程序异常&#xff0c;但是随着量的增长会导致其他各种并发症&#xff1a;OOM&#xff0c;UI 卡顿等。 为什么要将 Activity 单独做预防&#xff1f; 因为 Activity 承担了与用户交互的职责&#xff0c;因此内部需要持有大…

JAVA基础语法编程详解

1 类型转换 描述&#xff1a; 设计一个方法&#xff0c;将一个小于2147483647的double类型变量以截断取整方式转化为int类型输入描述&#xff1a; 随机double类型变量输出描述&#xff1a; 转化后的int类型变量示例 输入&#xff1a;123.45 输出&#xff1a; 123 题解思路&…

吴恩达《机器学习》8-1->8-2:非线性假设、神经元和大脑

一、非线性假设 在之前学到的线性回归和逻辑回归中&#xff0c;存在一个缺点&#xff0c;即当特征数量很多时&#xff0c;计算的负荷会变得非常大。考虑一个例子&#xff0c;假设我们使用 &#x1d465;₁, &#x1d465;₂ 的多项式进行预测&#xff0c;这时我们可以很好地应…

【自定义类型:结构体】

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 前言 1. 结构体类型的声明 1.1 结构体的概念 1.2 结构的声明 ​编辑 1.3 特殊的声明 1.4 结构的自引用 2. 结构体变量的创建和初始化 3. 结构成员访问操作符 4. 结构体内…

数据库01-慢查询优化

目录 MySQL优化 慢查询 如何定位慢查询&#xff1f; 如何分析慢查询&#xff1f; MySQL优化 MySQL 优化是数据库管理和应用性能调优的一个重要方面。以下是一些常规性的 MySQL 优化经验和适用场景&#xff1a; 索引优化&#xff1a; 确保表的字段上有适当的索引&#xff0…

如何选择一个可靠的爬虫代理服务商?技术人员都需要知道

我身边从事大数据相关行业的朋友最近告诉我&#xff0c;自己新招的小伙伴工作效率很低&#xff0c;很多最基础的工具都不会选择&#xff0c;经常因为代理IP不可靠导致工作出错。 听完这些我才意识到&#xff0c;在这个大数据时代&#xff0c;还是有很多新手在进行网络爬取任务…

threejs(11)-精通着色器编程(难点)2

一、shader着色器编写高级图案 小日本国旗 precision lowp float; varying vec2 vUv; float strength step(0.5,distance(vUv,vec2(0.5))0.25) ; gl_FragColor vec4(strength,strength,strength,strength);绘制圆 precision lowp float; varying vec2 vUv; float strength 1…

Java中Enum枚举类型在项目中应用

1、什么是枚举类型&#xff1f; 1、枚举的本质就是穷举法&#xff0c;将可能会出现的情况&#xff0c;都列举出来&#xff0c;然后在列举的情况中调用。 2、枚举与class类似&#xff0c;也可以定义属性&#xff0c;构造方法&#xff0c;有getter和setter方法。 3、枚举类型对…

改进YOLOv8:结合ICCV2023|动态蛇形卷积,构建不规则目标识别网络

🔥🔥🔥 提升多尺度、不规则目标检测,创新提升 🔥🔥🔥 🔥🔥🔥 捕捉图像特征和处理复杂图像特征 🔥🔥🔥 👉👉👉: 本专栏包含大量的新设计的创新想法,包含详细的代码和说明,具备有效的创新组合,可以有效应用到改进创新当中 👉👉👉: �…

基于FPGA的PS端的Si5340的控制

1、功能 Si5340/41-D可以输出任意频率&#xff0c;当然有范围&#xff0c;100Hz1GHz。外部输入为24M或者4854M的XTAL&#xff0c;VCO在13500~14256Mhz之间&#xff0c;控制接口采用IIC或者SPI。 芯片架构图 2、IIC控制方式 3、直接上控制代码 使用米联客ZU3EG&#xff0c;将…

spider-node-初识

spider-node spider想解决的问题1&#xff1a;业务架构层面2&#xff1a;代码层面3&#xff1a;业务&#xff0c;产品&#xff0c;研发&#xff0c;测试之间4: 系统迭代成本高 spider-node 配置讲解spider-node启动 spider想解决的问题 1&#xff1a;业务架构层面 帮助研发团队…

C++学习笔记(一):安装VisualStudio和Vcpkg

VisualStudio安装 error C4996: ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. #include <stdio.h>int main() {printf("hello"…

如何使用pngPackerGUI_V2.0,将png图片打包成plist的工具

pngPackerGUI_V2.0&#xff0c;此软件是在pngpacker_V1.1软件基础之后&#xff0c;开发的界面化操作软件&#xff0c;方便不太懂命令行的小白快捷上手使用。 具体的使用步骤如下&#xff1a; 1.下载并解压缩软件&#xff0c;得到如下目录&#xff0c;双击打开 pngPackerGUI.e…