blog--4美化主题

2023-09-21 09:48:44

配置/美化

bug

  • 把你的网站名/themes/hugo-theme-stack/exampleSite/目录下的config.yaml复制到网站根目录(也就是你的网站名这个目录)
  • 删除网站根目录的config.toml stack主题不需要这个配置文件
  • 打开网站根目录下的config.yaml进行填空
  • 博主头像放在/themes/hugo-theme-stack/assets/img/下 关于那个头像下的emoji,如果你不想加上,emoji那一行留空就好
  • config.yaml操作细节
    • 修改你网站根目录下的config.yaml
    • 文章位置
      • 你的文章是在网站根目录/content/posts/下
      • 你的"分类"在网站根目录/content/categories下
    • 文章不显示
            params:
                mainSections:
                      - posts
# 如果一个博文的发布时间比 Hugo 构建当前站点的时间还要晚,也就是 Hugo 认为博文的发布时间在未来,就不会渲染该篇博文。前面没有写时区的博文,就是被 Hugo 认为发布时间还未到,所以没有渲染出来。
# draft 草稿,若为真,则不现实 将 draft:true 改为 false 即可
- 评论区配置
comments:
        enabled: true  #开启评论功能设置为true
        provider: gitalk #提供平台,我这里是gitalk,当然你也可以选择其他的
#注意:提供平台选哪个下面的就填哪块区域

# gitaik配置
gitalk:
            owner: 你的GitHub用户名
            admin: 你的GitHub用户名 
            repo: 你的GitHub仓库名 #(注意不是网址!!!!!!!)
            clientID: 
            clientSecret: 
#ClientID和ClientSecret请不要随意告诉他人哦~
  • ClientID和ClientSecret获取方法: 去GitHub开发者设置里新建一个OAuth App
Applicaton Name:随便起个名字
Homepage URL:你博客的url
Application description:描述,随便写
Authorization callback URL:你博客url
Enable Device Flow 不勾选
保存后就可以获得ClientID,在它的下面(Client Secret框里)点击Generate a new client secret
然后记得保存好,因为Client Secret你只能看到一次
---
title: "文章标题"
description: "简介"
date: 2022-01-29T02:02:45-05:00
image: "你同目录下的封面图片名字(带后缀并且是相对路径)"
draft: flase
# draft 草稿,若为真,则不现实 将 draft:true 改为 false 即可
categories:
    - 分类1
    - 分类2
tags:
    - 标签1
    - 标签2
---

  • 2 修改并优化主题
    • 自定义图标
      • 获取yilia-plus主题中的字体。前往yilia-plus主题的GitHub仓库
      • 下载其中source-src/css目录下的fonts文件夹,并将该文件夹复制到网站根目录下的static文件夹中
    • 更改stack主题菜单的样式
      • 找到stack主题根目录下的assets/scss/partial/menu.scss 修改最后一项定义.social-menu
