页面加载速度将影响 Google 移动搜索排名,从 7 月开始

周三,Google 宣布 将对移动搜索的网站排名进行一次重大调整:页面加载速度将成为影响因素之一。这项被 Google 称为“Speed Update”的调整将从 2018 年 7 月开始生效,一些加载速度非常缓慢的网站将在特定条件下被降低排名。

虽然加载速度将成为决定搜索结果排名的因素,但这项调整倒不是说要把它当成唯一的因素。在某些情况下,加载速度缓慢的页面仍然会有很高的排名,比如说它们拥有跟搜索关键词最相关的内容。 Read more “页面加载速度将影响 Google 移动搜索排名,从 7 月开始”

WordPress 响应式极简主题 SimPo 1.5 – 2016.8.16 最终版

WordPress响应式清新主题SimPo介绍:

SimPo是个人基于最新WordPress默认主题 Twenty Twelve 修改的一款响应式清新主题,一切遵循清新自然的主体风格,博客更专注文字,目前已停止频繁更新,不过会根据 Twenty Twelve 的更新进行维护。如果你觉得此主题不错,可以考虑给本人送一瓶百事可乐o(∩_∩)o Read more “WordPress 响应式极简主题 SimPo 1.5 – 2016.8.16 最终版”

免费的WordPress主题下载网站—>MagPress.com

MagPress.com由亚洲三兄弟开发和维护。MagPress.com早在2005年就开始作为免费的WordPress主题下载网站,现在已经成为世界上最大的免费WordPress主题目录之一,拥有超过100万次的下载量。

根据Alexa的历史统计,MagPress被来自美国,印度,印度尼西亚,英国和俄罗斯的用户访问。我们帮助了超过10万的网站管理员和博客为他们的新网站创建了一个漂亮且易于使用的WordPress模板。

今天,MagPress不仅为WordPress CMS平台提供简单的免费主题,而且还提供免费的响应和干净的现代HTML5 WordPress主题供用户使用,无需任何HTML和CSS的知识。MagPress还为任何用户提供购买任何主题的开发者版本的机会,以移除我们的信用链接,并通过我们的支持论坛或优先电子邮件获得100%免费但高端的支持。

MagPress的开发人员不断追随设计和网页编码标准的潮流,所以使用我们的免费主题的用户可以在他们的网站上使用最标准和最新的HTML CSS标记。到目前为止,我们已经有超过30个移动友好的WordPress主题,可以在iPhone,iPad或任何Android手机等移动设备上完美工作。

随着对移动友好的WordPress主题的苛刻要求,我们总是发布一个“响应”的主题,使任何使用我们的主题的用户不会损失他们的观众在移动空间,可能会或可能不会覆盖30%的平均设备使用访问。

MagPress总是欢迎来自世界各地的新成员和访客,所以我们可以帮助他们开始自己的网站,而不必担心网站设计或新的主题发展。如果主题支持这个功能,可以通过主题选项轻松地对WordPress主题进行简单的安装。

官方网址:http://www.magpress.com/

轻量级博客程序–Ghost使用体验

PHP方面最知名的轻量博客还是Typecho,在国内有很高的声誉,不过正式版已经快三年没有更新,虽然开发版还在更新,加上用的人还是偏少,毕竟倾向于专门博客方面,所以模板、插件和二次开发的教程都偏少,所以又有一部分人投向了其他语言。例如很火的GO语言、NodeJS等等,用这些语言开发的博客网站确实速度非常快,让服务器的压力也小了很多,远比PHP这类动态的具有明显优势。在NodeJS方面最知名的就是Hexo和Ghost了,还有GO语言写的Hugo,还有Jekyll等等,他们甚至还能依靠Github Page运行,又节省了服务器成本。

一直闻其Ghost博客大名,但是一直没有体验过,所以这次折腾了一阵子终于搞定了比较简单些的Ghost博客。博主比较菜+懒,所以Hexo搞了半天没成功,虽然dalao们都说简单,加上手上空闲只有国内主机,国内主机平时更新个WP都是问题,下载Hexo依赖的一大堆组件简直不能忍受。。。正好Ghost博客已经有了很多一键搭建脚本,所以就先发Ghost博客。

一、Ghost博客的搭建

