天天看點

在技術社群以外的博文中插入代碼(把代碼轉換到 Html 文本)

    ——用于輔助程式員在非技術專業性的其他普通部落格/社群,插入一段代碼。使其感覺如同在技術部落格上插入代碼一樣。

    此程式的主要功能是根據程式設計語言的特點,把代碼轉化成 HTML 文本,使其顯示效果如同在部落格園中插入的代碼或者IDE中相似。此程式的參考來源主要有:

    HTML 文本:參考了部落格園中插入的代碼的 HTML 文本。

    文法着色:主要參考了 UltraEdit 的配置檔案,進而生成 CodeToHtml (本工具)的程式設計語言相關配置檔案。

    程式特點:

    支援的程式設計語言可以由使用者自主自由擴充,目前已經添加支援的語言有 C/C++, C#, SQL, JavaScript ,他們主要是從 UltraEdit 的配置檔案中轉換而得到的 CodeToHtml 的配置檔案。

    軟體的主界面如下:

    

在技術社群以外的博文中插入代碼(把代碼轉換到 Html 文本)

    在其他普通的部落格上發表文章時,切換到 HTML 編輯模式,然後複制轉化後的 HTML 代碼,即可實作和在部落格園等技術社群相似的代碼塊效果。

    如需了解這個程式在實作過程中的更多技術方面細節,請參考以下文章(最早發表于我的 QQZone 中,鑒于無特别創新性内容,而未釋出于技術部落格):

    可執行程式的下載下傳連接配接(這是一個 C++ 程式,Native Code):

    關于開發此程式的必要性:

    也許你會覺得這是一個比較沒必要的功能。這主要是因為我有把一些技術總結,備忘錄,學習筆記(例如把算法導論中的算法僞碼翻譯到 C++代碼),技術文章翻譯,和無太多創新性内容性質的,但是内容又關于技術的文章發表在其他部落格的需求(因為這些文章的内容本身我覺得放在技術部落格上占位并不太合适)。

    誠然我們可以借助技術部落格來生成這個html,再修改後粘貼到非技術空間中,但是這樣的主要麻煩在于,需要先在技術部落格發表文稿,然後把其html代碼中的 CSS Class 轉換成實際的 style 屬性(因為 QQZone 并不支援編輯日志時,由使用者指定引用外部 css 檔案)。且技術社群生成的html 的行和标簽混雜在一起,不宜于直接在 html 文本中定位和修改,即使在技術社群部落格,當我想要修改和調整那些自動生成的 html 時,也會感覺這是個讓人頭疼的繁瑣工作,而且線上編輯真的挺累得。是以,這就是這個程式的誕生背景和需求,盡管它看起來好像功能很簡單,但寫起來實際并不容易,經曆了很多各種小錯誤,包括記憶體洩露,記憶體讀寫越界等等,最終我總計用了大約 5 ~ 6 天的時間使其穩定(已進行過對超過 1000+ 行 CPP 代碼的轉換測試,目前輸入規模主要受到 Edit 控件的預設最大字元個數限制)。歡迎有相同需求的人自由下載下傳試用。THAT IS ALL.

    【更新】

    (1)新增插入表格(生成表格的html代碼)功能。2013年7月8日。