Loading... 上一篇我们提到了经过评估,我们只能通过手动迁移的形式完成每一篇文章的迁移,那么刚开始的时候,我们就得先尝试嘛。 ## 准备好改版后的新主题和一些常用插件 因为以前搭建过 typecho 站点,所以一些常用的插件也是驾轻就熟,有空我会考虑出一篇文章来给大家推荐一下我喜欢用的一些插件吧。(我这个人时常会忘记我讲过的话,哈哈,如果你记得可以评论区提醒我写对应的文章哟) 然后对于改版后的新站的主题我也做了一些调研评估,最终确定使用 [handsome](https://www.ihewro.com/archives/489/) 主题(戳这个链接到官网购买,请支持正版)。 <span style='color:red'>主题九折购买方法:</span> <div class="hideContent">此处内容需要评论回复后(审核通过)方可阅读。</div> 该主题在 typecho 主题市场中评价甚高,好多人都提到,我也是慕名已久了。于是去找了一下。特别吸引我一定要使用的原因是最新版本后台集成了 Vditor 编辑器!这可是目前我遇到过的开源网页 markdown 编辑器的王者!(因为 typecho 后台原生的 markdown 编辑器没那么好用,我一直希望后台编辑能够用上这款 Vditor)曾经我研究这款开源编辑器的时候,自己还做过一个应用的小案例,大家喜欢可以去玩玩(没有对接高级功能,但是类似 Typora 那种即时渲染的功能真的是我的最爱):[http://xueshanlinghu.gitee.io/vditor-offline/](http://xueshanlinghu.gitee.io/vditor-offline/) 主题准备好之后,我对老站数据做了备份,并搭建了一个临时的老站:[http://old.xueshanlinghu.com](http://old.xueshanlinghu.com)。那么,主站我就直接全新安装一个 typecho 了。 我首先做了主题的各项配置,先把前端的视觉搞起来嘛。 完成后,我弄了一些相关的常用的好用的插件的配置。 这些都不是重点,这样我就可以开始搬迁文章了。 **下面,我来讲一讲搬迁的过程中遇到的几个难题和解决方案。** ## 难题一:TePass 插件启用报错 以前就用过 [TePass](https://pangsuan.com/p/tepass.html) 插件,新站当然是继续用。该插件是一个支持站点加密、分级收款、VIP 管理等功能的插件,对于一些资源站可能应用会比较频繁,我很多东西应该是直接免费给到大家的,所以我可能只是偶尔会用。但毕竟插件不便宜(比主题还贵),买了就要能用上嘛。 没想到一开始在启用插件的过程中报错了,唉,还是那个老样子,一直给我返回 500 错误,又不说原因,太难受了。 咨询了插件作者,表示为伪静态的问题,但我已经按照要求配置了 IIS 的伪静态,但经过各种尝试都不成功,老站原来是用 Windows Server 服务器的,用的就是 IIS,而不是 Apache 或者 Nginx 等,作者说除了伪静态想不到其他的原因。 经过多次尝试失败后,我开始考虑服务器也迁移到 Linux,但为了避免仍然失败,我先弄了一份备份数据到 Linux 服务器做了尝试,结果为:成功启用插件!果然还是 IIS 的伪静态等造成的问题。 于是我把主站的服务器迁移到了 Linux 的机器,解决了该难题,看来今后主站就要用 Linux 服务器来管理了。 ## 难题二:富文本编辑器的内容变为 markdown 格式需调整较多 wordpress 中原本存储的是一些富文本编辑器的内容,也就是包含一些 html 标签的富文本的,而 typecho 今后要维护肯定是原生的 markdown 文本,这两者之间存在格式上的差别,一些内容需要做下格式调整。 经过一番研究,最后选择在 wordpress 的备份站安装了一个插件——[WP Githuber MD 插件](https://wordpress.org/plugins/wp-githuber-md/)。 该插件可以将 wordpress 的后台变为 markdown 编辑器的模式,左边为源文本,右边为 markdown 渲染后的预览内容,前台内容与预览内容一致。 ![779-2.jpg](http://static.fox-9.com/uploads/2021/08/22/779-2.jpg!webp) 如图所示,该插件右上角可以停用启用 markdown 编辑器,也可以将 HTML 内容统一转为 markdown。但实测发现转换效果并不好,会丢失换行符信息,因此在实际使用中我并没有进行转换。 如图,左下角就为文章编辑的编辑区了,编辑区的右侧为预览区,那么在格式调整方面,我会选择先复制右侧预览区的内容过来,然后再在细节上调整格式即可完成,非常的方便。 ## 难题三:typecho tags 标签的批量输入 关于标签方面,我肯定选择使用过去的文章标签。那么过去的文章标签是 `、` 顿号分隔的。 ![779-3.jpg](http://static.fox-9.com/uploads/2021/08/22/779-3.jpg!webp) 而 typecho 呢?原生不支持批量输入标签,它的标签输入是输入标签,回车,输入下一个标签,回车这样的。不同的标签之间,如果你用 `,`,`,`,`、`,` ` 等符号进行分隔,多个标签一起复制进去,都会仅表现为只算一个标签。 当我的老文章标签较多或者同一个标签文字较多的时候,就会非常的麻烦,相同的标签还需要浪费时间。 最开始我用的是一个插件来实现常用标签的显示:`tagshelper` 该插件下载: <div class="hideContent">此处内容需要评论回复后(审核通过)方可阅读。</div> 该插件使用非常方便,启用插件后即可在文章编辑页面添加过去常用标签的一个小框框,点选就可以快速增加标签了。 但还不够快,对于一些新的标签或者标签比较多的文章我就得找半天,因为没啥顺序可言,要么就只能手动输入标签文字。 接着,近期我也在学习 Go 语言嘛,就用 Go 语言简单实现了一个小程序,实现标签的批量解析和填入,该小工具也适用于在一些视频网站发布视频的时候填入标签使用。 关于该小工具的介绍,我们将在这篇文章做详细介绍: <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="http://fox-9.com/783.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(http://static.fox-9.com/uploads/2021/08/22/779-3.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">【迁移记 4】解决难题:typecho tags 标签的批量输入实现(含源码和成品)</p> <div class="inster-summary text-muted"> 关于标签方面,我肯定选择使用过去的文章标签。那么过去的文章标签是 、 顿号分隔的。而 typecho 呢?原生不支... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ## 难题四:需要召唤空格之神 之前在做 [开源指北](https://gitee.com/gitee-community/opensource-guide) 的编辑的时候(里面有我参与编辑的内容,欢迎学习),曾经学习过一些中文排版规则,其中比较重要的一点就是中文和英文字母,中文和数字之间,要包含一个空格,这样排版出来的文字比较规范好看。经过长时间的使用,该规则我已经比较习惯了(我发现 Mac 电脑上打字的时候,空格会自动加),所以也希望自己的所有 markdown 文章都是按照这样的规则来的。 但我历史的文章不是这样的呀。几年前还不是这样用的,空格是绝对不会有的,那么我在手动迁移的过程中,就需要自己肉眼找到中文和英文字母、中文和数字之间手动添加空格了,遇到某些文章内容非常多的时候,这可真是一个非常大的工程量。 于是后来我找了一款很棒的工具,可以自动添加我所需要的空格,这时候我只需要肉眼扫过检查一下即可,大大节约了时间。 关于这款很棒的工具,我放在这篇文章给大家介绍: <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="http://fox-9.com/785.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(http://fox-9.com/usr/themes/handsome/assets/img/sj/1.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">【迁移记 5】解决难题:召唤空格之神</p> <div class="inster-summary text-muted"> 之前在做 开源指北 的编辑的时候(里面有我参与编辑的内容,欢迎学习),曾经学习过一些中文排版规则,其中比较重要的一... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ## 难题五:服务器迁移的时候,无法备份 Emoji 表情 我在做 Windows server 服务器迁移到 Linux 服务器的过程中就遇到了一个大大的困难,那就是按常规的 mysqldump 工具导出的方式导出的数据库 sql 文件,涉及到 Emoji 表情的部分全部变成了 `?` 号,这让我非常的郁闷,辛辛苦苦配置的 Emoji 表情不能够顺利迁移? 经过一番探索,我发现,在导出时默认会按照 utf-8 编码进行导出,而我们需要使用支持 emoji 表情的 utf8mb4 编码导出。 如何实现呢?我写在这篇文章当中了: <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="http://fox-9.com/788.html" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(http://fox-9.com/usr/themes/handsome/assets/img/sj/1.jpg);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">使 typecho 的数据库备份包含 Emoji 表情的方法</p> <div class="inster-summary text-muted"> 之前我们讲过如何使得 typecho 的数据库支持存储撰写 Emoji 表情,我的站点也是有很多这种表情符号的,有... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> 最后修改:2021 年 08 月 22 日 © 允许规范转载 赞 赠人玫瑰,手留余香