999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Moodle平臺語法高亮功能的兩種實現方法對比分析

2016-08-18 05:47:29趙亮馮佳河南警察學院河南鄭州450000
河南科技 2016年7期
關鍵詞:頁面功能方法

趙亮 馮佳(河南警察學院,河南 鄭州 450000)

?

Moodle平臺語法高亮功能的兩種實現方法對比分析

趙亮馮佳
(河南警察學院,河南鄭州450000)

Moodle平臺是一個開源互聯網教學平臺,在運行程序設計類課程時,語法高亮功能的缺失嚴重影響平臺的使用效果。鑒于此,基于當前流行的開源代碼語法高亮解決方案,設計了兩種在Moodle中實現語法高亮的方法,并從多方面分析對比兩種方法并得出結論。

Moodle;語法高亮;GeSHi;SyntaxHighlighter

1 Moodle平臺簡介

Moodle是由澳大利亞教師Martin Dougiamas創建的一個開源項目,21世紀初在國內高校一度風行,但由于中文支持不好,早期版本功能繁雜體驗差,不管在國內還是國外都未得到廣泛應用。而隨著版本的迭代更新,3.0版本的Moodle已經修復了中文顯示的問題,隨著“微課”“翻轉課堂”的興起,Moodle作為一個功能強大的成熟框架,再次得到教育技術領域的關注[1]。

Moodle是一個基于主要使用PHP構建的Web系統,因此可跨平臺運行在支持PHP的服務器上,包括Linux、Windows和MacOS,常見的架構是LAMP(Linux操作系統,Web服務程序Apache,數據庫MySQL,后端腳本PHP,)如使用Windows Server,Web服務程序也可對應地使用IIS。

Moodle的安裝和部署十分方便簡單,對于熟悉Web Services的用戶,添加一個空白數據庫,將Moodle目錄放置于web目錄下即可輕松完成配置。而且bitnami還提供了集成XAMPP等Web套件一鍵安裝發布的安裝包,大部分高校教師可以輕松完成配置。因此,Moodle在高校應用極其廣泛,很多學校都有自己的站點。

河南警察學院的平臺上線于2015年9月,上線即承擔了《網絡協議分析》4個中隊的實驗實訓任務,期間遷移過一次服務器,3.0版本的Moodle測試功能中支持數據庫的網絡遷移,平臺運行狀況整體良好,在問卷調查中學生滿意度達到95%以上。2015年10月平臺向系內教師開放,《電子數據的檢驗與分析》(取證)課程的實驗也遷移到本平臺上,2016年1月平臺承擔了《網絡協議分析》和《取證》課程的期末考試任務。

2 語法高亮功能的需求分析

語法高亮功能,是程序設計中一些高級文本編輯器以及IDE中必備的功能,通過高亮來區分、操作符、變量、注釋,可以讓代碼的可讀性更好,同時也更加美觀。

圖1分別是記事本、Notepad++和Eclipse中一段java代碼的顯示效果,記事本沒有語法高亮,而后兩者使用了語法高亮,代碼可讀性區別顯而易見。

而Moodle平臺當承擔程序語言課程時,語法高亮是一個必備的功能,雖然Moodle有著大量的擴展和插件,但是目前并沒有完善的支持語法高亮的插件。語法高亮,在Moodle平臺的應用主要集中在以下幾個方面:①教程、考試等用戶可見的模塊,應有語法高亮的功能;②學生在編輯作業時輸入的代碼,應有語法高亮的功能;③在線文本編輯器應方便地通過標簽方式高亮編輯后的代碼。

圖1 代碼高亮效果對比

3 兩種實現Moodle語法高亮方法

3.1方法一:GeSHi插件方式

GeSHi的全稱是Generic Syntax Highlighter,即通用語法高亮器,項目地址是http://qbnz.com/highlighter。GeSHi有著以下特點。

3.1.1服務端兼容性。GeSHi的編碼完全用PHP。這意味著良好的兼容性,任何支持PHP的服務器都能使用GeSHi。

