备案信息不符合规范

首页改成分类,大家或多或少会有些不习惯。

discouse 能否给游客和登录用户设置不同的首页,或者有无插件允许用户自己定义首页?

少量修改 discouse 代码区分游客和登录应该也是可以实现的,我猜路由在这里:

可以做个简单的 patch,放在部署脚本的前置步骤里,这样就免去 fork 源代码了。


除了修改服务端之外,用户可以在浏览器端自行修改暂时对付一下,比如我用 Chrome + Tampermonkey:

// ==UserScript==
// @name         RedirectEmacsChinaHomepage
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Redirect Emacs-china homepage to https://emacs-china.org/latest
// @author       You
// @match        https://emacs-china.org
// @match        https://emacs-china.org/*
// @grant        none
// ==/UserScript==
(function() {
    'use strict';

    if (window.location.href.match(/^https?:\/\/emacs-china.org\/?$/)) {
        window.location.href = 'https://emacs-china.org/latest';
    } else {
        var links;
        links = document.evaluate("//a[@href]",
                                  document,
                                  null,
                                  XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
                                  null);
        for (var i=0; i<links.snapshotLength; i++) {
            var thisLink = links.snapshotItem(i);
            thisLink.href = thisLink.href.replace(/^https?:\/\/emacs-china.org\/?$/,
                                                  'https://emacs-china.org/latest');
        }
    }
})();

首次打开 https://emacs-china.org/ 会看到明显的重定向操作(可以选择把 if 那一段去掉,首次展示一下分类也无所谓),后续再点击任何返回首页的链接都无感了。

这种替换 href 的做法可能会有漏网之于,完美的解决也许还要拦截 xhr,修改请求 url。

1 个赞