LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

Showdown:一個將Markdown格式轉換為富文本HTML格式的完整JavaScript代碼函數

admin
2025年8月25日 16:32 本文熱度 59

Showdown 這個開源 JavaScript 庫來將 Markdown 轉換為 HTML。它功能強大、使用簡單,并且可以直接在瀏覽器中運行。下面是一個完整的單頁面 HTML 示例,你只需將代碼保存為 .html 文件并在瀏覽器中打開即可使用。

Markdown 轉 HTML 轉換器

下面是一個完整的單頁面 HTML 應用程序,它使用 Showdown 庫實現 Markdown 到 HTML 的轉換,并提供了實時預覽功能:

<!DOCTYPE html>

<html lang="zh-CN">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Markdown 轉 HTML 轉換器</title>

    <!-- 使用 GitHub Markdown 的 CSS 樣式,讓渲染的 HTML 更美觀 -->

    <link rel="stylesheet" >

    <!-- Showdown Markdown 轉 HTML 庫 -->

    <script src="https://cdn.jsdelivr.net/npm/showdown@2.1.0/dist/showdown.min.js"></script>

    <style>

        body {

            font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;

            max-width: 1200px;

            margin: 0 auto;

            padding: 20px;

            background-color: #f6f8fa;

            color: #24292e;

        }

        .container {

            display: flex;

            flex-direction: column;

            gap: 20px;

        }

        @media (min-width: 768px) {

            .container {

                flex-direction: row;

            }

            .editor-container, .preview-container {

                width: 50%;

            }

        }

        .editor-container, .preview-container {

            display: flex;

            flex-direction: column;

        }

        h1 {

            text-align: center;

            color: #2c3e50;

            margin-bottom: 30px;

        }

        h2 {

            font-size: 1.2em;

            padding-bottom: 10px;

            border-bottom: 1px solid #e1e4e8;

            color: #2c3e50;

        }

        textarea {

            width: 100%;

            height: 300px;

            padding: 14px;

            box-sizing: border-box;

            border: 1px solid #ddd;

            border-radius: 6px;

            resize: vertical;

            font-family: monospace;

           

            line-height: 1.5;

        }

        #preview {

            flex-grow: 1;

            padding: 14px;

            border: 1px solid #ddd;

            border-radius: 6px;

            background-color: white;

            overflow-y: auto;

            height: 300px;

        }

        .github-markdown-body {

            box-sizing: border-box;

            min-width: 200px;

            max-width: 980px;

            margin: 0 auto;

            padding: 20px;

        }

        .button-container {

            display: flex;

            justify-content: center;

            gap: 10px;

            margin-top: 20px;

        }

        button {

            padding: 10px 20px;

            background-color: #2ea44f;

            color: white;

            border: none;

            border-radius: 6px;

            cursor: pointer;

            font-size: 16px;

            transition: background-color 0.2s;

        }

        button:hover {

            background-color: #22863a;

        }

        #copyBtn {

            background-color: #0366d6;

        }

        #copyBtn:hover {

            background-color: #0256b3;

        }

        .instructions {

            background-color: #f8f9fa;

            border-left: 4px solid #0366d6;

            padding: 15px;

            margin-bottom: 20px;

            border-radius: 0 4px 4px 0;

        }

    </style>

</head>

<body>

    <h1>Markdown 轉 HTML 轉換器</h1>

    

    <div class="instructions">

        <p><strong>使用說明:</strong> 在左側輸入 Markdown 文本,右側將實時顯示轉換后的 HTML 預覽。點擊"復制 HTML"按鈕可將生成的 HTML 代碼復制到剪貼板。</p>

    </div>

    

    <div class="container">

        <div class="editor-container">

            <h2>Markdown 輸入</h2>

            <textarea id="markdownInput" placeholder="在此輸入 Markdown 文本..."># Hello World!


這是一個簡單的Markdown示例。


- 列表項一

- 列表項二

- 列表項三


**粗體文本** *斜體文本*


[這是一個鏈接](https://www.example.com)


> 這是一個引用塊</textarea>

        </div>

        

        <div class="preview-container">

            <h2>HTML 預覽</h2>

            <div id="preview" class="markdown-body"></div>

        </div>

    </div>

    

    <div class="button-container">

        <button id="copyBtn">復制 HTML</button>

        <button id="clearBtn">清空內容</button>

    </div>


    <script>

        // 初始化 Showdown 轉換器

        const converter = new showdown.Converter({

            tables: true,

            tasklists: true,

            strikethrough: true,

            simplifiedAutoLink: true

        });

        

        // 獲取DOM元素

        const markdownInput = document.getElementById('markdownInput');

        const preview = document.getElementById('preview');

        const copyBtn = document.getElementById('copyBtn');

        const clearBtn = document.getElementById('clearBtn');

        

        // 更新預覽函數

        function updatePreview() {

            const markdownText = markdownInput.value;

            const html = converter.makeHtml(markdownText);

            preview.innerHTML = html;

        }

        

        // 初始加載時更新預覽

        updatePreview();

        

        // 輸入時實時更新預覽

        markdownInput.addEventListener('input', updatePreview);

        

        // 復制HTML代碼到剪貼板

        copyBtn.addEventListener('click', function() {

            const html = converter.makeHtml(markdownInput.value);

            navigator.clipboard.writeText(html).then(() => {

                alert('HTML 代碼已復制到剪貼板!');

            }).catch(err => {

                console.error('無法復制文本: ', err);

                alert('復制失敗,請手動復制預覽內容。');

            });

        });

        

        // 清空內容

        clearBtn.addEventListener('click', function() {

            if (confirm('確定要清空所有內容嗎?')) {

                markdownInput.value = '';

                preview.innerHTML = '';

            }

        });

    </script>

</body>

</html>

功能說明

這個頁面提供以下功能:

  1. 實時預覽:在左側輸入 Markdown 文本,右側會實時顯示轉換后的 HTML 效果。

  2. 復制 HTML:點擊"復制 HTML"按鈕可以將生成的 HTML 代碼復制到剪貼板。

  3. 清空內容:點擊"清空內容"按鈕可以清除所有輸入和預覽。

  4. 響應式設計:頁面布局會自適應不同屏幕尺寸。

使用的庫

  1. Showdown:一個用 JavaScript 編寫的 Markdown 到 HTML 的轉換器,支持客戶端和服務器端使用。

  2. GitHub Markdown CSS:讓渲染的 HTML 具有 GitHub 風格的樣式。

使用方法

  1. 將上述代碼復制到一個文本編輯器中。

  2. 保存為 .html 文件(例如 markdown-converter.html)。

  3. 在瀏覽器中打開該文件即可使用。

  4. 如果你想了解更多關于 Showdown 庫的詳細信息,可以訪問其 GitHub 頁面


該文章在 2025/8/25 20:43:46 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
天天爱天天做天天做天天吃中文 | 亚洲v在线观看v | 亚洲欧美成aw人在线 | 午夜在线视频网址亚洲 | 亚洲日韩欧美国产精品区 | 亚洲精品视频中文 |