Ghost博客的搭建说难不难,说简单也不简单,它比WP这种PHP所要的环境和组件毕竟多和复杂,所以很多新人都觉得这玩意实在是太复杂了。Ghost博客所占用的资源比较厉害,至少需要512MB内存才能保证其正常使用,如果主机在国外相对方便一些,国内更新软件包实在蛋疼。 Read more “轻量级博客程序–Ghost使用体验”

Pagekit轻博客CMS程序/模块化轻量级CMS

Pagekit是采用现代技术构建的模块化轻量级CMS。它为您提供了创建漂亮网站的工具。全部包装在一个干净和直观的用户界面。

Pagekit是由YOOtheme创建的开源项目。我们热衷于创建模块化,可扩展和轻量级的CMS,并将乐趣带回内容管理。Pagekit托管在GitHub上,供所有人参与。今天介入!

官网地址:https://pagekit.com/

Ghost 开源博客平台

Ghost 是基于 Node.js 构建的开源博客平台。Ghost 具有易用的书写界面和体验,博客内容默认采用 Markdown 语法书写。Ghost 的目标是取代臃肿的 WordPress。

Ghost 是基于 Node.js 的开源博客平台,由前 WordPress UI 部门主管 John O’Nolan 和 WordPress 高级工程师(女) Hannah Wolfe 创立,目的是为了给用户提供一种更加纯粹的内容写作与发布平台。

John O’Nolan 和 Hannah Wolfe

2013 年 9 月份,Ghost 正式向公众发布,Ghost 中文网也随之上线。
Ghost 中文网的目标是致力于 Ghost 开源博客系统在国内的推广,与广大 Ghost 用户分享 Ghost 相关的知识、技巧。

官网网址:http://www.ghostchina.com/

Poedit:Gettext翻译编辑器(网站汉化工具、WordPress汉化必备)

下载Mac系统适用于MacOS 10.10+源代码下载的Unix / Linux的开放源码包

开源版本和源代码

GitHub根据MIT许可条款提供了Poedit开源版本的最新源代码(上述二进制文件中包含的Pro功能)。Windows和MacOS版本只能从git checkout构建; Unix版本可以通过checkout或者上面的tarball完成。

旧版本

版本1.8 – Windows下载 1.8.13, macOS 1.8.12或 1.8.13源代码

版本1.7 – 下载 1.7.7 Windows, 1.7.7 macOS或 1.7.7源代码
版本1.6 – 下载 1.6。 11为Windows, 1.6.11为macOS或 1.6.11源代码

甚至更老的版本,都可以从SourceForge档案中找到。请注意,这些旧版本不再受支持。

旧的操作系统

Windows XP和Vista – 最新的工作版本是1.8.12 
Mac OS X 10.8和10.9 – 最新的工作版本是1.8.12 

Mac OS X 10.7 Lion – 最新的工作版本是1.8.11 
Mac OS X 10.6 Snow Leopard&PPC Macs – 最新的工作版本是1.5.7

官网地址:https://poedit.net/

WP-PostRatings – 基于 WordPress 的文章评分插件

很多博主写博客的目的就是为了与大家分享一些自己的故事、经验以及人生的看法等等,关注博客的访客们可以对博主写的文章进行评论与留言,从而实现了与博主的互动。今天园子介绍的 WordPress 插件 WP-PostRatings ,可以轻松的实现访客对您发表的文章来进行打分、评级,从而加强双方之间的沟通与互动。

园子博客: WP-PostRatings – 基于 WordPress 的文章评分插件

WP-PostRatings 插件已经完美支持 WordPress 2.7 ,并且支持多种样式的的图标,您可以根据自己想喜好,选择相应的图标样式。插件自带的图标如下:

WP-PostRatings 插件截图

您可以登陆您的博客后台,根据帐户名称(如果有开放注册的话)、文章ID、文章标题等等,通过我们统计到的结果,可以很简单的看出哪些文章是大家比较感兴趣的,通过对这些结果的分析在以后的文章中对读者感兴趣的方面有所侧重。

