1. 程式人生 > >Linux下批量將md檔案批量轉換為html檔案

Linux下批量將md檔案批量轉換為html檔案

要將markdown檔案轉換成html檔案,可以用discount或python-markdown軟體包提供的markdown:

以下主要介紹在Ubuntu系統下的轉化:

# Debian/Ubuntu

sudo apt-get install discount

或:

# Debian/Ubuntu

sudo apt-get install python-markdown

轉換工作很簡單:

# 用discount提供的markdown工具

markdown -o Release-Notes.html Release-Notes.md

# 用python-markdown提供的markdown_py工具

markdown_py -o html4 Release-Notest.md > Release-Notes.html

如果要生成PDF,也很簡單,可以用python-pisa提供的xhtml2pdf:

# Debian/Ubuntu

sudo apt-get install python-pisa

# 將html轉換成PDF

xhtml2pdf --html Release-Notes.html Release-Notes.pdf

所以,你可以在文件目錄下放置這樣一個Makefile來自動這個過程:

# Makefile

MD = markdown

MDFLAGS = -T

H2P = xhtml2pdf

H2PFLAGS = --html

SOURCES := $(wildcard *.md)

OBJECTS := $(patsubst %.md, %.html, $(wildcard *.md))

OBJECTS_PDF := $(patsubst %.md, %.pdf, $(wildcard *.md))

all: build

build: html pdf

pdf: $(OBJECTS_PDF)

html: $(OBJECTS)

$(OBJECTS_PDF): %.pdf: %.html

    $(H2P) $(H2PFLAGS) $< > [email protected]

$(OBJECTS): %.html: %.md

    $(MD) $(MDFLAGS) -o [email protected] $<

clean:

    rm -f $(OBJECTS)

這樣你就可以通過簡單的一個命令生成當前目錄下所有md檔案的pdf或html輸出了:

# html 輸出

make html

# pdf輸出

make pdf

注意:這裡有個問題是如果markdown的內容是中文,那麼轉換出來的html在瀏覽器中開啟就無法自動識別編碼,pdf更慘,直接是一堆亂碼。這時我們可以藉助markdown對html標記的支援來在markdown檔案中加入編碼資訊。例如我們要將markdown轉換為html檔案,可以在檔案的開頭加上meta標記,指明編碼格式:

sed -i '1i\<meta http-equiv="content-type" content="text/html; charset=UTF-8">' *.md

這樣就可以了。

相關推薦

Linux批量md檔案批量轉換html檔案

要將markdown檔案轉換成html檔案,可以用discount或python-markdown軟體包提供的markdown: 以下主要介紹在Ubuntu系統下的轉化: # Debian/Ubunt

linux shell文字檔案轉換html檔案

  寫了個指令碼,簡單的將文字檔案轉換為html檔案。   1、使用sed命令,具體指令碼如下 1 #! /bin/bash 2 3 cat << END 4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM

資料庫的資料轉換excel檔案下載到本地的方法中遇到的困難及解決方案

以下是將資料庫的資料轉換為excel檔案下載到本地的方法 @Autowired private BooksService booksService; @RequestMapping("/downloadBooksExcel") public void down

ABAP內表資料轉換HTML格式的檔案

TYPES: BEGIN OF TY_VBAP,          VBELN TYPE VBELN,          POSNR TYPE POSNR,          MATNR TYPE MATNR,        END OF TY_VBAP.*-ALL rel

phpxml文件轉換html

php將xml文件轉換為htmltest.xml: <?xml version="1.0" encoding="ISO-8859-1"?> <catalog> <cd> <title>Empire Burlesque</title> <arti

word文件轉換html、PDF等

在日常工作中我們常常要把資料匯入word後,在做列印功能,一般列印在前臺做的話會比在後臺做客戶體驗更好一些,這個時候交給前臺最好是html、pdf、或圖片格式的資料,我的另一篇部落格中講解了怎麼將PDF轉換成圖片,並且可以調整清晰度。 這些方法都是我在工作學習中在網路上借鑑各位前輩的經驗

