2018年10月4日星期四

解决fonts.gstatic.com无法访问

最近很多google的服务又在大陆地区受限了,原因不做过多讨论。屏蔽这些服务不仅仅意味着gmail,谷歌学术等方便的工具使用受到限制,更意味着很多寄托于google的web服务无法使用。wordpress很多的主题都使用了google上的字体文件、css文件、js文件等,屏蔽之后访问速度会奇慢无比甚至无法打开。

我这个博客主题也和很多wordpress主题一样使用了google fonts。一般不是登陆状态时候看不出什么异常,而如果处于登陆状态,并不通过缓存加载页面时(即使用ctrl+f5),会发现fonts.gstatic.com服务器根本无法连上。也就是说其实这个问题对一般访客没有任何影响,且不是很容易被发现。但既然发现了我们就要解决掉它。

解决方法:
一、将文件下载到本地
1.下载对应的css。这一步可以通过chrome、firefox等提供的审查元素功能。切换到网络(network)页面,找到无法访问的那个链接。比如我这里的是http://fonts.gstatic.com/css?family=Open+Sans%3A300italic%2C400italic%2C600italic%2C300%2C400%2C600&subset=latin%2Clatin-ext&ver=3.9,通过发送请求或者多次尝试浏览器打开之后,把里面的css内容复制到本地。

