Văn bản

Markdown Preview / HTML ↔ Markdown

Xem trước Markdown trực tiếp dưới dạng HTML đã định dạng, cùng với chuyển đổi hai chiều: Markdown → HTML và HTML → Markdown.

Markdown is a lightweight markup language that formats text with plain characters (**bold**, # heading, - list) and stays readable even unrendered. This tool gives you a live preview of Markdown as HTML and converts in both directions.

How to use it

Common uses

Things to keep in mind

Different platforms (GitHub, GitLab, Discord) support slightly different Markdown extensions (tables, strikethrough, checkboxes) — the base syntax is the same everywhere.

Converting HTML to Markdown loses whatever Markdown can't express: complex layout, inline styles, deeply nested elements.

Bài viết về công cụ này: Markdown: vì sao cú pháp văn bản đơn giản đánh bại trình soạn thảo phức tạp

Câu hỏi thường gặp

Những chuyển đổi nào được cung cấp?

Có ba chế độ: xem trước trực tiếp Markdown được render thành HTML định dạng, chuyển đổi rõ ràng Markdown → HTML, và chuyển đổi ngược HTML → Markdown.

Công cụ render Markdown nào được sử dụng?

Đây là render Markdown phía client đơn giản bằng JavaScript, không liên quan đến bất kỳ công cụ templating phía server cụ thể nào như Blade hay Twig; kết quả phản ánh Markdown chuẩn, không phải cú pháp riêng của framework.

Nội dung Markdown hoặc HTML của tôi có được gửi đến máy chủ không?

Không, chuyển đổi và xem trước diễn ra hoàn toàn trong trình duyệt, không có nội dung nào được gửi trực tuyến.

Vì sao cùng một tệp lại trông khác nhau trong các ứng dụng khác nhau?

Markdown nguyên bản không định nghĩa bảng, văn bản gạch ngang hay tô sáng cú pháp trong khối mã — đây là các phần mở rộng của nhiều triển khai khác nhau. GitHub Flavored Markdown và đặc tả CommonMark xử lý một số trường hợp mơ hồ theo cách khác nhau, nên việc render cùng một tệp có thể khác nhau tùy trình phân tích cú pháp.

Điều gì bị mất khi chuyển đổi HTML phức tạp sang Markdown?

HTML hỗ trợ nhiều tùy chọn định dạng hơn hẳn so với Markdown cơ bản, nên các bảng phức tạp, kiểu lồng nhau hay đánh dấu phi chuẩn có thể bị đơn giản hóa hoặc mất đi khi chuyển đổi ngược.

Bài viết: Văn bản

Case Converter: vì sao có các kiểu đặt tên khác nhau

Vì sao trong một dự án, biến được viết camelCase nhưng tệp lại kebab-case, và những quy tắc này đến từ đâu.

Text Diff: thuật toán tìm sự khác biệt giữa hai văn bản như thế nào

Thuật toán diff tìm tập hợp thay đổi tối thiểu giữa hai phiên bản văn bản như thế nào.

Biểu thức chính quy: cú pháp cơ bản và các mẫu thường gặp

Cách đọc một biểu thức chính quy, và khớp tham lam khác khớp lười ra sao.

Sắp xếp và loại bỏ dòng trùng lặp: dùng để làm gì

Vì sao sắp xếp theo số đặt "10" trước "9" là một lỗi, và cách tránh điều đó.

String Escape: vì sao cùng một văn bản cần escape khác nhau

Vì sao cùng một dấu ngoặc kép lại được escape khác nhau trong chuỗi JS, JSON và lệnh shell.

CRLF so với LF: vì sao ký tự cuối dòng vẫn còn quan trọng

Vì sao một tệp được viết trên Windows có thể hiển thị là "toàn bộ đã thay đổi" trong git trên Linux.

Đếm ký tự và từ: vì sao không phải lúc nào cũng đơn giản

Vì sao một emoji hoặc chữ có dấu có thể được tính là nhiều ký tự cùng lúc.

Lorem Ipsum: văn bản giữ chỗ đến từ đâu và dùng để làm gì

Vì sao các nhà thiết kế cố tình dùng văn bản "vô nghĩa" thay vì nội dung thật trong bản phác thảo.

Slugify: cách biến bất kỳ văn bản nào thành URL

Một tiêu đề như "Xin chào, Thế giới! Bạn khỏe không?" biến thành chuỗi tương thích URL như xin-chao-the-gioi-ban-khoe-khong ra sao.

Khoảng trắng và ký tự vô hình: nguyên nhân ẩn giấu của các lỗi kỳ lạ

Vì sao hai chuỗi trông giống hệt nhau có thể không khớp do một ký tự vô hình.

Text Reverse: vì sao "đảo ngược văn bản" khó hơn tưởng tượng

Vì sao đảo ngược chuỗi ngây thơ có thể biến một emoji thành các byte không sử dụng được.

Phân tích tần suất văn bản: vì sao cần đếm số lần từ lặp lại

Tần suất chữ cái trong văn bản mã hóa giúp phá vỡ các mật mã thay thế đơn giản nhất như thế nào.