3.1.2客戶端兼容性。GeSHi兼容XHTML標準的輸出,通過使用CSS樣式表類來高亮顯示。

3.1.3多語言支持。GeSHi目前支持超過100種語言的高亮顯示,包括PHP、HTML、CSS、java、C、Lisp、XML、Perl、Python和ASM等。

3.1.4高度可定制。GeSHi的允許你改變高亮顯示的輸出方式,同樣也是通CSS類來實現的。

3.1.5靈活性。GeSHi基于模塊化設計。關閉不必須的特性,預載CSS樣式表可以顯著提升速度。

GeSHi的插件全部為PHP文件,本質上就是一個PHP類庫,實現web文本的語法高亮方式如下:

其中,include語句載入geshi庫,新建一個geshi對象,其中$source是需要高亮的代碼或者頁面,調用parse_code()函數就可以完成代碼部分的高亮。

3.1.6GeSHi在Moodle平臺上的實現及部署。根據需求分析,如果要使Moodle下不同的頁面中的特定部分能夠語法高亮,需要使用Moodle的Filter模塊,Filter模塊是Moodle提供的使用正則表達式匹配文本,并對匹配到的文本進行相關操作的模塊,語法高亮可以使用Filter功能對特殊關鍵字標簽生效,如[code][/code]標簽的實現如下:

Filter生效后,需要在使用用對相應的代碼部分添加[code][/code]標簽來完成。

3.2方法二:SyntaxHighlighter主題方式

SyntaxHighlighter是一個基于JavaScript的代碼高亮開源插件,由Alex Gorbatchev開發,項目地址是http:// alexgorbatchev.com/SyntaxHighlighter。SyntaxHighlighter也有著以下特點。

3.2.1兼容性。SyntaxHighlighter是在前端層面高亮顯示代碼,所以不存在服務端兼容的問題,前端同樣是支持XHTML標準和CSS。

3.2.2多語言支持。SyntaxHighlighter目前僅提供23種常見的語言的支持。

3.2.3高度可定制。SyntaxHighlighter使用筆刷的方式來實現代碼高亮,定制顯示效果只需要修改筆刷即可。

3.2.4性能。SyntaxHighlighter是前端語言,不占用服務器端資源,性能差別僅在于瀏覽器。

3.2.5SyntaxHighlighter插件組成。SyntaxHighlighter插件包括以下幾個文件夾:Scripts,面存放了所有功能性的JS文件;Src,源文件,里面是shCore和shLegacy這兩個核心JS文件,和Scripts里的一致;Styles,存放了各種主題風格的css文件以及顯示小圖標需要的圖片。

SyntaxHighlighter的核心是shCore文件,語法高亮的功能性函數都在此文件中定義。此外,Scrpits里還提供了常見的23種筆刷文件,如shBrushCpp,shBrushJava等,用于對不同的語言采用不同的高亮規則。

因為SyntaxHighlighter是高亮實現機制是基于前端JS,因此部署到Moodle上可以通過修改主題的方式。

3.2.6Moodle主題機制。Moodle主題包含以下幾個目錄及文件,具體功能如表1所示。

表1 Moodle主題包含的目錄/文件及其功能

Moodle主題的工作原理如圖2所示,使用PixCSS等資源的是MVC架構中的view部分,包括Moodle主體頁面及自定義layout頁面,lib.php提供自定義工具函數,config.php配置主題,最終用戶可以通過setting.php完成主體的設置及個性化。由此可知,在主題中配置SyntaxHighlighter,shCore.js和JS筆刷文件需要放置于javascript目錄下,CSS文件需要放置于style目錄下,并在Config.php中完成JS和CSS的載入:

圖2 Moodle主題生效機制

完成以上工作后,還需要在各種有需求的view頁面加入以下JS代碼:

4兩種高亮實現方法的對比分析

本文嘗試的2種方法均可以完成Moodle平臺上語法高亮的需求,方便程序設計類課程的課程在Moodle平臺上線,表為2種方法各自的綜合對比。

總之,使用前端JS解決方案的SyntaxHighlighter優于在后端使用php的GeSHi,雖然使用

