个人站优化笔记 有更新!

Published on with 654 views and 7 comments

个人站用的是一个小众的开源博客solo,对开源的大大表达下敬意,这里主要记录个人站优化过程中踩的坑


网站favicon设置

/**
经大佬提示,在后台管理 -> 工具 -> 偏好设定 -> 参数设置里面可以直接设置,是我失误了
*/~~~~

刚部署完的solo用的是官方自带的favicon,然后官网的教程没有任何关于这块的资料,由于这个博客小众,网站资料更少,好在项目是开源,于是下了源码去死磕。

<link rel="icon" type="image/png" href="${faviconURL}"/>
<link rel="apple-touch-icon" href="${faviconURL}">
<link rel="shortcut icon" type="image/x-icon" href="${faviconURL}">

从公共头源码我们可以发现favicon源自faviconURL参数,于是带去工程里面搜索

/** * Key of favicon URL. */
public static final String FAVICON_URL = "faviconURL";
/** * Default favicon URL. */
public static final String DEFAULT_FAVICON_URL = 
"https://static.b3log.org/images/brand/solo-32.png";
/** * Key of favicon URL. */
public static final String ID_C_FAVICON_URL = "faviconURL";

public void fillFaviconURL(final Map<String, Object> dataModel, final JSONObject preference) {
        //如果preference不存在取默认favicon地址
        if (null == preference) {
            dataModel.put(Common.FAVICON_URL, Option.DefaultPreference.DEFAULT_FAVICON_URL);
        } else { //如果存在取preference里面的faviconURL配置
            dataModel.put(Common.FAVICON_URL, preference.optString(Option.ID_C_FAVICON_URL));
        }
    }

到这里我们就很清楚了,只要找到这个preference在哪配置就可以了

final JSONObject preference = optionQueryService.getPreference();

public JSONObject getPreference() {
        try {
            return getOptions(Option.CATEGORY_C_PREFERENCE);
        } catch (final Exception e) {
            LOGGER.log(Level.ERROR, "Gets preference failed", e);

            return null;
        }
    }
public JSONObject getOptions(final String category) {
        try {
            return optionRepository.getOptions(category);
        } catch (final Exception e) {
            return null;
        }
    }

扒到这里提一嘴,solo用的不是我们常用的java框架,而是作者自己造的一个轮子框架latke,OptionRepository类是对数据操作的一个类,也就是preference这个json串是从数据库里面取的,表名是option,然后我们去数据库找,果然在b3_solo_option表里面找到了faviconURL,然后修改我们自己的favicon地址,重启solo容器,成功生效。


标题:个人站优化笔记
作者:MarsChan
地址:https://www.marscheng.cn/articles/2019/07/04/1562224263976.html

Responses
  • 尴尬

    Reply
  • 😰 尴尬了,真的没注意到,感谢大佬

    Reply
  • 后台管理 -> 工具 -> 偏好设定 -> 参数设置。

    基本的常用功能 Solo 应该都具备了,还有一些特色功能等待用户自己探索,这样才有点意思不是吗 😄

    Reply
  • 难道是在后台HTML head里面加么,好像这样确实可以哈

    Reply
  • 😰 找了半天没找到呀,大佬给个路劲

    Reply
  • 这个项可以在后台界面配置啊,不用 hacks 的 😂

    Reply
  • 你这个不够硬。。我直接去主题源码改😄

    Reply