給蟬知換一個(gè)markdwon的編輯器

蟬知
蟬知企業(yè)門戶系統(tǒng)是由業(yè)內(nèi)資深開發(fā)團(tuán)隊(duì)開發(fā)的一款專向企業(yè)營銷使用的企業(yè)門戶系統(tǒng),企業(yè)使用蟬知系統(tǒng)可以非常方便地搭建一個(gè)專業(yè)的企業(yè)營銷網(wǎng)站摘符,進(jìn)行宣傳贤斜,開展業(yè)務(wù)策吠,服務(wù)客戶。蟬知系統(tǒng)內(nèi)置了文章瘩绒、產(chǎn)品猴抹、論壇、評(píng)論锁荔、會(huì)員蟀给、博客、幫助等功能阳堕,同時(shí)還可以和微信進(jìn)行集成綁定跋理。功能豐富實(shí)用,后臺(tái)操作簡潔方便嘱丢。蟬知系統(tǒng)還內(nèi)置了搜索引擎優(yōu)化必備的功能薪介,比如關(guān)鍵詞,摘要越驻,站點(diǎn)地圖汁政,友好路徑等,使用蟬知系統(tǒng)可以非常方便的搭建對(duì)搜索引擎友好的網(wǎng)站缀旁。
展示效果可以到我的個(gè)人博客海娜博客公告板查看

準(zhǔn)備

下載thinker-md文件 傳送門:海諾修改版thinker-md

下載方式 1: git clone http://git.oschina.net/hainuo/thinker-md

下載方式2:點(diǎn)擊 zip 下載元文件记劈,有用的就是那個(gè)dist文件夾

ps:下載方式1下載的用戶可以進(jìn)行編譯成自己適用的版本。這是多余的話并巍。

#開始修改

  • 將dist更名為thinker-md移動(dòng)到www目錄下

  • 修改文件


js::import($jsRoot . "thinker-md/javascripts/thinker-md.vendor.js");

 js::import($jsRoot . "thinker-md/javascripts/tohtml.js"); 

 css::import($jsRoot . "thinker-md/stylesheets/thinker-md.user.css");

 css::import($jsRoot . "thinker-md/stylesheets/thinker-md.vendor.css");

 css::import($jsRoot . "thinker-md/emoji/nature.css");

  css::import($jsRoot . "thinker-md/emoji/object.css");

  css::import($jsRoot . "thinker-md/emoji/people.css");

  css::import($jsRoot . "thinker-md/emoji/place.css");

  css::import($jsRoot . "thinker-md/emoji/Sysmbols.css");

  css::import($jsRoot . "thinker-md/emoji/twemoji.css");

  • 文件4:www/template/default/view/common/ext/header.lite.html.php 新增 內(nèi)容為

http://git.oschina.net/hainuo/chanzhi/raw/master/www/template/default/view/common/ext/header.lite.html.php

  • 文件5:system/module/file/control.php 第84行 在上個(gè)函數(shù)結(jié)束后增加 以下代碼

/**

* AJAX: the api to recive the file posted through ajax.

*

* @param  string $uid

* @access public

* @return array

*/

public function ajaxUploadImage($uid)

{

if(RUN_MODE == 'front' and !commonModel::isAvailable('forum')) exit;

if(!$this->loadModel('file')->canUpload())  $this->send(array('error' => 1, 'message' => $this->lang->file->uploadForbidden));

$file = $this->file->getUpload('img');

$file = $file[0];

if($file)

{

if(!$this->file->checkSavePath()) $this->send(array('error' => 1, 'message' => $this->lang->file->errorUnwritable));

if(!in_array(strtolower($file['extension']), $this->config->file->editorExtensions)) $this->send(array('error' => 1, 'message' => $this->lang->fail));

move_uploaded_file($file['tmpname'], $this->file->savePath . $file['pathname']);

if(in_array(strtolower($file['extension']), $this->config->file->imageExtensions) !== false)

{

$this->file->compressImage($this->file->savePath . $file['pathname']);

$imageSize = $this->file->getImageSize($this->file->savePath . $file['pathname']);

$file['width']  = $imageSize['width'];

$file['height'] = $imageSize['height'];

}

$url =  $this->file->webPath . $file['pathname'];

$file['addedBy']  = $this->app->user->account;

$file['addedDate'] = helper::now();

$file['editor']    = 1;

$file['lang']      = 'all';

unset($file['tmpname']);

$this->dao->insert(TABLE_FILE)->data($file)->exec();

$_SESSION['album'][$uid][] = $this->dao->lastInsertID();

$this->loadModel('setting')->setItems('system.common.site', array('lastUpload' => time()));

die( $_SERVER['REQUEST_SCHEME']."://".$_SERVER['HTTP_HOST'] .$url);

}

}

