方案1

使用官方的滚动行为,但是必须开启HTML5 history 模式,开启HTML5 history 模式需要后端进行一些配置;

对于所有路由导航,简单地让页面滚动到顶部:

scrollBehavior (to, from, savedPosition) {
  return { x: 0, y: 0 }
}

像浏览器的原生表现那样:

scrollBehavior (to, from, savedPosition) {
  if (savedPosition) {
    return savedPosition
  } else {
    return { x: 0, y: 0 }
  }
}

方案2

没有使用HTML5 history 模式,需要使用官方的导航守卫中的router.beforeEach

router.beforeEach((to, from, next) => {
  window.scrollTo(0, 0)  
  next()
});

不知道从啥时候开始,Google Analytics代码更新了,换成了全局网站代码gtag.js

代码换了之后,以前的添加的网页跟踪和事件跟踪都失效了,需要统一的替换(如果没有必要还是别折腾了)!

- 阅读剩余部分 -

以默认主题为例,在functions.php中找到themeConfig函数,在里面插入以下代码:

$analytics = new Typecho_Widget_Helper_Form_Element_Textarea('analytics', NULL, NULL, _t('统计代码'), _t('在这里添加统计代码'));
$form->addInput($analytics);

然后在footer.php中,插入

<?php $this->options->analytics(); ?>

增加了一个判断有没有相关文章:

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

后期应该再加上如果没有相关文章,随机显示一些文章。

特别佩服阮大,从2003年12月至今,博客一直保持更新,而且文字质量特别高,这么厉害的人还这么勤奋!看github上面的contributions,都是绿的……

下面是阮大写的几本书,推荐有时间都阅读一下,会有收获!

如何变得有思想?:链接
ES6 标准入门(第三版):链接
未来世界的幸存者:链接
前方的路:链接

一个简单的随机格言,先把下面的代码放在functions.php中:

/* 随机格言 */
function randomMaxims()
{
   $saying="";
   $notice = array(
      '海纳百川,有容乃大;壁立千仞,无欲则刚。',
      '势不可使尽,福不可享尽,便宜不可占尽,聪明不可用尽。',
      '忧劳可以兴国,逸豫可以亡身。',
      '静以修身,俭以养德。',
      '博观而约取,厚积而薄发。',
      '非淡泊无以明志,非宁静无以致远。',
      '业精于勤,荒于嬉;行成于思,毁于随。',
      '老当益壮,宁移白首之心;穷且益坚,不坠青云之志。',
   );
   $rand = array_rand($notice);
   $saying = $notice[$rand];
   echo $saying;
}

然后在需要展示的地方,粘上下面的代码:

<?php randomMaxims(); ?>

哦,对了,句子是我随便找了一些,需要添加的话,就按照格式自己添加就好了。