2.在下载的css文件中,批量查找出所有引用的字体文件的链接,比如:

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url(http://fontstatic.useso.com/s/opensans/v10/DXI1ORHCpsQm3Vp6mXoaTRa1RVmPjeKy21_GQJaLlJI.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url(http://fontstatic.useso.com/s/opensans/v10/u-WUoqrET9fUeobQW7jkRT8E0i7KZn-EPnyo3HZu7kw.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 600;
  src: local('Open Sans Semibold'), local('OpenSans-Semibold'), url(http://fontstatic.useso.com/s/opensans/v10/MTP_ySUJH_bn48VBG8sNSha1RVmPjeKy21_GQJaLlJI.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 300;
  src: local('Open Sans Light Italic'), local('OpenSansLight-Italic'), url(http://fontstatic.useso.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxrsuoFAk0leveMLeqYtnfAY.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 400;
  src: local('Open Sans Italic'), local('OpenSans-Italic'), url(http://fontstatic.useso.com/s/opensans/v10/xjAJXh38I15wypJXxuGMBtIh4imgI8P11RFo6YPCPC0.woff) format('woff');
}
@font-face {
  font-family: 'Open Sans';
  font-style: italic;
  font-weight: 600;
  src: local('Open Sans Semibold Italic'), local('OpenSans-SemiboldItalic'), url(http://fontstatic.useso.com/s/opensans/v10/PRmiXeptR36kaC0GEAetxmWeb5PoA5ztb49yLyUzH1A.woff) format('woff');
}
可以直接通过正则匹配:https://fonts.gstatic.*?.woff 找到所有的链接,然后批量下载(可以用迅雷或者其他下载工具),存储到本地服务器中。

3.把上面css里的woff字体文件的路径,修改成刚才保存的路径。

4.找到wp-includes 里面的 script-loader.php 有一行:

$open_sans_font_url = "//fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,300,400,600&subset=$subsets";
把里面的链接修改为本地存储的css的链接,即可正常访问了。

这种方法的好处是不再依赖外部链接,但缺点是如果更新主题、或者更新wordpress可能会导致访问失效。

二、借助360 常用前端公共库

首先上链接: http://libs.useso.com/ 里面缓存了Google的前端公共库和免费字体库,不得不说,虽然是360做的东西,但确实很给力,收录全,访问速度快且稳定,点个赞吧。

这下就非常方便了,只需要执行方法1的第4步,把fonts.googleapis.com 换成 fonts.useco.com就大功告成了。

当然,如果在第一步始终无法访问页面,可以通过这里访问进入,再复制到本地。
发布于:下午10:20 | 标签:

2018年8月16日星期四

博客留一手,WordPress导入文章到Blogger

我对网络世界的数据安全性和稳定性存怀疑态度,毕竟这些0、1数据看得见摸不着,指不定哪一天就灰飞烟灭了。


现在在写的博客的每一篇文章也是辛辛苦苦耗时耗力地一个字一个字码出来的,虽然写得不怎么样但也是心血之作,万一哪天没有了定会痛苦不已。所以在很久以前我就把文章保存在本地,可能在不久的将来会印成纸张。


以前有想过把博客的文章同步到新浪搜狐网易博客上,只是这些BSP都不支持WordPress文件导入的功能,虽然WordPress的插件大军中存在类似功能的插件,但是我用着很不舒服:影响正常发文,偶尔出错,而且占有CPU资源。我试图寻找一个通过RSS同步博客的方法,貌似人人和FaceBook提供。总觉得这些强社会关系社区和博客精神是相悖的,非要注册才能浏览,才能发言,而且把写作者绑在你的网站上。


于是我选择了Blogger作为博客的备份之选,它支持XML文件的导入导出,很是方便。如果某一天我的域名到期、服务器崩溃,在网络上至少还有一个存放梦想的地方。


WordPress导入文章到Blogger的步骤是(也就是个导出导入的过程):

1、 WordPress导出XML文件

2、 进行格式转换(或许你不需要这一步,但是我没做这一步的话下一步没法进行)

3、 Blogger导入XML文件


以后大概每半年会把博客的文章导入到Blogger里,有兴趣可以围观Blogger上的静风博客吧。


PS: Blogger提供自定义HTML的功能,还可以添加AdSense,自由度比较大,但我用起来还是感觉不方便。

发布于:下午9:43 | 标签:

从Wordpress搬家到Blogger

从wordpress搬家到blogger,过程比较简单.

首先在wordpress的后台里将所有文章导出,你会获得一个xml文件.

然后进入Google在2011年的一个开源项目的网站:http://wordpress2blogger.appspot.com/将xml文件上传.

可能会有以下三种结果:

1.返回一个xml文件,浏览器会提示你下载,这说明你成功了.

2.提示你这不是wordpress的XML文件.

3.提示你文件过大.

如果没成功,不要担心,因为博主折腾了很久也算是摸清了问题所在.

问题1:这不是wordpress的XML文件.

解决方法:

在显示的页面中会提示xxx行xxx列出了问题,然后用编辑器打开xml文件,找到那行把整行删除(如果你看不懂XML代码的话),然后再提交,如果还提示问题就重复上述步骤直到成功为止.

问题2:文件过大

解决方法:

进入该项目的Google Code:https://code.google.com/p/google-blog-converters-appengine/,在Download页面里下载源代码,解压后找到bin目录下的wordpress2blogger.bat(linux下选择sh),根据README.txt里的内容在命令行(或终端)中进行转换.

还有一种解决的方法是将xml文件进行分割后再传到网页上去转换,这里需要用到一款叫做DivXml的分割工具.

下载地址:http://115.com/file/dpkm5msi#DivXml.exe

希望这是我最后一次将博客搬家了…现在正在想办法让博客穿墙访问.

PS:PHPCloud的管理员恢复了我的container,502主要是由code track导致超过配额引起的,现在博客还是在wordpress显示,但同时也会在blogger进行备份.
发布于:下午9:40 | 标签:

WordPress博客转换到Blogger的方法

 虽然Google的Blogspot在国内无法访问,但对于独立域名的英文博客来说,使用Blogger还是不错的选择,不用使用托管主机,这里就介绍一下,对于独立域名的英文博客,从WordPress切换到Blogger的方法。

  WordPress的Permalink可以设置为自定义结构:/%year%/%monthnum%/%postname%.html,这样的链接结构就和Blogger一样,同时Wordpress需要在一开始的时候就安装"Google Blogger格式地址"插件,这样对于英文博客来说,切换的时候就可以保证文章URL地址不发生变化。

  接着,登录WordPress后台,点"Tools"-"Export",将文章以XML的方式导出。

  如果文章和评论不多,可以到Google Blog Converters提供的这个地址(镜像地址)转换下载小于1M的文件,如果文章很多,需要自己安装博客搬家工具:Google Blog Converters来进行转换。

  如果导出的XML文件大于2M,最好将其进行分割,推荐使用YO2的一个小工具DivXML来分割。

  拿到转换后的XML文件,登录Blogger后台,使用博客导入功能将这个XML文件导入到系统,文章和评论都会被导入进来。

  导入之后,登录博客的域名管理系统,将博客的域名修改为CNAME的解析方式,指到ghs.google.com,这样博客就可以使用Blogger的托管方式进行发布。

  这样,你的英文博客就可以从WordPress转换到Blogger,因为英文博客通常不会有中国流量,因此即使Blogger无法从国内访问,对英文博客来说也没有什么关系。
发布于:下午9:39 | 标签:

2018年8月6日星期一

转载:修改为国内可访问的blogger模板

要修改为国内可访问的模板,需要解决模板中的三个问题:css提取后放国内再调用、js提取放国内调用、禁用blogger官方自动加载的css js,我们以这个免费模板为例,点击下载得到一压缩文件,解压后得找到以“xml”结尾的文件,然后用notepad++软件(不要用记事本)打开下面分别详述:


(1)提取模板css放国内调用,并禁用blogger自动加载的css。

第一步:搜索<b:skin>与</b:skin>,发现这之间的代码是黄颜色的,这就是我们要提取的主要css代码,将下面中css代码提取出来:
<b:skin>
<![CDATA[
这里面是css代码
]]>
</b:skin>
提取方式为:将<![CDATA[]]>之间的代码全部剪切,用notepad++保存一份以“.css”为后缀的文本,将这个文本上传到你的静态文件托管空间,比如我用七牛云空间,放置我的css文件,得到一个外链网址。原代码就变成:
<b:skin><![CDATA[]]></b:skin>
再将其加上以下字符,变成以下模样:
&lt;!--<b:skin><![CDATA[]]></b:skin>
这是为了注释blogger官方自动加载的类似以下外调的文件,由于blogger官方被墙,该外调就影响网站的显示:
<link type='text/css' rel='stylesheet' href='//www.blogger.com/static/v1/widgets/1937454905-widget_css_bundle.css' />
第二步:回到xml文件,在
&lt;!--<b:skin></b:skin>
下面加入这行代码:
<link href='这里放css外链网址' rel='stylesheet' type='text/css'/>
把刚才你放在静态储存空间的外链网址粘贴进去。至此,博客本身使用的css你已经成功外部调用了。

第三步:一头一尾禁止blogger加载官方代码

一头有两处:
<head>替换为:
&lt;!--<head>--&gt;&lt;head&gt;
</head>替换为:
&lt;/head&gt;&lt;!--</head>--&gt;
一尾,在xml文本末尾会有自动加载的一系列的代码,我们仍然需要屏蔽掉,通过下面的方法注释:
将</body>替换为以下代码:
&lt;!--</body>--&gt;&lt;/body&gt;

(2)模板主要使用的js放国内空间并调用

回到刚才我们下载的模板文件夹,其中有一个以“jquery.min”命名的js文件,打开xml代码在大约382行发现有一行代码调用js:
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js' type='text/javascript'/>
该代码中引用的链接就是上述文件中的“jquery.min”文件。

我们将刚才下载得到的“jquery.min”js文件,放在你的静态储存空间,如七牛,得到外链地址,然后再把上述地址替换为:
<script src='你的外链地址' type='text/javascript'/>
这样我们就把模板主要调用的js放在国内调用了,以便能正常访问。

到了这一步,模板基本上被我们修改得可以用在国内使用了。现在我们就将这个修改的xml文件上传到blogger,看看效果如果。

5、其它说明

模板中还有其它一些自带的js与css,这些还是可以通过上述方法外部调用的,甚至我们可以将这些css js合并调用,但是这样修改起来就比较麻烦了,如何取舍看大家自己考虑。

对于上述步骤调用的js需说明一点:在xml文件</body>上方会自动加载blogger官方的js,但是我们在上面的第四步已经解决了。

原始地址https://www.lawpai.com/2016/10/blogger.html
发布于:下午11:35 | 标签:

2018年8月3日星期五

转载:谷歌blogger平台建立国内可访问博客攻略

    建立个人独立博客,从不会到目前基本能简单搭建已经过去了3、4年了,在我最初接触到的wordpress到dede再到discuz,这个过程以前写过一篇文章介绍。当时是抱了多大的希望在这上面,自己看看都觉得愚不可及,在这过程中我注册过不少的域名,换过不少的网站标题,从上手wordpress再转移其它阵地,……哦对了,我还用xiuno轻论坛程序弄过一段时间论坛……,到近期在wordpress坚持了比较长的一段时间,林林总总,前前后后,一句话:折腾博客本身比写博客用的心思更多,这样的历程当然是走歪了。但是这几年下来,自己虽然越来越懂一点网络异事,设置不少模板主题功能,到头来,翻翻自己以前所写的少许原创文章,更多的感觉是空洞与荒芜。为了让经常翻看博客内容的自己不感到平淡无味,将更多的心思汇焦在如何写出有价值的博文,这是每一人博主老生常谈又难以持续的事。

详细教程请看这篇帖子的原始地址吧:

法律派原始地址:https://www.lawpai.com/2016/10/blogger.html

发布于:下午11:30 | 标签:

2018年7月30日星期一

一键分享 Share

评论

换原始留言系统