Coding扒取Typecho中markdown编辑器的一些笔记

在typecho中,编辑器默认为markdown格式的,这是一种很简单快速的写作编辑器。

参考:markdown百度百科

typecho中所使用的markdown编辑器,应该是一个叫WMD的编辑器,这个编辑器百度可以查到,但是官网已经打不开了。

经过过滤,最后发现需要使用的部分文件为:

<link rel="stylesheet" href="/admin/css/normalize.css">
<link rel="stylesheet" href="/admin/css/grid.css">
<link rel="stylesheet" href="/admin/css/style.css">
<script src="/admin/js/jquery.js"></script>
<script src="/admin/js/typecho.js"></script>
<script src="/admin/js/pagedown.js"></script>
<script src="/admin/js/stmd.js"></script>
<script src="/admin/js/diff.js"></script>

而编辑器使用的一个 id 为 text 的 textarea 初始化的。

另外,在 editor-js.php 这个文件中,有初始化的代码,因为过长这里就不贴出来了。

其实编辑器需要使用的文件,typecho已经进行了整理,都在 editor-js.php 中,不过不是全部,因为需要使用到其他一些通用的 js 。

有想使用 typecho 中 markdown 编辑器的可以作为参考。

CodingEmlog 5.2.0 For BAE 发布,支持BCS云存储附件上传(2013.12.03更新)

BAE 3.0 即将收费,本博客将迁移至我购买的国外主机,暂不继续更新。

下次更新时间:PCS API开放申请时,会更新一次。


本文为Emlog For BAE的专项更新文,新版本发布会更新本文。


转载请注明出处

作者:trlanfeng孤月蓝风

最新版本:5.2.0

本文链接:http://fengyu.name/?cat=coding&id=274


希望大家给点支持,点页面右上角的“”或“”啦~~~虽然不知道有什么用,不过希望大家都帮帮忙~~~


安装方法:下载代码包后,解压,修改config.php文件,填入需要的内容,重新打包为zip,通过BAE上传代码包,输入 域名+install.php安装即可。


★ 2013.12.03:

Emlog 5.2.0 For BAE 发布,支持附件上传,附件上传方式为:BCS云存储。

下载地址:百度网盘

版本说明:

+ 只需修改配置,无需修改代码,上传即可安装使用

+ 基于官方5.2修改,未添加任何恶意代码,功能完整

+ 支持附件上传并点击添加进文章(BCS方式)

预览地址:http://1.tremlog.duapp.com/

由于百度PCS暂停API申请,所以先做出了BCS版本,让有需要的童鞋可以先下载。

——————————————————————————

★ 2013.12.03:

PCS API安全升级中,暂停开启权限,预计12月初重新开放

现在考虑继续使用BCS,还是等待PCS,然后测试。

——————————————————————————

★ 2013.12.02:

+ 安装程序完成

+ 缓存修改完成

——————————————————————————

★ 2013.12.01:

待解决问题:

1.安装程序

2.后台缓存

3.模板缓存

4.PCS附件

——————————————————————————

旧版教程请参看:Emlog for BAE修改教程,支持附件上传(云存储)等

Coding让taoCMS支持Ueditor编辑器

Ueditor是百度团队开发的一个在线编辑器,很强大。

taoCMS默认的是Xheditor,个人不是太喜欢,所以换成了Ueditor。

只需要把Ueditor文件放在images目录下,然后修改 editcms.html 这个模板文件,

将编辑器那一块儿换成如下的即可:

<textarea name="content" id="content" style="height:500px;">{o[‘content’]}</textarea>
<script type="text/javascript" src="images/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="images/ueditor/ueditor.all.js"></script>
<script type="text/javascript">
var editor = new UE.ui.Editor();
editor.render("content");
//1.2.4以后可以使用一下代码实例化编辑器
//UE.getEditor(‘myEditor’)
</script>


不过,taoCMS的默认css会影响Ueditor的工具栏,所以打开common.css文件,修改


