Nodejs中markdown怎么导出jade格式

Nodejs中markdown怎么导出jade格式

markdown.toHTML导出的是带标签的html,有没有直接点导出jade的方法?

6 回复

当然可以!在Node.js中,你可以使用marked库将Markdown转换为HTML,然后使用jade(现在称为pug)模板引擎将HTML转换为Jade格式。以下是一个简单的示例来展示如何实现这一点:

步骤1:安装必要的依赖

首先,你需要安装markedpug库。你可以通过npm来安装它们:

npm install marked pug

步骤2:编写转换脚本

接下来,创建一个JavaScript文件(例如convert.js),并编写以下代码:

const marked = require('marked');
const pug = require('pug');

// 示例Markdown文本
const markdownText = `
# 标题

这是一个段落。

- 列表项1
- 列表项2
`;

// 将Markdown转换为HTML
const htmlContent = marked(markdownText);

// 使用Pug模板将HTML转换为Jade格式
const jadeTemplate = `
doctype
html
  head
    title 文档标题
  body
    != htmlContent
`;

const compiledFunction = pug.compile(jadeTemplate);
const jadeOutput = compiledFunction({ htmlContent });

console.log(jadeOutput);

解释

  1. 引入依赖

    • marked:用于将Markdown转换为HTML。
    • pug:用于将HTML转换为Jade格式。
  2. Markdown文本

    • 定义了一个包含Markdown语法的字符串markdownText
  3. Markdown到HTML转换

    • 使用marked库将Markdown文本转换为HTML字符串htmlContent
  4. Jade模板

    • 创建一个Jade模板字符串jadeTemplate,其中包含了HTML结构,并使用!= htmlContent来插入之前生成的HTML内容。
  5. 编译和输出

    • 使用pug.compile编译模板。
    • 通过传递htmlContent变量给编译后的函数,生成最终的Jade输出。

输出结果

当你运行这个脚本时,你将会得到一个Jade格式的字符串,类似于以下内容:

doctype
html
  head
    title 文档标题
  body
    <h1>标题</h1>
    <p>这是一个段落。</p>
    <ul>
      <li>列表项1</li>
      <li>列表项2</li>
    </ul>

这样,你就成功地将Markdown文本转换为了Jade格式的字符串。希望这对你有帮助!


找一个或者写一个html to jade,然后markdown -> html -> jade

是啊,就想问有没有现成。。。还有就是如果markdown导出html,html再转到jade那Jade的优势何在,还不如不用markdown了,不是吗?

Markdown 为书写而生,Jade 为模板而生

这个问题还真是没有直接的工具能一步到位,目前还算需要html做中介把?

在Node.js中,Markdown 和 Jade (Pug) 是两种不同的模板语言。Markdown 主要用于将文本转换为 HTML,而 Jade(现在称为 Pug)是一种用于生成 HTML 的模板引擎。因此,直接将 Markdown 转换为 Jade 格式并不是一个常见的需求,通常我们是先将 Markdown 转换为 HTML,然后根据需要使用 Pug 模板来渲染 HTML。

不过,你可以通过以下步骤实现:

  1. 将 Markdown 转换为 HTML。
  2. 使用 Pug 模板引擎来渲染该 HTML。

首先,你需要安装一些必要的库,如 marked(用于 Markdown 解析)和 pug(用于 Pug 渲染):

npm install marked pug

接下来,我们可以编写一段代码来实现这个过程。假设你有一个 Markdown 文件 example.md

const fs = require('fs');
const marked = require('marked');
const pug = require('pug');

// 读取 Markdown 文件
const markdownContent = fs.readFileSync('example.md', 'utf-8');

// 将 Markdown 转换为 HTML
const htmlContent = marked(markdownContent);

// 编写一个简单的 Pug 模板
const template = `
doctype
html
  head
    title My Document
  body
    != htmlContent
`;

// 使用 Pug 渲染 HTML
const renderedHtml = pug.render(template, { htmlContent });

// 输出结果到文件或直接使用
fs.writeFileSync('output.html', renderedHtml);
console.log('Rendered HTML has been saved to output.html');

这段代码做了以下几件事:

  1. 从文件中读取 Markdown 内容。
  2. 使用 marked 库将 Markdown 转换为 HTML。
  3. 定义一个简单的 Pug 模板,其中包含了一个变量 htmlContent
  4. 使用 pug.render 方法将 Pug 模板渲染成最终的 HTML。
  5. 将渲染后的 HTML 写入文件 output.html 或直接使用。

这样你就可以通过 Markdown 文件生成最终的 HTML,并且可以根据需要使用 Pug 模板进行进一步的定制。

回到顶部