测试通过的插件
经过测试目前以下几个插件可稳定使用,并且没有什么意外疾病
插件名称 | 说明 | 版本 | 作者 |
---|---|---|---|
CommentToMail | 评论邮件提醒插件 | 2.0.1 | Byends Upd |
EditorLR | 将编辑器左右分的神器 | 0.7.1 | hongweipeng |
HelloWorld | Hello World | 1.0.0 | qining |
Sticky | 文章置顶 | 1.0.0 | willin kan |
Syntax Highlighter | 代码高亮,支持二十多种语言,八种配色 | 0.0.2 | Tinpont |
经过测试目前以下几个插件可稳定使用,并且没有什么意外疾病
插件名称 | 说明 | 版本 | 作者 |
---|---|---|---|
CommentToMail | 评论邮件提醒插件 | 2.0.1 | Byends Upd |
EditorLR | 将编辑器左右分的神器 | 0.7.1 | hongweipeng |
HelloWorld | Hello World | 1.0.0 | qining |
Sticky | 文章置顶 | 1.0.0 | willin kan |
Syntax Highlighter | 代码高亮,支持二十多种语言,八种配色 | 0.0.2 | Tinpont |
网上看到的代码,只是还看不懂怎么用,我想迟早用的到,也得仔细看看怎么用
<?php
//connect to typecho database
$curl = curl_init();
$res = mysql_connect('localhost', 'root', '1111');
$ret = mysql_select_db('typecho', $res);
$sql = "select * from jq_contents where type = 'post' order by cid asc";
$query = mysql_query($sql, $res);
while($row = mysql_fetch_assoc($query))
{
preg_match_all('/src="(http:\/\/ww[1234].*?\/.*?\/(.*?))".*?"/', $row['text'], $matches);
//url : $matches[1][x] filename : $matches[2][x] , alt: $matches[3][x]
foreach($matches[1] as $k=>$pic)
{
//print_r($matches);
//文章日期->local date
$local_date = date('Y-m-d', $row['created']);
//print_r($local_date);
//建立图片所在日期规格的目录
$arr_date = explode('-', $local_date);
//@mkdir(dirname(__FILE__)."\\usr\\uploads\\".$arr_date[0]);
//@mkdir(dirname(__FILE__)."\\usr\\uploads\\".$arr_date[0]."\\".$arr_date[1]);
//print_r(dirname(__FILE__)."\\usr\\uploads\\".$arr_date[0]."\\".$arr_date[1].'<br />');
//下载图片
/*
curl_setopt($curl, CURLOPT_URL, $matches[1][$k]);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_CONNECTTIMEOUT,0);
$data = curl_exec($curl);
$ret = file_put_contents(dirname(__FILE__)."\\usr\\uploads\\".$arr_date[0]."\\".$arr_date[1]."\\".$matches[2][$k], $data);
print_r(dirname(__FILE__)."\\usr\\uploads\\".$arr_date[0]."\\".$arr_date[1]."\\".$matches[2][$k]." ret:$ret<br />");
*/
//插入typecho数据库
/*
$type = explode('.',$matches[2][$k]);
$text = array(
'name'=>$matches[2][$k],
'path'=>"/usr/uploads/".$arr_date[0]."/".$arr_date[1]."/".$matches[2][$k],
'size'=>filesize(dirname(__FILE__)."\\usr\\uploads\\".$arr_date[0]."\\".$arr_date[1]."\\".$matches[2][$k]),
'type'=> $type[1],
'mime'=>mime_content_type(dirname(__FILE__)."\\usr\\uploads\\".$arr_date[0]."\\".$arr_date[1]."\\".$matches[2][$k])
);
$sql2 = sprintf("INSERT INTO `jq_contents` ( `title`, `slug`, `created`, `modified`, `text`, `order`, `authorId`, `template`, `type`, `status`, `password`, `commentsNum`, `allowComment`, `allowPing`, `allowFeed`, `parent`) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')", $matches[2][$k],str_replace('.','-', $matches[2][$k]), $row['created'],$row['created'],serialize($text), $k, 1, '', 'attachment', 'publish', '', 0, 1,1,1,$row['cid']);
$query2 = mysql_query($sql2, $res);
print_r($sql2.'<br />');
*/
//更新文章内的图片路径
$old_img_path = $matches[1][$k];
$new_img_path = "http://tunps.com/usr/uploads/".$arr_date[0]."/".$arr_date[1]."/".$matches[2][$k];
$newtext = str_replace($old_img_path, $new_img_path, $row['text']);
$newtext = mysql_escape_string($newtext);
$sql3 = "UPDATE `jq_contents` SET `text` = '$newtext' where cid=$row[cid] ";
$query3 = mysql_query($sql3);
var_dump($query3);
}
}
curl_close($curl);
第二个问题,先在当前模板目录下建立一个category目录,然后比如你要给slug为default的分类专门建立模板,那么就在category目录下创建一个名为default.php的文件,这样程序在访问default分类时会自动调用这个模板文件
--- update ---
使用$this->categories和$this->category这两个变量就可以满足你的需要了,不过需要你自己手动循环输出。你可以print_r一下这两个变量,看看它们的结构。
被我找到了,最近也在看Typecho
修改文件var/Widget/Register.php 第 68 行:
$dataStruct = array(
'name' => $this->request->name,
'mail' => $this->request->mail,
'screenName'=> $this->request->name,
'password' => $hasher->HashPassword($generatedPassword),
'created' => $this->options->gmtTime,
'group' => 'subscriber'
);
主题工作还在无序的进行时,文档的文章页基本完成了,测试已无大碍,演示:https://wenshi.tech/post/start.html
后续还有很多页面需要做:
目前能想到的就这么多,做一步算一步,想到再记录