.addtable td,.list td{border-bottom:#999999 1px solid; padding:2px 4px;word-break: keep-all;/*white-space:nowrap;*/}


这一行,将最后的不允许换行去掉即可。


由于Ueditor的强大,就这么简单的修改完后,一切都能正常使用了。

CodingtrbtaoCMS正式发布0.1版本!强力支持BAE!基于taoCMS 2.5b5

经历将近一个月间间断断的努力,trbtaoCMS终于出炉了。

trbtaoCMS,是基于taoCMS专为BAE修改而来的。trb中的tr代表我那凌乱不成体统的英文名的前两个字母,其中的b代表BAE。

0.1版发布,此系统基于taoCMS 2.5 beta5 版修改而来。

主要修改内容有:

1. 所有模板均用已编译的PHP文件,而非原先的HTM文件。包括前台和后台;

2. 因为不需要编译模板,所以去掉了模板编译函数;

3. 删掉了SQLite操作类;

4. 支持BAE的文件上传!并支持插入到文档中;

5. 忘了…

在此 ,感谢 taogogo 做出如此小巧而强大的CMS系统。

我对版权这些东西不熟,系统中部分地方修改为trbtaoCMS字样,如有侵权,还望指正。

下载地址:

百度网盘

Coding让taoCMS支持BAE附件上传的解决办法

taoCMS是一个非常小巧的CMS,但是功能却很强大, 在试用之后,便喜欢上了它。

taoCMS官方说明支持BAE,但是由于BAE上附件上传,需要引入自己的SDK,估计作者不想因为这个,影响taoCMS的大小,所以没有修改。

我的博客就是基于taoCMS,并搭建在BAE上的,已经解决了附件上传的问题,当然其他问题也解决了,改动了很多很多代码。但是我没有做过完整的CMS,改的也比较乱,所以还没准备把自己修改后的放出来提供下载。

但是,这里可以跟大家分享一下,如何修改taoCMS,使之支持BAE上的附件上传,也就是BCS,云存储。

1.首先,我们需要把BCS(百度云存储)的SDK放在taoCMS的 /include/Model/ 文件夹内

下载地址:http://bcs.duapp.com/bcs-api/bcs-sdk-php_1.2.tar.gz

2.打开 /include/Model/Upload.php 这个文件,在最后一个函数 saveFile 这个函数里(大概第127行),有一行

}elseif(RUNONBAE){

这个步骤里有一句

$err=’BAE不能上传’;

修改为:

//将文件上传至BAE云存储
$old_file = SYS_ROOT.$attach_dir.$filename;
$new_file = '/'.$attach_dir.$filename;
require_once 'bcs.class.php';
$host = 'bcs.duapp.com';
$ak = '';          //百度云存储的$ak
$sk = '';          //百度云存储的$sk
$bucket = '';      //百度云存储的bucket名称
$object = $new_file;        //这个是上传后文件的名字
$fileUpload = $_FILES['filedata']['tmp_name'];    //这个是需上传的文件的名字
$baiduBCS = new BaiduBCS ( $ak, $sk, $host );
$response = $baiduBCS->create_object ( $bucket, $object, $fileUpload );
if (! $response->isOK ()) {
	die ( "文件上传失败!" );
}
$bcs_url = $baiduBCS->generate_get_object_url($bucket, $object, $opt = array());
$msg = $bcs_url; 

3.打开admin/template/editcms.htm 文件,修改第38行:

<textarea name="content" id="content" style="width:100%;" class="xheditor {tools:’full’,width:’740′,…..

为:

<textarea name="content" id="content" style="width:100%;" class="xheditor {html5Upload:false,tools:’full’,width:’740′,……

也就是在 class="xheditor{}" 里面,添加上 html5Upload:false, 这一句,包括后面的逗号。

这个是因为,如果开启HTML5上传,不知道什么原因,BAE是上传不成功的,所以关掉HTML5上传就可以了。

改完这三个地方,恭喜你,taoCMS就可以上传附件了。

taoCMS在BAE上的实际使用中,还是会有些问题,例如,你要换模板,需要先在本地生成模板缓存,然后上传即可。

如何有什么问题,可以问下我这个屌丝IT男   >_<

祝大家使用taoCMS愉快。

CodingEmlog for BAE修改教程,支持附件上传(云存储)等

Ps.2013.12.03  Emlog 5.2 For BAE 已经发布

请猛戳 -> Emlog For BAE 发布专文

本文不再更新,所有更新均发布在上面的地址中

——————————————-

Ps.2013.12.02  Emlog 5.2 BAE正在移植

Ps.2013.12.02  官方5.2已发布,BAE版正在开发中。本版将修改原来的BCS存储为PCS存储,能够更方便的管理上传的文件,敬请期待!

Ps:官方的Emlog 5.2即将发布,发布之后我会出一个完整的BAE版本,不再需要这么麻烦的修改代码。只修改几个配置就搞定,然后打包上传就可以了。敬请期待!

这个是我亲测的5.1.2完全正常,不知道为什么有很多朋友的都不行,由于5.2即将发布,所以暂不做更新,待5.2发布后再更新新版本。

本修改基于EMLOG 5.0.1版本,其他版本未测试。一般来说是不会出问题,除非EMLOG大版本升级。

PS:2013.07.24   教程更新,亲测5.1.2可用。

PS:2013.07.12   修改第二部分附件上传第41、42行的代码,之前不知道什么问题,也是个人疏忽,导致代码中多了两个单引号,造成无法上传,现已修正。感谢  VIP下页、下一 的反馈。

之前写过一篇文章,《BAE版的EMLOG已完工!》,后来EMLOG又升级了几次,外加微博通的同步一直搞不定,所以就暂时搁浅了。

现在我的博客(已经不能单纯的算博客了,算个网站),是我自己基于taoCMS二次开发的,对BAE的支持更好,也搞定了很多BAE上存在的问题。所以,EMLOG也就没继续用。现在这个博客稳定了,又有闲暇时间,所以跟大家分享一下,EMLOG for BAE的修改方法。

BAE上的EMLOG,最好是本地已经配置好的,然后将本地配置完成的打包上传即可。数据库也在本地备份,然后通过BAE的PMA导入。

先下载BCS(百度云存储,用于存储附件)的SDK放在admin目录中。

下载地址:http://bcs.duapp.com/bcs-api/bcs-sdk-php_1.2.tar.gz

一、本地安装EMLOG,并将一切设置OK,如原有博客,请将数据恢复到本地。

二、按照下面的提示修改文件(因版本升级,所以可能导致我写的行号不对,大家可以查找一下被替换的代码,来确定行号)

1.配置文件

在上传到BAE之前,需要先修改配置文件,因为BAE是不支持I/O读写的,所以需要在配置文件中手动加上BAE数据库信息的获取方式。

$dbname = '';        //填入自己的数据库名称
$host = getenv('HTTP_BAE_ENV_ADDR_SQL_IP');
$port = getenv('HTTP_BAE_ENV_ADDR_SQL_PORT');
$user = getenv('HTTP_BAE_ENV_AK');
$pwd = getenv('HTTP_BAE_ENV_SK');

之后,将下面的数据库信息其中四条修改为:

define('DB_HOST',$host.':'.$port);
define('DB_USER',$user);
define('DB_PASSWD',$pwd);
define('DB_NAME',$dbname);

这样,完成了最新本的数据库配置。

2.附件上传

打开admin目录下的attachment.php文件,第41行(5.1.2中为第43行)左右的代码:

//写入附件信息
$query="INSERT INTO ".DB_PREFIX."attachment (blogid,filename,filesize,filepath,addtime) values ($logid,'".$attach['name'][$i]."','".$attach['size'][$i]."','".$upfname."','".time()."')";

修改为:

$bcs_upfname = str_replace('..', '', $upfname);
//将文件上传至BAE云存储
require_once './bcs.class.php';
$host = 'bcs.duapp.com';
//bucket的ak
$ak = '';
//bucket的sk
$sk = '';
//bucket名称
$bucket = '';
$object = $bcs_upfname;    //这个是上传后文件的名字
$fileUpload = $upfname;    //这个是需上传的文件的名字
$baiduBCS = new BaiduBCS ( $ak, $sk, $host );
$response = $baiduBCS->create_object ( $bucket, $object, $fileUpload );
if (! $response->isOK ()) {
    die ( "文件上传失败!" );
}
$bcs_url = $baiduBCS->generate_get_object_url($bucket, $object, $opt = array());
//百度云附件信息写入数据库
$query="INSERT INTO ".DB_PREFIX."attachment (blogid,filename,filesize,filepath,addtime) values ($logid,'".$attach['name'][$i]."','".$attach['size'][$i]."','".$bcs_url."','".time()."')";

打开admin/views目录下的attlib.php文件,第32行代码:

$atturl = BLOG_URL.substr(str_replace('thum-','',$value['filepath']),3);

修改为

if (strpos($value['filepath'],'bcs.duapp.com') != false) { 
    $atturl = $value['filepath']; 
} else { 
    $atturl = BLOG_URL.substr(str_replace('thum-','',$value['filepath']),3);        
}

第41、42行(5.1.2中为45,46行)

$imgpath = "./views/images/fnone.gif";
$embedlink = "插入 ";

修改为:

if (strpos($value[‘filepath’],’duapp’) != false) {
$imgpath = $value[‘filepath’];
$ed_imgpath = urlencode($imgpath);
$embedlink = "插入 ";
} else {
$imgpath = "./views/images/fnone.gif";
$embedlink = "插入 ";
}


这一块儿网页输出显示的不正确,一直解决不了,只好放一张截图了。

3.修改博客地址,在EMLOG后台->设置->博客地址,然后打开根目录下的 init.php 文件,修改 define(‘BLOG_URL’, Option::get(‘blogurl’)); 这一行中后面的 Option::get(‘blogurl’) 为 ‘你的地址’ (地址两边加单引号,例如:http://tremlog.duapp.com/)


4.删除 content/cache 目录下,所有文件


三、所有修改完毕后,用本地的 Phpmyadmin 导出数据库(因为之前数据库已修改为BAE方式,所以不能通过后台导出),之后在BAE的 phpmyadmin 上导入。


四、BAE版EMLOG的伪静态设置

BAE上的伪静态设置,请参考:《BAE版EMLOG的伪静态设置

EMLOG在BAE上的修改基本就是这些了,如果发现有什么问题,也可以留言询问。

CodingWindows Server 2008上,PHP环境一键配置

简介:

这是一个在Windows Server 2008上使用的PHP环境一键配置安装包。

里面的PHP环境一键配置安装工具,是西部数码的,我只是借用了一下。同时,将一些服务器上很有用的工具一并打包了起来。

最根本的原因是:西部数码的下载速度最多到400K/S,所以我把他挪到了百度网盘上。

打包软件及说明:

西部数码网站管理工具:西部数码这个管理工具,还是很好用的,一键配置环境,配置伪静态,配置各种。

Sublime Text 2:有时候修改一些网站源码什么的,直接在服务器改很省事,懒得FTP了,所以里面有了Sublime Text 2 编辑器。

FileZilla:有时需要从旧的服务器下载一些文件,所以有了这个。

Opera:有时候需要访问某些网站,但是自带的IE有安全设置,太过于繁琐,所以有了Opera,为什么不是火狐?因为Opera安装包最小。

HeiDiSQL:经常需要进入数据库改一些东西,PMA?太麻烦了,所以,你懂得。

Flash:这个是我在服务器上,往百度网盘上传的时候安装的,不安装FLASH无法上传,很多网站的上传也都如此,但是,不建议安装。

下载地址:

WS2008服务器套装点这里

打包软件单独下载点这里

Coding【C#】通过正则表达式对TextBox进行校验

以下代码使用了 .NET Framework 正则表达式,使用正则表达式来对TextBox框内的内容进行判断与校验。

//检测虚拟路径的正确性
 private void TB_XNLJ_Leave(object sender, EventArgs e)
 {
     if (System.Text.RegularExpressions.Regex.IsMatch(TB_XNLJ.Text, "^/[^\:*?"<>|]*$"))
     {
         string dizhi = "http://localhost";
         linkLabel_dizhi.Text = dizhi + TB_XNLJ.Text;
     }
     else
     {
         MessageBox.Show("虚拟目录格式不正确,已重置。nn文件夹名称中不能包含:  \ : * ? " < > | 这些字符。");
         TB_XNLJ.Text = "/";
     }
 }