项目符号点和复选框不适用于降价
Bullet points and Check boxes not working for markdown
场景: 我有一个 Angular 4 应用程序,我在其中使用 contentful 作为内容管理系统。因此,在 contentful 中,他们有一个功能可以用作降价。在针对单页应用程序提到的 markdown 中,它被集成并使用管道 mdToHtml 来获取 contentful 中 markdown 字段中内容的结果。
问题: Contentful markdown 选项适用于 angular 应用程序,除了项目符号点和复选框。我正在按照建议使用 https://www.npmjs.com/package/marked 模块。
In contentful for unordered list: 我用过
示例:
* List
* List 2
也试过
- List
- List2
等等,但是没有显示要点,内容分得很清楚。
示例 2:复选框
- [ ] Mercury
- [x] Venus
- [x] Earth (Orbit/Moon)
但结果与拆分句子相同,但不显示复选框。任何的想法?因为标题、锚标签等其他部分工作正常。
这是我的烟斗的样子
import { Pipe, PipeTransform } from '@angular/core';
import * as marked from 'marked';
@Pipe({
name: 'mdToHtml'
})
export class MdToHtmlPipe implements PipeTransform {
constructor() {
}
transform(value: string): any {
return marked(value || '');
}
}
HTML
<p [innerHtml]="example.welcomeParagraph | mdToHtml">
使用标记的库,您应该在正确的 HTML 输出中获得列表。请参阅我在此处创建的 StackBlitz:https://stackblitz.com/edit/angular-oahnaa
的输出
* astrix 1
* astrix 2
是:
<ul> <li>astrix 1</li> <li>astrix 2</li>
如果标记生成正确,您应该能够通过向 ul
元素添加正确的样式来获得要点。
ul {
list-style-type: circle; /* this should be the default style */
}
至于复选框,它们不是主要的 GFM 规范的一部分。因此,它不支持开箱即用。请看这个问题:https://github.com/markedjs/marked/issues/689
您应该能够使用该问题中给出的代码扩展渲染器:
var renderer = new marked.Renderer();
renderer.listitem = function(text) {
if (/^\s*\[[x ]\]\s*/.test(text)) {
text = text
.replace(/^\s*\[ \]\s*/, '<i class="empty checkbox icon"></i> ')
.replace(/^\s*\[x\]\s*/, '<i class="checked checkbox icon"></i> ');
return '<li style="list-style: none">' + text + '</li>';
} else {
return '<li>' + text + '</li>';
}
};
场景: 我有一个 Angular 4 应用程序,我在其中使用 contentful 作为内容管理系统。因此,在 contentful 中,他们有一个功能可以用作降价。在针对单页应用程序提到的 markdown 中,它被集成并使用管道 mdToHtml 来获取 contentful 中 markdown 字段中内容的结果。
问题: Contentful markdown 选项适用于 angular 应用程序,除了项目符号点和复选框。我正在按照建议使用 https://www.npmjs.com/package/marked 模块。
In contentful for unordered list: 我用过
示例:
* List
* List 2
也试过
- List
- List2
等等,但是没有显示要点,内容分得很清楚。
示例 2:复选框
- [ ] Mercury
- [x] Venus
- [x] Earth (Orbit/Moon)
但结果与拆分句子相同,但不显示复选框。任何的想法?因为标题、锚标签等其他部分工作正常。
这是我的烟斗的样子
import { Pipe, PipeTransform } from '@angular/core';
import * as marked from 'marked';
@Pipe({
name: 'mdToHtml'
})
export class MdToHtmlPipe implements PipeTransform {
constructor() {
}
transform(value: string): any {
return marked(value || '');
}
}
HTML
<p [innerHtml]="example.welcomeParagraph | mdToHtml">
使用标记的库,您应该在正确的 HTML 输出中获得列表。请参阅我在此处创建的 StackBlitz:https://stackblitz.com/edit/angular-oahnaa
的输出* astrix 1
* astrix 2
是:
<ul> <li>astrix 1</li> <li>astrix 2</li>
如果标记生成正确,您应该能够通过向 ul
元素添加正确的样式来获得要点。
ul {
list-style-type: circle; /* this should be the default style */
}
至于复选框,它们不是主要的 GFM 规范的一部分。因此,它不支持开箱即用。请看这个问题:https://github.com/markedjs/marked/issues/689
您应该能够使用该问题中给出的代码扩展渲染器:
var renderer = new marked.Renderer();
renderer.listitem = function(text) {
if (/^\s*\[[x ]\]\s*/.test(text)) {
text = text
.replace(/^\s*\[ \]\s*/, '<i class="empty checkbox icon"></i> ')
.replace(/^\s*\[x\]\s*/, '<i class="checked checkbox icon"></i> ');
return '<li style="list-style: none">' + text + '</li>';
} else {
return '<li>' + text + '</li>';
}
};