/**

* Paste image in kindeditor at firefox and chrome.

*

* @param  string uid

* @access public

* @return void

*/

public function ajaxPasteImageBase64($uid)

{

if($_POST)

{

echo $this->file->pasteImageBase64($_POST['base64Date'], $uid);

}

}

  • 文件6:system/module/file/model.php在640行 上個(gè)函數(shù)結(jié)束后增加

/**

* Paste image in kindeditor at firefox and chrome.

*

* @param  string $data

* @param  string $uid

* @access public

* @return string

*/

public function pasteImageBase64($data, $uid)

{

if (!$this->checkSavePath()) return false;

ini_set('pcre.backtrack_limit', strlen($data));

preg_match('/data:image\/(\S+);base64,(\S+)/', $data, $out);

if($out && !empty($out[2])) {

$imageData = base64_decode($out[2]);

$file['extension'] = $out[1];

$file['pathname'] = $this->setPathName($key, $file['extension']);

$file['size'] = strlen($imageData);

$file['addedBy'] = $this->app->user->account;

$file['addedDate'] = helper::today();

$file['title'] = basename($file['pathname']);

$file['editor'] = 1;

file_put_contents($this->savePath . $file['pathname'], $imageData);

$this->compressImage($this->savePath . $file['pathname']);

$imageSize = $this->getImageSize($this->savePath . $file['pathname']);

$file['width'] = $imageSize['width'];

$file['height'] = $imageSize['height'];

$file['lang'] = 'all';

$this->dao->insert(TABLE_FILE)->data($file)->exec();

$_SESSION['album'][$uid][] = $this->dao->lastInsertID();

$data = $this->webPath . $file['pathname'];

return $_SERVER['REQUEST_SCHEME']."://".$_SERVER['HTTP_HOST'].$data;

}else{

return ' ';

}

}

總結(jié)

經(jīng)過以上操作就可以將原來的編輯器更換為thinker-md編輯器目木。

QQ20150810-7.png
QQ20150810-8.png

bug

每篇文章的第一行請(qǐng)保留為空,這樣提交后會(huì)避免在前臺(tái)展示時(shí)出現(xiàn)首行code樣式的bug

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末懊渡,一起剝皮案震驚了整個(gè)濱河市刽射,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剃执,老刑警劉巖誓禁,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異肾档,居然都是意外死亡摹恰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門怒见,熙熙樓的掌柜王于貴愁眉苦臉地迎上來俗慈,“玉大人,你說我怎么就攤上這事遣耍」脍澹” “怎么了?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵配阵,是天一觀的道長馏颂。 經(jīng)常有香客問我示血,道長,這世上最難降的妖魔是什么救拉? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任难审,我火速辦了婚禮,結(jié)果婚禮上亿絮,老公的妹妹穿的比我還像新娘告喊。我一直安慰自己,他們只是感情好派昧,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布黔姜。 她就那樣靜靜地躺著,像睡著了一般蒂萎。 火紅的嫁衣襯著肌膚如雪秆吵。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天五慈,我揣著相機(jī)與錄音纳寂,去河邊找鬼。 笑死泻拦,一個(gè)胖子當(dāng)著我的面吹牛毙芜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播争拐,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼腋粥,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了架曹?” 一聲冷哼從身側(cè)響起隘冲,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎绑雄,沒想到半個(gè)月后对嚼,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绳慎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了漠烧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片杏愤。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖已脓,靈堂內(nèi)的尸體忽然破棺而出珊楼,到底是詐尸還是另有隱情,我是刑警寧澤度液,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布厕宗,位于F島的核電站画舌,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏已慢。R本人自食惡果不足惜曲聂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望佑惠。 院中可真熱鬧朋腋,春花似錦、人聲如沸膜楷。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赌厅。三九已至穷绵,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間特愿,已是汗流浹背仲墨。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留洽议,地道東北人宗收。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像亚兄,于是被迫代替她去往敵國和親混稽。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,510評(píng)論 25 707
  • 前些日子從@張鑫旭微博處得一份推薦(Front-end-tutorial)审胚,號(hào)稱最全的資源教程-前端涉及的所有知識(shí)...
    谷子多閱讀 4,174評(píng)論 0 44
  • 過了元旦匈勋,就進(jìn)入了臘月,年味開始越來越濃烈了膳叨。家家戶戶洽洁,老老少少都熱切地盼望著過年。唯有過年的那一天菲嘴,全家老少才能...
    冬妮婭閱讀 201評(píng)論 0 0
  • 中秋節(jié)剛過龄坪,馬上又將迎來相親的高峰期昭雌。而哪種職業(yè)在相親中比較受青睞呢?前段時(shí)間一份《最適合做女友的十大職業(yè)》瘋狂流...
    我薪閱讀 443評(píng)論 0 1