WP-PostRatings 插件使用方法

  1. 下载 WP-PostRatings 插件,上传插件到/wp-content/plugins/下的文件夹。
  2. 到您的网站管理后台插件页面,激活插件,然后就可以根据自己的喜好做相应的设置。
  3. 设置好 WP-PostRatings 插件后,我们需要把相关的代码放在主题文件里去,这样才可以正确显示出投票功能。如园子是把代码加在single.php页面里面,您也可以加到index.php页面里,查找

    加到这段代码下面即可。加入代码后刷新页面即可出现文章评分的功能。园子的博客文章评分截图如下:

    WP-PostRatings 显示效果

    汉化补丁  WP-PostRatings1.50汉化中文包

WordPress Plugins(流行的23 WordPress 插件)

Lester Chan大神,洛米就简单说几个这位大神的作品:分页插件WP-PageNavi、计数统计插件WP-PostViews、投票插件WP-Polls、数据库插件WP-DBManager、下载管理插件WP-DownloadManager等等等….现在知道这位大神的了吧,足以让wordpress用户膜拜啊…

The number of times my 23 WordPress Plugins have been downloaded according to the official WordPress Plugins Repository.

官网地址:https://lesterchan.net/portfolio/programming/php/

 

爱之深恨之切–又换主题:Twenty Twelve 子主题

文章来源/佐仔志

为了避免WordPress升级覆盖Twenty Twelve原修改的文件,以Twenty Twelve为母主题建立一个子主题

启用后的第一步为:SEO。

过去,默认主题的输出title的代码是长长的一串,在Twenty Twelve中,则是如此简单。

<title><?php wp_title( '|', true, 'right' ); ?></title>

在Twenty Twelve的变化中,简化似乎是一个方向,没有多余的功能,没有累赘的样式。标题简化到只有一个函数,通过插件可以完全控制标题的输出,而且与之前的主题相比SEO方面没有任何退步。简单,我喜欢。但是对于“description”和“keywords”修改如下。 Read more “爱之深恨之切–又换主题:Twenty Twelve 子主题”

Excel常用电子表格公式大全

1、 查找重复内容公式:=IF(COUNTIF(A:A,A2)>1,”重复”,””)。

2、 用出生年月来计算年龄公式:=TRUNC((DAYS360(H6,”2009/8/30″,FALSE))/360,0)。

3、 从输入的18位身份证号的出生年月计算公式:=CONCATENATE(MID(E2,7,4),”/”,MID(E2,11,2),”/”,MID(E2,13,2))。

4、 从输入的身份证号码内让系统自动提取性别,可以输入以下公式:

=IF(LEN(C2)=15,IF(MOD(MID(C2,15,1),2)=1,”男”,”女”),IF(MOD(MID(C2,17,1),2)=1,”男”,”女”))公式内的“C2”代表的是输入身份证号码的单元格。

1、求和: =SUM(K2:K56) ——对K2到K56这一区域进行求和;

2、平均数: =AVERAGE(K2:K56) ——对K2 K56这一区域求平均数;

3、排名: =RANK(K2,K$2:K$56) ——对55名学生的成绩进行排名;

4、等级: =IF(K2>=85,”优”,IF(K2>=74,”良”,IF(K2>=60,”及格”,”不及格”)))

5、学期总评: =K2*0.3+M2*0.3+N2*0.4 ——假设K列、M列和N列分别存放着学生的“平时总评”、“期中”、“期末”三项成绩;

6、最高分: =MAX(K2:K56) ——求K2到K56区域(55名学生)的最高分;

7、最低分: =MIN(K2:K56) ——求K2到K56区域(55名学生)的最低分;

8、分数段人数统计:

(1) =COUNTIF(K2:K56,”100″) ——求K2到K56区域100分的人数;假设把结果存放于K57单元格;

(2) =COUNTIF(K2:K56,”>=95″)-K57 ——求K2到K56区域95~99.5分的人数;假设把结果存放于K58单元格;

(3)=COUNTIF(K2:K56,”>=90″)-SUM(K57:K58) ——求K2到K56区域90~94.5分的人数;假设把结果存放于K59单元格;

(4)=COUNTIF(K2:K56,”>=85″)-SUM(K57:K59) ——求K2到K56区域85~89.5分的人数;假设把结果存放于K60单元格;

(5)=COUNTIF(K2:K56,”>=70″)-SUM(K57:K60) ——求K2到K56区域70~84.5分的人数;假设把结果存放于K61单元格;

