Blogger设置响应式主题模板及首页改为文章提要和阅读全文

zidon  2020/04/16, 06:07

一、修改模板为响应式

Blogger官方的一些主题模板对移动端访问不太友好,而且默认的移动版主题也不太美观。所以,就拿自己的模板来修改吧。这样至少全平台blog都是一个样式风格。

思路就是在css中加入移动端样式,这时候需要把模板样式中的div容器的width是绝对值的,给它改成在移动设备下width为100%显示;不需要的边栏和模块设置为隐藏。例如:

/* 新增自适应样式*/
@media screen and (max-width:768px){
body{min-width:100%;width:100%;}
#wrapper{min-width:100%;max-width:100%;width:100%;}
#center,#center #squeeze{width:100%;}
#center{padding-left:0;padding-right:0;}
#sidebar-left,#sidebar-right{display:none;}
}
然后将上述样式放入下面代码之间即可:
    <b:skin><![CDATA[
...
]]></b:skin>    
其实,还需要做移动端的菜单,暂时没有精力,先做这么多。

二、首页文章列表非全文显示

我的模板在blog首页默认全文显示的,碰到长的文章,整个首页会拉的非常长,看起来也不太美观。

网上搜到的Blogger传统的显示文章提要大概是这两个思路。

其一,发文章的时候,把文章内容前面一两个段落用“< ! -- more -- >”截一下。然后模板里设置首页读取文章摘要。

其二、是使用js方法,除了要修改模板,还需要引入一段js代码,操作也不太方便。

现在,blogger对于文章列表以提要显示,已经做得很好。我使用的就是blogger默认移动版主题的应用方案。即在文章显示处增加一个判断,首页和list页以提要显示,除此全文显示。

例如,选择,Blogger后台-主题背景-修改html,做如下修改:

原来模板里文章全文显示的模块:
    <div class='content'>
        <p>
        <data:post.body/>
        </p>
    </div>
改为文章提要显示,并加上“浏览全文”的链接:
    <div class='content'>
        <p>
        <b:if cond='data:blog.pageType == &quot;index&quot;'>
            <div class='post-body'>
                <data:post.snippet/>
            </div>
        <div class='jump-link'>
            <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a>
        </div>
        <b:else/>
        <data:post.body/>
        </b:if>
        </p>
    </div>
如果希望首页文章除了提要、浏览全文,再显示一幅文章图片的缩略图的话,就改为:
    <div class='content'>
        <p>
        <b:if cond='data:blog.pageType == &quot;index&quot;'>
            <div class='mobile-index-contents'>
            <b:if cond='data:post.thumbnailUrl'>
                <div class='mobile-index-thumbnail'>
                <div class='Image'>
                    <img expr:src='data:post.thumbnailUrl'/>
                </div>
                </div>
            </b:if>
            <div class='post-body'>
                <b:if cond='data:post.snippet'>
                <data:post.snippet/>
                </b:if>
            </div>
            </div>
        <div class='jump-link'>
            <a expr:href='data:post.url' expr:title='data:post.title'><data:post.jumpText/></a>
        </div>
        <b:else/>
        <data:post.body/>
        </b:if>                           
        </p> 
    </div>
然后,在css代码中加入支持缩略图的样式。如:
/* 缩略图样式*/
.mobile-index-contents{margin-right:25px;min-height:25px}
.mobile-index-thumbnail{float:left;margin:.2em 1em 0 0}
.mobile-index-thumbnail img{width:72px !important;}
.post-body{width:100%;_overflow:hidden}
.jump-link{float:right;}
这样,工作就算完成了。

 

Blogger启用https访问的简单实现

zidon  2020/04/12, 06:06

Blogger的自定义域名启用https访问的简单实现方法如下:

1.首先得到一个国内可访问的Google的 IP 地址。

2.打开http://tools.tracemyip.org/网站左上角搜索框输入上面的IP进行搜索。

3.在搜索结果中找到Reverse DNS pointer:该项中的二级域名。

(提示:该二级域名的主域名应是 1e100.net 的,如果是 googlehosted.com后缀的则不可用。即我们需要的是xxxxx.1e100.net格式的二级域名。)

4.登陆自己的域名后台,把绑定Blogger的域名CNAME指向该二级域名。

5.最后登陆Blogger后台-设置-基本:右侧的“HTTPS 可用性”下,选择是。

6.如果希望http访问重定向到https,只需将步骤5同页中的“HTTPS 重定向“选择是即可。

注:以上创意来自https://blog.iljw.me/2018/07/enable-blogger-https.html,本人仅作操作流程的精简。

附注:

7.如果在第6步操作完提示:
“您未获得使用此域的授权。请按照设置说明执行相应操作。”
(You have not been authorized to use this domain. Please follow the settings instructions.)

请重新浏览Blogger后台-设置-基本页面:点击发布-博客地址处的“修改”按钮。按照提示给自己的域名新建一个随机码的二级域名CNAME到gv-xxx.dv.googlehosted.com格式的域名即可。

8.如果以上操作还不能解决问题:那就在Blogger后台-设置-基本页面:点击发布-博客地址处的“修改”右侧的“x”按钮,就是把自定域名删掉。这时候Blogger只保留xxx.blogspot.com的地址,会自动开启https。然后再把自己要绑定的域名重新添加上就可以了。

Apache报错:Invalid command 'SSLPassPhraseDialog', perhaps misspelled...的问题。

zidon  2020/04/12, 06:05

Apache检查语法httpd -t 报错:Invalid command 'SSLPassPhraseDialog', perhaps misspelled...的问题。

先说一下应用场景,服务器环境为CentOS7.7,Apache2.4.6。

安装完mod_ssl
# yum -y install mod_ssl

检查Apache语法
# httpd -t

即出现如下报错:
AH00526: Syntax error on line 18 of /etc/httpd/conf.d/ssl.conf: Invalid command 'SSLPassPhraseDialog', perhaps misspelled or defined by a module not included in the server configuration

这时候是不能重启Apache的。

只需编辑ssl配置文件:
# vim /etc/httpd/conf.d/ssl.conf

在 Listen 443 https 的下面加入:

LoadModule ssl_module modules/mod_ssl.so

就解决问题了。

以往,从没出现过此类问题,此次就手动指定mod_ssl吧,仅作记录。