angular 中引入 markdown
ngx-markdown 是 Angular2+
的一个第三方库,它的主要功能是将md文件转换为HTML格式,并且支持语法高亮。
GITHUB地址:https://github.com/jfcere/ngx-markdown
安装
1. 安装 ngx-markdown
使用 npm
进行安装,在 `angular`项目目录中执行:
npm install ngx-markdown --save
在应用中引入 marked 的支持.引入:
"scripts" : [ "../node_modules/marked/lib/marked.js" //增加此句 ]
2. 安装语法高亮
npm install prismjs --save
为了使 prism.js
语法高亮可以正常执行,需要引入以下文件 :
- prism.js 的关键库文件,
node_modules/prismjs/prism.js
- 一个高亮主题,
node_modules/prismjs/themes
- 代码语言描述文件,
node_modules/prismjs/components
文件
Angular Cli
构建工具,可以将下列语句添加到.angular-cli.json
文件中:"styles": [ "styles.css", + "../node_modules/prismjs/themes/prism-okaidia.css" ], "scripts": [ + "../node_modules/prismjs/prism.js", + "../node_modules/prismjs/components/prism-csharp.min.js", # c-sharp language syntax + "../node_modules/prismjs/components/prism-css.min.js" # css language syntax ]
组件
有三种方式来将markdown文件渲染为HTML。
分别是:
<!-- static markdown --> <markdown> # Markdown </markdown> <!-- loaded from remote url --> <markdown [src]="'path/to/file.md'" (error)="onError($event)"></markdown> <!-- variable binding --> <markdown [data]="markdown"></markdown>
第三种, 是使用的Angular中的数据绑定。
指令组件(Directive)
<!-- static markdown --> <div markdown> # Markdown </div> <!-- loaded from remote url --> <div markdown [src]="'path/to/file.md'" (error)="onError($event)"></div> <!-- variable binding --> <div markdown [data]="markdown"></div>
管道(Pipe)
<!-- chain `language` pipe with `markdown` pipe to convert typescriptMarkdown variable content --> <div [innerHTML]="typescriptMarkdown | language : 'typescript' | markdown"></div>
服务(Service)
import { Component, OnInit } from '@angular/core'; import { MarkdownService } from 'ngx-markdown'; @Component({ ... }) export class ExampleComponent implements OnInit() { constructor(private markdownService: MarkdownService) { } ngOnInit() { // outputs: <p>I am using <strong>markdown</strong>.</p> console.log(this.markdownService.compile('I am using __markdown__.')); } }
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!