(6)=COUNTIF(K2:K56,”>=60″)-SUM(K57:K61) ——求K2到K56区域60~69.5分的人数;假设把结果存放于K62单元格;

(7) =COUNTIF(K2:K56,”<60″) ——求K2到K56区域60分以下的人数;假设把结果存放于K63单元格;

说明:COUNTIF函数也可计算某一区域男、女生人数。

如:=COUNTIF(C2:C351,”男”) ——求C2到C351区域(共350人)男性人数;

9、优秀率: =SUM(K57:K60)/55*100

10、及格率: =SUM(K57:K62)/55*100

11、标准差: =STDEV(K2:K56) ——求K2到K56区域(55人)的成绩波动情况(数值越小,说明该班学生间的成绩差异较小,反之,说明该班存在两极分化);

12、条件求和: =SUMIF(B2:B56,”男”,K2:K56) ——假设B列存放学生的性别,K列存放学生的分数,则此函数返回的结果表示求该班男生的成绩之和;

13、多条件求和: {=SUM(IF(C3:C322=”男”,IF(G3:G322=1,1,0)))} ——假设C列(C3:C322区域)存放学生的性别,G列(G3:G322区域)存放学生所在班级代码(1、2、3、4、5),则此函数返回的结果表示求一班的男生人数;这是一个数组函数,输完后要按Ctrl+Shift+Enter组合键(产生“{……}”)。“{}”不能手工输入,只能用组合键产生。

14、根据出生日期自动计算周岁:=TRUNC((DAYS360(D3,NOW( )))/360,0)

———假设D列存放学生的出生日期,E列输入该函数后则产生该生的周岁。

15、在Word中三个小窍门:

①连续输入三个“~”可得一条波浪线。

②连续输入三个“-”可得一条直线。

连续输入三个“=”可得一条双直线。

一、excel中当某一单元格符合特定条件,如何在另一单元格显示特定的颜色比如:
A1〉1时,C1显示红色
0<A1<1时,C1显示绿色
A1<0时,C1显示黄色
方法如下:
1、单元击C1单元格,点“格式”>“条件格式”,条件1设为:
公式 =A1=1
2、点“格式”->“字体”->“颜色”,点击红色后点“确定”。
条件2设为:
公式 =AND(A1>0,A1<1)
3、点“格式”->“字体”->“颜色”,点击绿色后点“确定”。
条件3设为:
公式 =A1<0
点“格式”->“字体”->“颜色”,点击黄色后点“确定”。
4、三个条件设定好后,点“确定”即出。

二、EXCEL中如何控制每列数据的长度并避免重复录入

1、用数据有效性定义数据长度。
用鼠标选定你要输入的数据范围,点”数据”->”有效性”->”设置”,”有效性条件”设成”允许””文本长度””等于””5″(具体条件可根据你的需要改变)。
还可以定义一些提示信息、出错警告信息和是否打开中文输入法等,定义好后点”确定”。
2、用条件格式避免重复。
选定A列,点”格式”->”条件格式”,将条件设成“公式=COUNTIF($A:$A,$A1)>1”,点”格式”->”字体”->”颜色”,选定红色后点两次”确定”。
这样设定好后你输入数据如果长度不对会有提示,如果数据重复字体将会变成红色。

三、在EXCEL中如何把B列与A列不同之处标识出来?
(一)、如果是要求A、B两列的同一行数据相比较:
假定第一行为表头,单击A2单元格,点“格式”->“条件格式”,将条件设为:
“单元格数值” “不等于”=B2
点“格式”->“字体”->“颜色”,选中红色,点两次“确定”。
用格式刷将A2单元格的条件格式向下复制。
B列可参照此方法设置。
(二)、如果是A列与B列整体比较(即相同数据不在同一行):
假定第一行为表头,单击A2单元格,点“格式”->“条件格式”,将条件设为:
“公式”=COUNTIF($B:$B,$A2)=0
点“格式”->“字体”->“颜色”,选中红色,点两次“确定”。
用格式刷将A2单元格的条件格式向下复制。
B列可参照此方法设置。
按以上方法设置后,AB列均有的数据不着色,A列有B列无或者B列有A列无的数据标记为红色字体。

四、EXCEL中怎样批量地处理按行排序

