2010-10-30 17 views
2

我有一個以Multimarkdown格式編寫的大型(〜4GB)文本文件,我想將其轉換爲HTML。如何將大型Multimarkdown文件轉換爲HTML?

我想:

use strict; 
use warnings; 

use File::Map qw (map_file); 
use Text::MultiMarkdown qw (markdown); 

my $filename = shift // die; 
map_file (my $text, $filename); 
print markdown($text); 

,但它仍然扼流圈內存。

+0

出於好奇,系統有多少內存?我猜你至少需要12GB才能完成你的工作。 – 2010-10-30 11:57:30

回答

1

您需要以塊的方式處理文件,確保塊以可忽略的空格結尾(以免分割列表和表格等)。

提供有關文件結構和內容的更多信息,以幫助我們爲您提供其他有用的指針。

+2

值得注意的是,如果文檔包含Multimarkdown的任何功能(如書目和腳註),將這些部件重新編織在一起將涉及到自己的挑戰。 – FMc 2010-10-30 12:37:05

1

我注意到Discount管理容忍大約100 MB。 Pandoc似乎容忍約20 MB。它們都不能完全管理MMD降價擴展,但它們大多數都有自己的等價物。

這不是這個計劃的主要問題:你打算用什麼來閱讀html? Chrome正在設法打開100 MB的文件,但卻花費了大量的內存。執行搜索或向下遊標。也許你需要像思南那樣的計劃,但是爲每個塊產生單獨的html文件,最後以超文本結尾到下一個文件....