利用POIExcel文件轉換Html

        excel文件轉換為html其實和word轉html相類似,優點也很明顯。請參考 word轉html public static void convertExcel2Html(String excelFilePath,String htmlFilePat

如何一段字串轉換HTML格式

String text = "字元內容"; String htmlFileName = UUIDUtil.generateUUID()+".html"; String htmlPath = imgPath+ File.separatorChar+htmlFileName; File file2 = n

如果把PNG、JPG、BMP和GIF檔案批量轉換ICO檔案?

有時候需要將大量的圖片檔案(比如PNG、JPG、BMP和GIF檔案)批量轉換為ICO圖示檔案,如果一個一個操作,非常費時間。本文將介紹如何用Dr. Folder軟體快速批量轉換圖片檔案為ICO圖示檔案,詳細的步驟如下: 下載並安裝Dr. Folder目錄博士 選擇工具選單,並開啟PNG轉

linux用bash寫一個批量解壓指令碼

在linux下進行學習時,發現有一個學習資原始檔夾下含有大量的rar格式壓縮包,便想著利用bash shell 寫一個指令碼來一次性解壓所有的壓縮包. 首先測試該段程式碼能否正常判斷每個資料夾下rar檔案是否存在: #迴圈遍歷部分 i=1 #[ ]與內部字元間應該有空格 whil

RTF 批量轉換 DOCX 檔案

RTF 批量轉換為 DOCX 檔案   RTF是多資訊文字格式,可用於多裝置、系統。最近在做一個小的資料批量處理程式時遇到了RTF格式的資料檔案,這種格式雖然跨裝置跨系統,但是發現解析此格式的庫比較少(

Linux如何原始檔逐步編譯成目標檔案的過程

前言 請講一下linux如何原始檔逐步編譯成可執行檔案。 解答 首先先上圖對編譯的整個過程有個感性的認識,然後再逐步分析各個過程。  以hello.c 程式為例 # include <stdio.h> main{ printf("hello\n"

ubuntu用java程式碼呼叫命令java格式檔案轉換html格式檔案

import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.File; import java.io.*; public class C

linux如何資料夾壓縮成.tgz檔案

.tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是壓縮!) --------------------------------------------- .gz 解壓1:gunzi

linux如何當前目錄的檔名存到一個文字檔案

public class GetFileName { public static String [] getFileName(String path) { File file = new File(path); String [] fileName = fi

Linux如何資料庫指令碼檔案從sh格式變為sql格式

 在從事軟體開發的過程中,經常會涉及到在Linux下將資料庫指令碼檔案從sh格式變為sql格式的問題。本文以一個實際的指令碼檔案為例,說明格式轉換的過程。        1. sh檔案內容        本文中的檔名為example.sh,其內容如下: #!/bin/bas

linux一個目錄中的圖片文件合成為gif圖片

linux span depth 合成 linux下 bsp col spa 目錄 # {0} 為文件所在目錄位置 # {1} 為gif圖片位置 convert -delay 30 -depth 8 -layers optimize -quality 80 -loop 0

OBJ模型轉換.h檔案給Xcode使用

參考:http://heikobehrens.net/2009/08/27/obj2opengl/  (英文版的 這裡為翻譯成中文的作為學習記錄 每當您想要使用3D軟體(如攪拌器,3ds max或4D影院)在iPhone應用程式或任何其他OpenGL專案中建模時,您都必須使設計

linux操作mysql、nginx,vim操作,檔案許可權設定等

inux下操作mysql、nginx,vim操作,檔案許可權設定等 #在Linux系統下,預設所有系統配置檔案都在/etc這個路徑下的 #Linux環境下安裝mysql資料庫 ##1、切換到root許可權下,採用yum命令安裝 同時安裝mariadb的客戶端和服務端

Linuxat 和 crontab的基本運用以及臨時檔案基本管理

一、at的基本運用 在終端輸入watch -n 1 ls -R /mnt/           //監控檔案每秒檢視一次並以第歸的方式列出來 使用at命令制定延時任務