假定有大量的数据(数值),需要将每一行按从大到小排序,如何操作?
由于按行排序与按列排序都是只能有一个主关键字,主关键字相同时才能按次关键字排序。所以,这一问题不能用排序来解决。解决方法如下:
1、假定你的数据在A至E列,请在F1单元格输入公式:
=LARGE($A1:$E1,COLUMN(A1))
用填充柄将公式向右向下复制到相应范围。
你原有数据将按行从大到小排序出现在F至J列。如有需要可用“选择性粘贴/数值”复制到其他地方。
注:第1步的公式可根据你的实际情况(数据范围)作相应的修改。如果要从小到大排序,公式改为:=SMALL($A1:$E1,COLUMN(A1))

五、巧用函数组合进行多条件的计数统计

例:第一行为表头,A列是“姓名”,B列是“班级”,C列是“语文成绩”,D列是“录取结果”,现在要统计“班级”为“二”,“语文成绩”大于等于104,“录取结果”为“重本”的人数。统计结果存放在本工作表的其他列。
公式如下:
=SUM(IF((B2:B9999=”二”)*(C2:C9999>=104)*(D2:D9999=”重本”),1,0))
输入完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号”{}”。

六、如何判断单元格里是否包含指定文本?
假定对A1单元格进行判断有无”指定文本”,以下任一公式均可:
=IF(COUNTIF(A1,”*”&”指定文本”&”*”)=1,”有”,”无”)
=IF(ISERROR(FIND(“指定文本”,A1,1)),”无”,”有”)

求某一区域内不重复的数据个数
例如求A1:A100范围内不重复数据的个数,某个数重复多次出现只算一个。有两种计算方法:
一是利用数组公式:
=SUM(1/COUNTIF(A1:A100,A1:A100))
输入完公式后按Ctrl+Shift+Enter键,让它自动加上数组公式符号”{}”。
二是利用乘积求和函数:
=SUMPRODUCT(1/COUNTIF(A1:A100,A1:A100))

七、一个工作薄中有许多工作表如何快速整理出一个目录工作表