.social-menu {
    list-style: none;
    padding: 0%;
    display: flex;
    flex-direction: row;
    gap: 0px;
    a {
        border-radius:50%;
        display:-moz-inline-stack;
        display:inline-block;
        vertical-align:middle;
        *vertical-align:auto;
        zoom:1;
        *display:inline;
        margin:0 8px 15px 8px;
        transition:0.3s;
        text-align: center;
        color: #fff;
        opacity: 0.7;
        width: 28px;
        height: 28px;
        line-height: 26px;
        &:hover {
            opacity:1
        }
    }
    a.weibo {
        background: #aaaaff;
        border:1px solid #aaaaff;
        &:hover {
            border:1px solid #aaaaff;
        }
    }
    a.segmentfault {
        background: #009a61;
        border:1px solid #009a61;
        &:hover {
            border:1px solid #009a61;
        }
    }
    a.rss {
        background: #ef7522;
        border:1px solid #ef7522;
        &:hover {
            border:1px solid #cf5d0f;
        }
    }
    a.github {
        background: #afb6ca;
        border:1px solid #afb6ca;
        &:hover {
            border:1px solid #909ab6;
        }
    }
    a.gitee {
        background: #c8171e;
        border:1px solid #c8171e;
        &:hover {
            border:1px solid #c8171e;
        }
    }
    a.facebook {
        background: #3b5998;
        border:1px solid #3b5998;
        &:hover {
            border:1px solid #2d4373;
        }
    }
    a.google {
        background: #4086f4;
        border:1px solid #4086f4;
        &:hover {
            border:1px solid #4086f4;
        }
    }
    a.twitter {
        background: #55cff8;
        border:1px solid #55cff8;
        &:hover {
            border:1px solid #24c1f6;
        }
    }
    a.linkedin {
        background: #005a87;
        border:1px solid #005a87;
        &:hover {
            border:1px solid #006b98;
        }
    }
    a.acfun {
        background: #fd4c5d;
        border:1px solid #fd4c5d;
        &:hover {
            border:1px solid #fd4c5d;
        }
    }
    a.bilibili {
        background: #e15280;
        border:1px solid #e15280;
        &:hover {
            border:1px solid #e15280;
        }
    }
    a.zhihu {
        background: #0078d8;
        border:1px solid #0078d8;
        &:hover {
            border:1px solid #0078d8;
        }
    }
    a.douban {
        background: #06c611;
        border:1px solid #06c611;
        &:hover {
            border:1px solid #06c611;
        }
    }
    a.mail {
        background: #005a87;
        border:1px solid #005a87;
        &:hover {
            border:1px solid #006b98;
        }
    }
    a.jianshu {
        background: #ff5722;
        border:1px solid #ff5722;
        &:hover {
            border:1px solid #ff5722;
        }
    }
    a.weixin {
        background: #4caf50;
        border:1px solid #4caf50;
        &:hover {
            border:1px solid #4caf50;
        }
    }
    a.qq {
        background: #34baad;
        border:1px solid #34baad;
        &:hover {
            border:1px solid #34baad;
        }
    }
    a.psn {
        background: #086ef6;
        border:1px solid #086ef6;
        &:hover {
            border:1px solid #086ef6;
        }
    }
}
  • 3 添加字符索引。该字体的字符索引将作为stack主题中的可定制样式文件中作为用户自定义样式。前往yilia-plus主题的GitHub仓库https://github.com/JoeyBling/hexo-theme-yilia-plus,下载其中的source-src/css/fonts.scss文件,将其中的内容全部复制到stack主题根目录下的assets/scss/custom.scss文件内。
  • 4 打开stack主题根目录下的layouts/partials/sidebar/left.html文件,找到{{- with .Site.Menus.social -}} 修改其下整个 <ol>标签
        <ol class="social-menu">
            {{ range . }}
                <li>
                    <a 
                        class="{{ .Identifier }}" href="{{ .URL }}" 
                        {{ with .Name }}title="{{ . }}"{{ end }}
                        {{ if eq (default true .Params.newTab) true }}target="_blank"{{ end }}
                    >
                        <i class="icon-{{ .Params.Icon }}"></i>
                    </a>
                </li>
            {{ end }}
        </ol>
更多推荐

ChatGPT:怎么用Java调出来文件选择器,然后返回文件的位置和名称?Swing 组件和 AWT 组件:Java GUI 编程的不同之处

ChatGPT:怎么用Java调出来文件选择器,然后返回文件的位置和名称?Swing组件和AWT组件:JavaGUI编程的不同之处怎么用Java调出来文件选择器,然后返回文件的位置和名称ChatGPT:在Java中,你可以使用JFileChooser类来创建一个文件选择器对话框,然后让用户选择文件,并获取所选文件的位置

Intel芯片的Mac电脑需注意,新型恶意软件能窃取系统中的各类密码

据BleepingComputer消息,一种名为“MetaStealer”的新型信息窃取恶意软件可以从基于Intel芯片的macOS系统电脑中窃取各种敏感信息。MetaStealer是一种基于Go语言编写的恶意软件,能够逃避Apple内置防病毒技术,主要目标针对商业用户。网络安全公司SentinelOne在VirusT

