Markdown转HTML 预览 网页工具

Markdown转HTML 预览 网页工具

Markdown转HTML 预览.html



<!DOCTYPE html>
<html>
<head>

  <title>Markdown转HTML 预览</title>

</head>
<body class="main-body">
  <div><strong>Markdown转HTML 预览</strong></div>




  <div id="main-markdown-input">
    <div>输入 Markdown</div>
    <textarea id="markdown-input" placeholder="Enter markdown here">

# Markdown 元素演示

## 标题

# 一级标题
## 二级标题
### 三级标题

## 段落

这是一个段落。段落之间使用空行分隔。

这是另一个段落。

## 添加三个空白换行

在三个空白换行前的段落。

<br/><br/><br/>

在三个空白换行后的段落。

## 强调

*斜体文本*
_斜体文本_

**粗体文本**
__粗体文本__

## 列表

### 无序列表

- 项目 1
- 项目 2
- 项目 3

### 有序列表

1. 项目 1
2. 项目 2
3. 项目 3

## 链接

[Markdown 入门指南](https://www.example.com)

## 图片

![图片描述](https://www.example.com/image.jpg)

## 引用

> 这是一个引用。

## 代码

`console.log('Hello, World!');`

```javascript
function add(a, b) {
  return a + b;
}

```

## 表格

| 姓名 | 年龄 | 性别 |
| ---- | ---- | ---- |
| 张三 | 25   | 男   |
| 李四 | 30   | 女   |
| 王五 | 28   | 男   |

## 水平线

这是一段文本。

---

这是另一段文本。

## 脚注

这是一个带有脚注的句子。[^1]

[^1]: 这是脚注的内容。

    </textarea>
  </div>




  <div id="main-css-input">
    <div>输入 CSS</div>
    <textarea id="css-input" placeholder="Enter CSS here">

body {
  font-family: Arial, sans-serif;
  line-height: 1.5;
  margin: 20px;
}

h1, h2, h3 {
  color: #333;
}

h1 {
  font-size: 24px;
}

h2 {
  font-size: 20px;
}

h3 {
  font-size: 16px;
}

p {
  margin-bottom: 10px;
}

em {
  font-style: italic;
}

strong {
  font-weight: bold;
}

ul, ol {
  margin-bottom: 10px;
  margin-left: 20px;
}

li {
  margin-bottom: 5px;
}

a {
  color: #007bff;
}

img {
  max-width: 100%;
  height: auto;
  margin-bottom: 10px;
}

blockquote {
  margin: 0;
  padding: 10px;
  background-color: #f8f8f8;
  border-left: 4px solid #ccc;
}

code {
  font-family: Consolas, monospace;
  background-color: #f8f8f8;
  padding: 2px 4px;
  border-radius: 4px;
}

pre {
  background-color: #f8f8f8;
  padding: 10px;
  border-radius: 4px;
  overflow: auto;
}

table {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 10px;
}

th, td {
  border: 1px solid #ccc;
  padding: 8px;
}

hr {
  border: none;
  border-top: 1px solid #ccc;
  margin: 20px 0;
}

sup {
  font-size: 12px;
  vertical-align: super;
  line-height: 1;
}

    </textarea>
  </div>





  <div id="main-html-text">
    <div>输出 HTML 文本</div>
    <textarea id="html-text"></textarea>
  </div>




  <div id="main-html-preview">
    <div>输出 HTML 预览</div>
    <div id="html-preview"></div>
  </div>










  <script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
  <script>
    const markdownInput = document.getElementById('markdown-input');
    const cssInput = document.getElementById('css-input');
    const htmlPreview = document.getElementById('html-preview');
    const htmlText = document.getElementById('html-text');

    markdownInput.addEventListener('input', updatePreview);
    cssInput.addEventListener('input', updatePreview);

    function updatePreview() {
      const markdown = markdownInput.value;
      const css = cssInput.value;
      const html = marked.parse(markdown);
      const styledHtml = `<style>${css}</style>${html}`;
      htmlPreview.innerHTML = styledHtml;
      htmlText.value = html;
    }

    updatePreview();
  </script>









  <style>
    .main-body {
    }
    #main-markdown-input {
      display: inline-block;
      width: 30%;
      height: auto;
    }
    #main-css-input {
      display: inline-block;
      width: 18%;
      height: auto;
    }
    #main-html-text {
      display: inline-block;
      width: 18%;
      height: auto;
    }
    #main-html-preview {
      display: inline-block;
      width: 30%;
      height: auto;
    }
    #markdown-input, #css-input, #html-preview, #html-text {
      width: calc(100% - 20px);
      height: calc(100vh - 150px);
      padding: 10px;
    }
    #markdown-input {
      border: 1px solid #ccc;
      overflow: auto;
    }
    #css-input {
      border: 1px solid #ccc;
      overflow: auto;
    }
    #html-preview {
      border: 1px solid #ccc;
      overflow: auto;
    }
    #html-text {
      border: 1px solid #ccc;
      overflow: auto;
    }
  </style>




</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值