换了个代码高亮插件,看起来舒服多了
2014年的时候,还没有什么好用的代码高亮插件,之前用的SyntaxHighlighter算是佼佼者了。尽管配色有些神奇,但总体还算过得去,就用了。
时过境迁,现在代码高亮插件已经漫天了。调研了几种,还是Prism推荐的人最多,试了下也觉得不错,默认样式和站点主题还算搭配,清爽型的,比原来的好太多。
顺手把页面宽度也调整了一下,毕竟之前的样式也都好些年了,1080p的显示器已经普及了,不用再局促在990px里了。
看下效果:(不要在意内容)
<?php
require_once('inc/curl.php');
require_once('qiniu/io.php');
require_once('qiniu/rs.php');
Class Pic2qn {
private $bucket = '';
private $accessKey = '';
private $secretKey = '';
private $local = './images/';
private $curl;
public function __construct($bucket,$accessKey,$secretKey){
$this->bucket = $bucket;
$this->accessKey = $accessKey;
$this->secretKey = $secretKey;
$this->curl = new Curl();
}
public function config($params = array()){
if (count($params) > 0){
foreach ($params as $key => $val){
if (isset($this->$key)){
$this->$key = $val;
}
}
}
}
public function get2send($url){
$file_info = $this->remote2local($url);
if(count($file_info)==0) return array();
$file = $file_info['full'];
$qn_key = str_replace($this->local, '', $file);
$file_real_path = $file;//dirname(__FILE__).str_replace('./', '/', $file);
$result = $this->local2qn($qn_key,$file_real_path);
$file_info['key'] = $qn_key;
//print_r($result);
if($result){
return $file_info;
}else{
return array();
}
}
public function remote2local($url){
$file = $this->create_file_path($url);
$this->curl->reutersload($url,$file['full']);
if(file_exists($file['full'])) return $file;
else return array();
}
public function local2qn($key,$file){
Qiniu_SetKeys($this->accessKey, $this->secretKey);
$putPolicy = new Qiniu_RS_PutPolicy($this->bucket);
$upToken = $putPolicy->Token(null);
$putExtra = new Qiniu_PutExtra();
$putExtra->Crc32 = 1;
list($ret, $err) = Qiniu_PutFile($upToken, $key, $file, $putExtra);
//var_dump($err);
return ($err == null);
}
private function create_file_path($url = 'png'){
$time = time();
$path = $this->local;
if(!is_dir($path)){
mkdir($path);
}
$path.= date('Ymd',$time).'/';
if(!is_dir($path)){
mkdir($path);
}
$name = md5($time);
$arr_path = parse_url($url);
$str_path = explode('.',$arr_path['path']);
$ext = $str_path[count($str_path)-1];
$file = $name.'.'.$ext;
$full = $path.$file;
return array(
'path' => $path,
'name' => $name,
'ext' => $ext,
'file' => $file,
'full' => $full
);
}
public function remove2qn($url){
$tmp = parse_url($url);
$path = $tmp['path'];
if( $path[0] === '/' ) $path = substr($path, 1);
Qiniu_SetKeys($this->accessKey, $this->secretKey);
$client = new Qiniu_MacHttpClient(null);
$err = Qiniu_RS_Delete($client,$this->bucket,$path);
return ($err == null);
}
}