【C++】LeetCode 160 相交链表

今天再写一道算法题(这两周都写算法题有点摆烂)题目给你两个单链表的头节点headA和headB,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回null。图示两个链表在节点c1开始相交:注意:如果两个链表没有交点,返回null.在返回结果后,两个链表仍须保持原有的结构。可假定整个链表结构中没有循

【Java 基础篇】Java transient 关键字详解:对象序列化与非序列化字段

在Java编程中,我们经常需要将对象序列化为字节流以便于存储或传输,或者将字节流反序列化为对象以恢复其状态。然而,并不是所有对象的所有属性都应该被序列化。有些属性可能包含敏感信息,或者它们只在内存中有意义。在这些情况下,我们可以使用transient关键字来标记属性,告诉Java序列化机制不要将其序列化。本文将深入介绍

【每日一题】2603. 收集树中金币

文章目录Tag题目来源题目解读解题思路方法一:拓扑排序写在最后Tag【拓扑排序】【树】题目来源2603.收集树中金币题目解读有一个有n个节点的无相无根图,节点编号从0到n-1。有一个表示图中节点间连接关系的数组edges,长度为n-1,edges[i]=[ai,bi]表示节点ai和bi之间有一条边。还有一个数组coin

点灯科技实现 “ESP8266-01/01s + 继电器” 远程开关

教程视频ESP-01S继电器插座怎么使用?所需硬件继电器ESP-01S继电器插座WIFI模块esp8266-01swifi模块烧录器软件准备ArduinoIDE需安装好esp8266扩展点击下载下载并安装blinkerAPPAndroid下载:点击下载或在android应用商店搜索“blinker”下载安装IOS下载:

十几款IDEA开发必备的插件,新手必用

IDEA有很多优秀的插件,使用它们不仅大大增加了开发效率,也能给大家带来更好的coding体验。“工欲善其事必先利其器”,以下插件基本都可以通过IDEA自带的插件管理中心安装。1、CodeGlance拖动浏览代码更加方便,还有放大镜功能。2、Restfultoolkit一套RESTful服务开发辅助工具集,完美代替po

车企大军「涌进」零部件赛道,毫米波雷达市场被重估

垂直整合,是新一轮竞争周期的关键词。从芯片、传感器,到域控制器;从三电总成到智能底盘,不管是特斯拉、比亚迪,还是蔚来、零跑、哪吒等后来者,自研+自产+自销,玩法不一。比如,特斯拉率先开启智能驾驶芯片的自研,彻底奠定了在自动驾驶领域的领先地位(不受制于第三方芯片供应商)。从算法(软件甚至功能)出发设计芯片架构,成为车企自

企业直播如何实现多画面多场景切换?

企业直播如何实现多画面多场景切换?应用场景主要应用于:企业的会议直播、小型会务直播、异地讲师培训授课,实现较低成本的导播台场景切换效果(阿酷TONY注,比不上硬件导播台,但整体还可以,能达到场景画面切换效果)。轻导播客户端(版本:1.2.0)官方介绍是:轻量级导播软件,10分钟速成导播能手直播画面自由布局、多人连麦自由

路由和node环境搭建

路由和node环境搭建1.1什么是路由1.2案例实操1.2.3效果展示二、配置Node.js2.1新建两个文件夹2.2配置环境变量1.1什么是路由在计算机网络中,路由(Routing)是指根据某种算法将数据包从源节点传输到目标节点的过程。在Web开发中,路由则指的是根据URL地址的不同,将用户请求导向对应的处理程序或页

解锁前端Vue3宝藏级资料 第五章 Vue 组件应用 3( Slots )

5.4Slots我们已经了解到组件能够接收任意类型的JavaScript值作为props,但组件要如何接收模板内容呢?在某些场景中,我们可能想要为子组件传递一些模板片段,让子组件在它们的组件中渲染这些片段。Slots可用于将Html内容从父组件传递到子组件进行显示。例如,你创建一个名为Button的组件,并且只想更改按

热文推荐