1、用宏3.0取出各工作表的名称,方法:
Ctrl+F3出现自定义名称对话框,取名为X,在“引用位置”框中输入:
=MID(GET.WORKBOOK(1),FIND(“]”,GET.WORKBOOK(1))+1,100)
确定
2、用HYPERLINK函数批量插入连接,方法:
在目录工作表(一般为第一个sheet)的A2单元格输入公式:
=HYPERLINK(“#'”&INDEX(X,ROW())&”‘!A1”,INDEX(X,ROW()))
将公式向下填充,直到出错为止,目录就生成了。

JustNews WordPress博客、自媒体、资讯主题

JustNews是一款专为博客、自媒体、资讯类的网站设计开发的wordpress主题。JustNews主题支持前端用户中心,可以设置用户角色分组,设置不同分组的权限,并可以实现前端用户投稿发布文章。

购买地址JustNews WordPress主题

前端用户中心

JustNews的前端用户中心基于Ultimate Member插件,我们根据自身需求对Ultimate Member插件进行了深度定制二次开发,购买主题将免费获得我们的定制版Ultimate Member插件。

用户中心

用户中心

帐号设置

帐号设置

前端投稿/文章发布

前端投稿/文章发布

主题简介

  1. 响应式设计,兼容手机和平板等移动设备;
  2. 前端用户中心
  3. (新)第三方社交帐号登录(可支持微博、QQ、微信登录);
  4. 文章投稿、发布功能
  5. 文章专题功能
  6. 文章版权设置,支持自定义添加多种版权模板,文章可选择适用的版权模板;
  7. 文章打赏、点赞、收藏、分享、阅读模式功能;
  8. 当前文章作者信息小工具;
  9. 首页幻灯片轮播、头条推荐内容设置;
  10. 自主开发Themer框架,支持后台自定义面板设置;
  11. (新)一键导入演示数据;
  12. (新)缩略图片延迟加载(lazyload),提高页面加载速度;
  13. (新)手机端底部固定浮动栏,可添加拨号联系等选项;
  14. (新)未设置特色图片自动获取文章首张图片作为缩略图(外链图片自动将首张图片保存到本地并设置为特色图片);
  15. (新)边栏滚动到底部后固定位置功能;
  16. (新)微信分享显示描述、缩略图功能;
  17. (新)支持WooCommerce插件,可实现商城功能;
  18. (新)支持文章分页功能;
  19. (新)广告位设置;
  20. 主题颜色风格自定义设置,可以随意设置网站配色风格;
  21. (新)强大的SEO优化功能,可自定义标题、描述和关键词,也可支持懒人模式自动获取;
  22. 融入FontAwesome字体图标库,支持多达600+个字体图标;
  23. 自带多种小工具(持续增加中);
  24. 文章页面相关文章展示;
  25. 支持首页合作伙伴、友情链接显示;
  26. 支持在线客服/微信二维码/分享/返回顶部悬浮层;
  27. 支持自定义CSS样式设置;
  28. 支持谷歌字体链接和头像链接替换,加快网站打开速度;
  29. 缩略图自动智能裁剪功能;
  30. 无限页面边栏添加;
  31. 三级下拉菜单支持;
  32. 依赖插件一键安装和更新功能;
  33. 文章评论功能(可选择开启或关闭);
  34. 文章分类模板可选择(默认模板、图文列表(无边栏)、图文列表、文章列表);
  35. 页面模板选择(无边栏、无标题、评论模板、专题列表、文章投稿等);
  36. 支持文章段落缩进设置;
  37. 基于Bootstrap前端框架(bootstrap介绍)开发;
  38. 文章组件添加功能(基于shortcode开发);
  39. 主题兼容IE8+,Chrome,Firefox,Safari,360浏览器等国内主流浏览器,针对Mac OS X优化显示;
  40. 浏览器兼容提示,针对低版本IE浏览器会显示升级提示;
  41. 新版本实时推送,在线一键更新,享受WordPress官方主题库的升级体验;
  42. 针对响应式网站的移动端SEO优化;
  43. HTTPS优化,全面支持HTTPS网站;
  44. 支持子主题扩展;
  45. 主题使用在线文档
  46. 一次购买,享受永久更新服务。

运行环境

  • PHP 5.2+,兼容PHP 7.x
  • MySQL 5.0+

主题授权

主题采用在线授权的方式,安装主题激活后自动绑定域名,每个主题可授权3个WordPress站点使用。

Ghost:博客程序由 WordPress 迁移至 Ghost

为了配合路由器科学上网,于是买了个 VPS 来自行搭建 V.P.N,再加上最近在折腾 Node.js,于是打算把博客从 WordPress 迁移至 Ghost

Ghost 为 WordPress 的前员工开发,基于 Node.js,非常轻快,而且后台为 Markdown 编辑器,再加上数据库是 SQLite(也可使用 MySQL),深得我心,下面简单记录一下迁移过程。

首先选择一个合适的 VPS,之后安装 Ghost

迁移评论

评论迁移至 Disqus非常简单,Wordpress 安装 Disqus 插件后简单几步就能完成。

迁移文章图片

Ghost 的迁移指引上给出了一个用来存放图片的网站 Cloudinary,同样有 WordPress 插件,安装后即可把所有图片转移至 cloudinary 并替换文章中的图片 url 为 cloudinary 的 url。

迁移文章

等上面的数据全部迁移完了就可以迁移文章了。

正常的情况下,Wordpress 安装 Ghost 插件,在 WordPress 中导出 JSON 格式的数据,再进入 Ghost 后台导入即可。

这一步我遇到了一个问题,就是导入后的文章乱码了,而标题没乱码!

搜索一圈没找到解决方案,于是给 Ghost 提了个 issue,得到回复说可能是 WordPress 的 MySQL 数据库的编码问题,于是我在本机搭建了一个 WordPress(详见 Mac下如何安装Wordpress?),将线上 WordPress 的数据导入到本地搭建的 WordPress 中(使用 WordPress 内置的导入、导出工具即可),再将本地 WordPress 的数据导出,再上传至 Ghost 后台,乱码问题搞定!

另外,导入的文章可能会出现一些错误,尤其是包含代码的,需要手动修复。

URL 重定向

WordPress 导入 Ghost 之后,文章的 URL 规则发生了变化,为了更加无缝的体验,需要对 URL 进行 301 重定向。

中文标题下,Ghost 导入进来的文章 URL 为一长串字符,重定向规则变得没有规律,我想要的是方便重定向的,比如老的 URL 是 http://www.99css.com/archives/542/,新的为 http://www.99css.com/542/。念在只有 100 多篇文章,手动修改未尝不可:

  • 将 Ghost 的数据库 content/data/ghost.db 下载到本地
  • 用 SQLite 编辑工具(比如 SQLite professional、Firefox 扩展 SQLite Manager)打开
  • 在本地的 phpMyAdmin 中执行如下 SQL 语句筛选出文章标题及 ID SELECT post_title, guid FROM `wp_posts` WHERE post_status = ‘publish’ ORDER BY post_date DESC
  • 修改数据库 ghost.db 中 posts 表中的数据,将 slug 字段修改为上面查询到的对应文章 ID 即可

Tag 的 URL 也可以顺手修改一下,打开 tags 表,修改 slug 字段。

修改完成之后,ghost.db 上传覆盖 content/data/ghost.db。

接下来配置一下 nginx,新建一个 conf 文件,丢到 nginx 配置目录即可

server {  
    listen 80;
    server_name www.99css.com;
    location / {
        proxy_pass http://127.0.0.1:2368;
        if ($args ~* "p=[0-9]*") {
            rewrite ^ /$arg_p? last;
        }
        if ($arg_tag) {
            rewrite ^ /tag/$arg_tag? last;
        }
        if ($arg_replytocom) {
            rewrite ^(.*) $1? redirect;
        }
    }
    location /archives {
		rewrite ^/archives/([0-9-]+)$ /$1 permanent;
        rewrite ^/archives/tag/(.*)$ /tag/$1 permanent;
        rewrite ^/archives/category/(.*)$ / permanent;
        rewrite ^/archives/date/(.*)$ / permanent;
	}
    location /category {
        rewrite ^/category/(.*)$ / permanent;
    }
    location /demo {
        alias /var/www/ghost/content/demo;
        access_log off;
        expires max;
    }
    location /static {
        alias /var/www/ghost/content/static;
        access_log off;
        expires max;
    }
}
server {
    server_name 99css.com;
    rewrite ^(.*) http://www.99css.com permanent;

后面一段规则是将不带 www 的域名(99css.com)跳转到带 www 的域名(http://www.99css.com)

合并评论

进入 Disqus 的后台管理,点击 Tools 标签,找到 Redirect Crawler (Advanced),点击 Start Crawler,即可把重定向 URL 前后的文章评论合并。不知为何,这一步一直没有成功,最后采取的是手动修改 URL map

将 Disqus 集成到 Ghost 中

注:可以使用更加方便的 Code Injection 功能来添加 Disqus,详见 http://www.99css.com/code-injection-of-ghost/ 用编辑器打开主题中的 post.hbs 文件,将下面代码段拷贝至 </article> 前(记得修改一下 disqus_shortname 变量),重启即可生效

<div id="disqus_thread"></div>  
<script type="text/javascript">  
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var disqus_shortname = 'disqus_shortname'; // required: replace example with your forum shortname

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();
</script>  
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>  
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

使用 PM2 守护 Ghost 进程

安装 PM2,以 Ubuntu 为例

npm install pm2@latest -g

生成 PM2 自启动脚本

pm2 startup ubuntu

以生产模式启动 Ghost

NODE_ENV=production pm2 start index.js --name ghost

保存

pm2 save 

以后这样就可以重启了

pm2 restart index.js

设置完成之后 VPS 重启或者 Ghost 崩溃都能自动重新运行了

注册谷歌账户 Gmail 提示:此电话号码无法用于进行验证【解决办法】

相信不少童鞋遇到过注册Google Gmail到最后一步“验证您的帐号” 输入号码后提示:“此电话号码无法用于进行验证” 的问题。

那么到底是什么原因呢?大家都知道谷歌的安全验证机制比国内很多网站要健全一些,相对也麻烦一些,而且天朝好多年前就和谐Google了。

为了注册google play的账号,搞半天,没法注册成功,最后用的下面这个方法成功的,很快的哦

2017-9-30】打开QQ邮箱APP(手机或者平板),选择设置“添加账户”-》gmail-》更多选项-》创建帐号-》然后正常注册就可以使用中国电话收短信。