【2019 - 01 - 27 更新】發布 CodeToHtml V 1.2 版本。下載鏈接:
更新內容如下(一些配置文件格式進行了升級,因此不兼容 1.0 版的所有配置文件):
CodeToHtml V1.2
1. 支持多種配色方案的配置。配色方案文件被獨立存儲在 ColorThemes 文件夾下。
2. 對行號的支持比 V1.0 更加合理。
3. 對代碼行中的連續空格正確處理。
4. 支持 TAB 鍵配置為 2 或 4 個空格。
5. 對語言配置文件的格式更新和增強。支持多種字符串,多種行注釋。
6. 更好的支持 INI,Makefile, ASM 等語言的高亮。
發布日期:2019-01-27,12:38
V1.2 版截圖如下:
圖 1. 程序主界面。
圖2. 選項對話框。可以設置和即時預覽代碼着色效果。
圖3. 在 QZone (QQ 空間)中插入一段 C++ 代碼的效果。
以下是 CodeToHtml V 1.0 (第一版)發布時的原文內容: -- 2019-01-27;
——用於輔助程序員在非技術專業性的其他普通博客/社區,插入一段代碼。使其感覺如同在技術博客上插入代碼一樣。
此程序的主要功能是根據編程語言的特點,把代碼轉化成 HTML 文本,使其顯示效果如同在博客園中插入的代碼或者IDE中相似。此程序的參考來源主要有:
HTML 文本:參考了博客園中插入的代碼的 HTML 文本。
語法着色:主要參考了 UltraEdit 的配置文件,從而生成 CodeToHtml (本工具)的編程語言相關配置文件。
程序特點:
支持的編程語言可以由用戶自主自由擴展,目前已經添加支持的語言有 C/C++, C#, SQL, JavaScript ,他們主要是從 UltraEdit 的配置文件中轉換而得到的 CodeToHtml 的配置文件。
軟件的主界面如下:
在其他普通的博客上發表文章時,切換到 HTML 編輯模式,然后復制轉化后的 HTML 代碼,即可實現和在博客園等技術社區相似的代碼塊效果。
如需了解這個程序在實現過程中的更多技術方面細節,請參考以下文章(最早發表於我的 QQZone 中,鑒於無特別創新性內容,而未發布於技術博客):
http://blog.163.com/jinfd@126/blog/static/623322772013227115128916/
(備注:下面的鏈接原始 V1.0 版,請升級到本文開頭的 V1.2 版) -- 2019-01-27 22:10。
可執行程序的下載連接(這是一個 C++ 程序,Native Code):
http://files.cnblogs.com/hoodlum1980/CodeToHtml_bin.zip
關於開發此程序的必要性:
也許你會覺得這是一個比較沒必要的功能。這主要是因為我有把一些技術總結,備忘錄,學習筆記(例如把算法導論中的算法偽碼翻譯到 C++代碼),技術文章翻譯,和無太多創新性內容性質的,但是內容又關於技術的文章發表在其他博客的需求(因為這些文章的內容本身我覺得放在技術博客上占位並不太合適)。
誠然我們可以借助技術博客來生成這個html,再修改后粘貼到非技術空間中,但是這樣的主要麻煩在於,需要先在技術博客發表文稿,然后把其html代碼中的 CSS Class 轉換成實際的 style 屬性(因為 QQZone 並不支持編輯日志時,由用戶指定引用外部 css 文件)。且技術社區生成的html 的行和標簽混雜在一起,不宜於直接在 html 文本中定位和修改,即使在技術社區博客,當我想要修改和調整那些自動生成的 html 時,也會感覺這是個讓人頭疼的繁瑣工作,而且在線編輯真的挺累得。因此,這就是這個程序的誕生背景和需求,盡管它看起來好像功能很簡單,但寫起來實際並不容易,經歷了很多各種小錯誤,包括內存泄露,內存讀寫越界等等,最終我總計用了大約 5 ~ 6 天的時間使其穩定(已進行過對超過 1000+ 行 CPP 代碼的轉換測試,目前輸入規模主要受到 Edit 控件的默認最大字符個數限制)。歡迎有相同需求的人自由下載試用。THAT IS ALL.
【更新】
(1)新增插入表格(生成表格的html代碼)功能。2013年7月8日。