首页 » typecho

阿里云学生机到期了,正好双11搞活动,219撸了一个3年的。为我的博客搬家,记录下

1.老规矩,先安装lnmp https://lnmp.org

wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp

2.阿里云需要开放端口,具体看阿里云操作文档。此处忽略

3.这里记录下xshell的问题,回退键不能用,, [文件]–>[打开]–>在打开的session中选择连接的那个 ,点击properties -> [Terminal ] -> [VT Modes] ,在右边的最后一个设置项选择Normal(或者第三个设置为Normal)

4.导出原来数据,注意修改密码,原来的文件全部拷贝过来

mysqldump -u root -padmin123 typecho > typecho.sql

5.导入数据

create_db_sql="create database IF NOT EXISTS typecho"
mysql -u root -padmin123 -e "${create_db_sql}"
mysql -u root -padmin123 typecho < typecho.sql

6.添加https支持 https://www.greenhtml.com/archives/lnmp-typecho-aliyun-ssl-enable.html ,注意不需要申请证书,按说明拿到key就好,用lnmp添加

 
export Ali_Key="134123"
export Ali_Secret="134" 
lnmp dnsssl ali

7.按步骤填入目录域名即可,另外需要上传文件权限

mkdir -p /home/wwwroot/usr/uploads
chmod -R 777 /home/wwwroot/usr/uploads

typecho有个bug,编辑器按代码图标无法覆盖所有代码,我的解决方案是用markdown解决

对于子标题,用#号代码

### 标题1 //代表h3标题

对于代码code

`\``java//忽略斜杠,防止编辑器解释
System.out.print("HELLO");
`\``//忽略斜杠,防止编辑器解释

这样就会高亮代码了。

把下面的代码放到post,archive,index页面

 <div class="crumbs_patch">
    <a href="<?php $this->options->siteUrl(); ?>">首页</a> &raquo;</li>
    <?php if ($this->is('index')): ?><!-- 页面为首页时 -->
        Latest Post
    <?php elseif ($this->is('post')): ?><!-- 页面为文章单页时 -->
        <?php $this->category(); ?> &raquo; <?php $this->title() ?>
    <?php else: ?><!-- 页面为其他页时 -->
        <?php $this->archiveTitle(' &raquo; ','',''); ?>
    <?php endif; ?>

  1. typecho 获取本地地址,声明原创
  <ul> 
          <li><a href="<?php $this->permalink(); ?>">除非注明,绿网博客文章均为原创,转载请以链接形式标明本文地址</a></li> 
          <li>本文地址:<a href="<?php $this->permalink(); ?>" target="_blank"><?php $this->permalink(); ?></a></li> 
        </ul>

typecho做博客还是很好用的,为了seo,需要获取相关文章,如下:

  1. Archive.php 里面有函数:默认按标签获取相关

    //type支持传author和不传,不传代表按标签推荐相关

    public function related($limit = 5, $type = NULL)
    {
        $type = strtolower($type);
    
        switch ($type) {
            case 'author':
                /** 如果访问权限被设置为禁止,则tag会被置为空 */
                return $this->widget('Widget_Contents_Related_Author',
                array('cid' => $this->cid, 'type' => $this->type, 'author' => $this->author->uid, 'limit' => $limit));
            default:
                /** 如果访问权限被设置为禁止,则tag会被置为空 */
                return $this->widget('Widget_Contents_Related',
                array('cid' => $this->cid, 'type' => $this->type, 'tags' => $this->tags, 'limit' => $limit));
        }
    }
    

2.所以代码如下

<?php $this->related(5)->to($relatedPosts); ?>
    <ul>
        <?php while ($relatedPosts->next()): ?>
        <li><a href="<?php $relatedPosts->permalink(); ?>" title="<?php $relatedPosts->title(); ?>"><?php $relatedPosts->title(); ?></a></li>
        <?php endwhile; ?>
    </ul>