Cách biên dịch một lựa chọn các tài liệu Markdown


7

Xử lý một tệp Markdown duy nhất thành HTML:

pandoc -f markdown -t html inputfile.md

Mặc dù tôi có thể sử dụng Pandoc như thế này để xử lý các tệp Markdown riêng lẻ, tôi muốn biên dịch một danh sách các tệp Markdown đã chọn và xử lý chúng thành một tệp duy nhất.

Nếu tôi có một số tệp Markdown:

inputfile1.md, inputfile2.md, inputfile3.md

Làm cách nào tôi có thể biên dịch chúng và xử lý chúng bằng Pandoc thành một tệp đầu ra?


3
Bạn đưa ra mười dòng thông tin cơ bản không liên quan và đặt câu hỏi một dòng thiếu tất cả thông tin cần thiết. Thông thường một ví dụ được đưa ra nếu mọi người có vấn đề như vậy. Các tệp được chọn như thế nào và shell sẽ xử lý chúng như thế nào?
Hauke ​​Laging

Câu trả lời:


8

pandoc có thể mất nhiều tập tin đầu vào. Chỉ dùng:

pandoc -s -o output.html input1.md input2.md input3.md

-snói với pandoc để tạo một tệp độc lập (vì vậy nó sẽ chứa <html></html>các thẻ, v.v., thay vì chỉ tạo một đoạn). -o output.htmlxác định đó output.htmlsẽ là tập tin đầu ra. Với tệp đầu ra kết thúc bằng .html, -t htmlkhông cần thiết - nếu bạn muốn xuất ra STDOUT, rõ ràng hãy giữ nó.

Sau một chút thử nghiệm, có vẻ như -f markdownkhông cần thiết ngay cả khi sử dụng đầu vào mà không có phần mở rộng tệp - vì đó là cách đánh dấu mặc định mà pandoc mong đợi hoặc pandoc có thể phát hiện ngôn ngữ đánh dấu nào đang được sử dụng.

Tất nhiên, bạn có thể sử dụng các khối để gõ ít hơn:

pandoc -s -o output.html input*.md

9

Bạn cung cấp rất nhiều nền tảng, nhưng thật khó để nói bạn thực sự muốn gì ở mức độ chức năng, vì vậy tôi chủ yếu đoán về cách các tệp của bạn được cấu trúc ở đây. Trong tương lai, vui lòng cung cấp ít thông tin cơ bản và nhiều thông tin có liên quan đến câu hỏi để bạn có thể được giúp đỡ hiệu quả hơn.

Nếu bạn muốn biên dịch tất cả *.mdcác tệp trong thư mục hiện tại thành các tệp riêng của chúng:

for file in *.md; do
    pandoc -f markdown -t html "$file"
done

Nếu bạn muốn biên dịch tất cả *.mdcác tệp trong thư mục hiện tại thành các tệp riêng của chúng, hãy đệ quy:

find . -name '*.md' -exec pandoc -f markdown -t html {} \;

Nếu bạn muốn biên dịch tất cả *.mdcác tệp trong thư mục hiện tại thành một tệp:

pandoc -f markdown -t html -o foo.html *.md 

Nếu bạn muốn biên dịch tất cả *.mdcác tệp trong thư mục hiện tại thành một tệp, hãy đệ quy (không phải POSIX):

pandoc -f markdown -t html <(find . -name '*.md' -exec cat {} +) -o foo.html

Hoặc (bash4 +):

shopt -s globstar
pandoc -f markdown -t html -o foo.html **/*.md
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.