標簽存在沖突的可能性,但現階段瀏覽器對JS支持良好的環境下,使用SyntaxHighlighter無疑是一種更加便捷、高效的代碼高亮方法。

表2 2種高亮實現方法的綜合對比

[1]陳肖庚,王頂明.MOOC的發展歷程與主要特征分析[J].現代教育技術,2013(11):5-10.

Comparison and Analysis of Two Methods to Realize the Syntax Highlighting Function of Moodle Platform

Zhao LiangFeng Jia
(Henan Police College,Zhengzhou Henan 450000)

Moodle is an open-source internet education platform,When running the program design courses,the lack of syntax highlighting features a serious impact on the use of the platform.In view of this,based on the current popular open source code syntax highlighting solution,the two in Moodle syntax highlighting method were designed,and analyzed and compared the two methods from many aspects,and draw the conclusion.

Moodle;syntax highlighting;GeSHi;SyntaxHighlighter

TP311.52

A

1003-5168(2016)04-0020-03

2016-03-12

馮佳(1985-),男,碩士,工程師,研究方向:交通管理,ITS技術;趙亮(1987-),男,碩士,研究方向:信息安全,網絡空間安全。

猜你喜歡
頁面功能方法
大狗熊在睡覺
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
關于非首都功能疏解的幾點思考
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
中西醫結合治療甲狀腺功能亢進癥31例
辨證施護在輕度認知功能損害中的應用
同一Word文檔 縱橫頁面并存
主站蜘蛛池模板: 久久www视频| 亚洲精品无码不卡在线播放| 亚洲中文字幕av无码区| 人妻无码一区二区视频| 欧美日韩第二页| 亚洲男人的天堂久久香蕉网| 欧美国产在线精品17p| 久久久久久久蜜桃| 成人在线观看一区| 国产丝袜无码一区二区视频| 最近最新中文字幕免费的一页| 欧美五月婷婷| 亚洲黄色高清| 一级爱做片免费观看久久| 99er这里只有精品| 成人免费午夜视频| 538国产视频| 91综合色区亚洲熟妇p| 国产原创自拍不卡第一页| 国产美女人喷水在线观看| 国产精品久久久久婷婷五月| 露脸真实国语乱在线观看| 大陆国产精品视频| 日韩亚洲高清一区二区| 欧美日韩午夜视频在线观看| 亚洲欧美一级一级a| 久久午夜夜伦鲁鲁片不卡| 一级黄色网站在线免费看| 国产亚洲日韩av在线| 伊人久热这里只有精品视频99| 欧美国产日韩在线播放| 色AV色 综合网站| 中文字幕va| 视频二区欧美| 九九免费观看全部免费视频| 久久久久人妻精品一区三寸蜜桃| 国产成人一区| 国产靠逼视频| 亚洲视频免| 国产综合另类小说色区色噜噜| 91亚瑟视频| 欧洲一区二区三区无码| 69综合网| 91偷拍一区| 欧美午夜视频| 色偷偷男人的天堂亚洲av| 国产一级视频久久| 国产精品久久久久久搜索| 亚洲一区国色天香| 色久综合在线| 国产精品偷伦在线观看| 久久久久久久久亚洲精品| 国产视频只有无码精品| 午夜激情福利视频| a毛片在线免费观看| 国产va在线观看免费| 国产精品久久久久久久伊一| 影音先锋丝袜制服| 中文字幕av一区二区三区欲色| 欧美一区二区精品久久久| 91最新精品视频发布页| 国产色婷婷| 91精品专区| 国产色婷婷| 在线一级毛片| 亚洲天堂视频在线观看免费| 五月婷婷精品| 欧美成人一区午夜福利在线| 亚洲精品桃花岛av在线| 国产成人AV综合久久| 99激情网| 国产国语一级毛片在线视频| 青青青国产视频手机| 91小视频在线| 久久国产精品夜色| 夜精品a一区二区三区| 四虎影视无码永久免费观看| 欧美一级夜夜爽| 青草视频网站在线观看| h视频在线播放| 国产精品成人久久| 91成人精品视频|