hexo更换icarus主题和美化

2023-11-09

  • 看惯了next的主题,出现了审美疲劳,在逛知乎的时候,发现了一款很不错的主题icarus,就试着更换了主题,发现还真挺漂亮的,于是就在做一个主题吧,哪天审美又疲劳了,再换回来呗。

页面点击出现爱心

  • F:\blog\themes\icarus\source\js下,新建clicklove.js,写入以下代码。
!function(e,t,a){
    function n(){
        c(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),
        o(),
        r()
    }
    function r(){
        for(var e=0;e<d.length;e++)
            d[e].alpha<=0?(t.body.removeChild(d[e].el),d.splice(e,1)):(d[e].y--,d[e].scale+=.004,d[e].alpha-=.013,d[e].el.style.cssText="left:"+d[e].x+"px;top:"+d[e].y+"px;opacity:"+d[e].alpha+";transform:scale("+d[e].scale+","+d[e].scale+") rotate(45deg);background:"+d[e].color+";z-index:99999");
        requestAnimationFrame(r)
    }
    function o(){
        var t="function"==typeof e.onclick&&e.onclick;
        e.onclick=function(e){
            t&&t(),i(e)
        }
    }function i(e){
            var a=t.createElement("div");
            a.className="heart",d.push({el:a,x:e.clientX-5,y:e.clientY-5,scale:1,alpha:1,color:s()}),t.body.appendChild(a)
    }
    function c(e){
        var a=t.createElement("style");a.type="text/css";
        try{
            a.appendChild(t.createTextNode(e))
        }
        catch(t){
            a.styleSheet.cssText=e
        }
        t.getElementsByTagName("head")[0].appendChild(a)
    }
    function s(){
        return"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"
    }
    var d=[];
    e.requestAnimationFrame=function(){
        return e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){
            setTimeout(e,1e3/60)
        }
    }(),
    n()
}
(window,document);
  • 修改layout.ejs,找到F:\blog\themes\icarus\layout\layout.ejs,添加:
<script src="js/clicklove.js"></script>

给文章添加目录

  • 在主题配置文件中,添加如下代码:
widgets:
	-
    type: toc
    position: left
  • 在每次写文章的时候都要添加toc: true
---
tags:
categories:
toc: true
---

添加相册

  • _config.yml中开启画廊功能:
plugines:
	gallery: true

模块布局

  • 初始的页面有很多模块,例如归档,标签云,最近文章,乱七八糟的,可以选择饿在左侧栏还是右侧栏显示这些模块,当然也可以隐藏这些模块。要在主题的配置文件修改。找到widget字样,例如下面有,分别有:左(lift),右(right),隐藏(false)。左右栏固定,不随着滑轮滑动。

sidebar:
    # left sidebar settings
    left:
        # Whether the left sidebar is sticky when page scrolls
        # https://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
        sticky: true
    # right sidebar settings
    right:
        # Whether the right sidebar is sticky when page scrolls
        # https://ppoffice.github.io/hexo-theme-icarus/Configuration/Theme/make-a-sidebar-sticky-when-page-scrolls/
        sticky: true
        
 # Widget name
        type: category
        # Where should the widget be placed, left or right
        position: left
    -
        # Widget name
        type: tagcloud
        # Where should the widget be placed, left or right
        position: false
    -
        # Widget name
        type: recent_posts
        # Where should the widget be placed, left or right
        position: false
    -
        # Widget name
        type: archive
        # Where should the widget be placed, left or right
        position: false
    -
        # Widget name
        type: tag
        # Where should the widget be placed, left or right
        position: lift

开启评论系统

  • leancloud官网注册账号,详情请看:参考书
  • 在主题配置文件中找到comment字样,添加如下:
comment:
    type: valine
    app_id: 你的id
    app_key: 你的key
    notify: false
    verify: false
    placeholder: 

valine域名绑定

  • 因为要使用到valine的数据库存储功能,就得在leancloud备案域名。
  • 先给域名创建一个二级域名,

开启打赏功能

donate:
    -
        # Donation entry name
        type: alipay
        # Qrcode image URL
        qrcode: '/images/alipay.jpg'
    -
        # Donation entry name
        type: wechat
        # Qrcode image URL
        qrcode: '/images/wechatpay.jpg'
    #-
        # Donation entry name
        #type: paypal
        # Paypal business ID or email address
        #business: ''
        # Currency code
        #currency_code: USD
    #-
        # Donation entry name
        #type: patreon
        # URL to the Patreon page
        #url: ''

全局搜索

  • 找到search
search
	type: insight

首页三栏,阅读两栏

  • 找到F:\blog\themes\icarus\includes\helpers\layout.js,第24行开始修改如下:+代表增加,-代表删除
     const widgets = hexo.extend.helper.get('get_config').bind(this)('widgets');
-    return widgets.filter(widget => widget.hasOwnProperty('position') && widget.position === position);
+    if (this.page.layout !== 'post') {
+        return widgets.filter(widget => widget.hasOwnProperty('position') && widget.position === position);
+    }
+    if (position === 'left') {
+        return widgets.filter(widget => widget.hasOwnProperty('position') && (widget.type === 'toc' || widget.type === 'profile'));
+    } else {
+        return []
+    }

  • 找到layout/common/widget.ejs修改第五行如下:
 <% function side_column_class() {
     switch (column_count()) {
         case 2:
-            return 'is-4-tablet is-4-desktop is-4-widescreen';
+            return 'is-4-tablet is-4-desktop is-3-widescreen';
         case 3:

  • 找到layout/layout.ejs修改如下
-<body class="is-<%= column_count() %>-column">
+<body class="is-3-column">
     <%- partial('common/navbar', { page }) %>
     <% function main_column_class() {
         switch (column_count()) {
             case 1:
                 return 'is-12';
             case 2:
-                return 'is-8-tablet is-8-desktop is-8-widescreen';
+                return 'is-8-tablet is-8-desktop is-9-widescreen';

  • 找到source/css/style/styl,在不同屏幕下的大小
     .is-2-column .container
         max-width: screen-desktop - 2 * gap
         width: screen-desktop - 2 * gap
+    .is-3-column .container
+        max-width: screen-widescreen - gap
+        width: screen-widescreen - gap
 @media screen and (min-width: screen-fullhd)
+    .is-3-column .container
+        max-width: screen-fullhd - 2 * gap
+        width: screen-fullhd - 2 * gap
     .is-2-column .container
         max-width: screen-widescreen - 2 * gap
         width: screen-widescreen - 2 * gap

目录固定

  • 找到layout/widget/toc.ejs,增加column-left is-sticky类,在第28行
-<div class="card widget" id="toc">
+<div class="card widget column-left is-sticky" id="toc">

默认开启目录

  • 找到includes/helpers/config.js,修改第33行
   return defaultValue;
    } else {
        const property = readProperty(specs, configName);
-       return property === null ? null : property[descriptors.defaultValue];
+       const result = property === null ? null : property[descriptors.defaultValue];
+       return (configName === 'toc' && this.page.layout === 'post' && result === null) ? true : result;
    }

个人信息布局

  • 找到layout/widget/profile.ejs
-    <nav class="level is-mobile">
+    <nav class="level menu-list is-mobile" style="margin-bottom:1rem">
         <div class="level-item has-text-centered is-marginless">
-            <div>
+            <a href="<%- url_for('/archives/') %>">
                 <p class="heading">

移动端优化

  • 在移动端,隐藏archivetagcloud
  • 找到layout/widget/archive.ejs
-<div class="card widget">
+<div class="card widget is-hidden-mobile">
  • 找到layout/widget/recent_posts.ejs
<div class="card widget is-hidden-mobile">
  <div class="card-content">

增加版权说明

  • 找到layout/common/article.ejs,在第50行修改如下:
     <div class="content">
         <%- index && post.excerpt ? post.excerpt : post.content %>
     </div>
+    <% if (!index && post.layout === 'post' && post.copyright !== false) { %>
+        <ul class="post-copyright">
+        <li><strong>本文标题:</strong><a href="<%= post.permalink %>"><%= page.title %></a></li>
+        <li><strong>本文作者:</strong><a href="<%= theme.url %>"><%= theme.author %></a></li>
+        <li><strong>本文链接:</strong><a href="<%= post.permalink %>"><%= post.permalink %></a></li>
+        <li><strong>发布时间:</strong><%= post.date.format("YYYY-MM-DD") %></li>
+        <li><strong>版权声明:</strong>本博客所有文章除特别声明外,均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh" rel="external nofollow" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明出处!
+        </li>
+        </ul>
+    <% } %>
     <% if (!index && post.tags && post.tags.length) { %>
  • 版权说明的样式:
+.post-copyright
+    font-size: 1rem
+    letter-spacing: 0.02rem
+    word-break: break-all
+    margin: 2.5rem 0 0
+    padding: 1rem 1rem
+    border-left: 3px solid #FF1700
+    background-color: #F9F9F9

增加busuanzi统计

  • _config.yml中,找到busuanzi
 busuanzi: true
  • 打开layout/common/footer.ejs文件,找到<span id="busuanzi_container_site_uv">,在下方添加:
  <% if (busuanzi) { %>
   <br>
-  <span id="busuanzi_container_site_uv">
-  <%- _p('plugin.visitor', '<span id="busuanzi_value_site_uv">0</span>') %>
-  </span>
+  <span id="busuanzi_container_site_uv">来访<span id="busuanzi_value_site_uv"></span>0</span>
+  <span id="busuanzi_container_site_pv">总访问<span id="busuanzi_value_site_pv"></span>0</span>
   <% } %>

使用阿里巴巴图标库

  • 由于icarus默认使用的图标库是 font Awesome,里面的图标只有600多个,而且都是黑白的,并且有的时候还加载不出来(墙的原因),所以我换做用阿里巴巴矢量图标库
  • 首先登陆,将喜欢的图标添加到购物车,记得要一次添加完,提前看好你需要哪些图标,然后在右上角购物车里找到最下房下载代码,下载到本地。
  • 在本地打开下载好的文件夹,找到iconfont.css,添加到F:\blog\themes\icarus\source\css
  • 找到F:\blog\themes\icarus\layout\widget\profile.ejs,添加一行代码,引入iconfont.css
<% for (let name in socialLinks) {
     let link = socialLinks[name]; %>
+    <link rel="stylesheet" href="/css/iconfont.css">
     <a class="level-item button is-white is-marginless" target="_blank" title="<%= name %>" href="<%= url_for(typeof(link) === 'string' ? link : link.url) %>">
     <% if (typeof(link) === 'string') { %>
     <%= name %>
     <% } else { %>
     <i class="<%= link.icon %>"></i>
     <% } %>
  • 修改主题配置文件,这次主要改图标名字,图标名字也可以打开iconfont.css查看。
例如:
  Github:
      icon: iconfont icon-git
      url: 'https://github.com/DAQ121'
  • 像有些内嵌的图标,比如说目录啊,标签啊这些。就要找到对应的.js文件,添加代码。

在这里插入图片描述- 如果使用的是font awesome图标库的话,就添加<i class="fas fa-guidang"></i>,如果使用的是阿里云图标库的话,就添加<i class="iconfont icon-guidang"></i>,注意,要添加在<h3></h3>内部。

在这里插入图片描述

按钮背景颜色

  • 找到style.styl,添加两行代码。
 .menu-list li ul
        margin-right: 0
+    .menu-list a
+       transition: background-color 0.3s ease-in-out
    .menu-list a.level
        display: flex
    .has-text-centered figure.image
        margin: auto

网站运行时间

  • 找到/themes/icarus/layout/common/footer.ejs,在合适位置添加以下代码
<span id="timeDate">载入天数...</span><span id="times">载入时分秒...</span>
  <script>
  var now = new Date(); 
  function createtime() { 
  var grt= new Date("12/28/2018 12:49:00");//此处修改你的建站时间或者网站上线时间 
  now.setTime(now.getTime()+250); 
  days = (now - grt ) / 1000 / 60 / 60 / 24; dnum = Math.floor(days); 
  hours = (now - grt ) / 1000 / 60 / 60 - (24 * dnum); hnum = Math.floor(hours); 
  if(String(hnum).length ==1 ){hnum = "0" + hnum;} minutes = (now - grt ) / 1000 /60 - (24 * 60 * dnum) - (60 * hnum); 
  mnum = Math.floor(minutes); if(String(mnum).length ==1 ){mnum = "0" + mnum;} 
  seconds = (now - grt ) / 1000 - (24 * 60 * 60 * dnum) - (60 * 60 * hnum) - (60 * mnum); 
  snum = Math.round(seconds); if(String(snum).length ==1 ){snum = "0" + snum;} 
   document.getElementById("timeDate").innerHTML = "本站已安全运行 "+dnum+" 天 "; 
  document.getElementById("times").innerHTML = hnum + " 小时 " + mnum + " 分 " + snum + " 秒"; 
                } 
   setInterval("createtime()",250);
</script>

添加RSS订阅

  • 安装feed插件
cnpm install hexo-generator-feed --save
  • 打开站点配置文件,添加如下代码:
#RSS订阅
plugin:
    - hexo-generator-feed
    #Feed.Atom
    feed:
    type: atom
    path: rss.xml
    limit: 0
    hub:
  	content: 'true'
 	order_by: -date
  • 打开主题配置文件,找到rss
    RSS:
        icon: fas fa-rss
        url: /rss.xml
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

hexo更换icarus主题和美化 的相关文章

  • Android Studio调整改变界面代码字体的大小

    Android Studio调整改变界面代码字体的大小 打开android studio 在菜单栏中 点击File 选择Setting 对界面代码字体大小更改 进入到设置窗口后 在左侧栏中找到Editor 点击小三角就能展开 找到Font
  • C# TCP通信以及报文格式和接收处理

    目前有一个小demo 模拟的是一台机子上的服务器和客户端的发送和接收消息 我打包上传 有兴趣的可以下载看看 网址是 Tcp通信 本机发送接收 https download csdn net download yuanyuanluoluo 1
  • NAVICAT 用新建查询导入数据的时候如何忽略错误继续执行

    NAVICAT 用新建查询导入数据的时候如何忽略错误继续执行 一 一次性导出查询记录 在这里插入图片描述 https img blog csdnimg cn 二 sql遇错继续执行 数据库右键 导入sql文件 选择忽略错误 点击确定
  • vue父组件调用子组件中的方法、值的几种方式

    1 ref 直接在父组件内部给子组件标签添加ref属性 然后通过ref属性来调用子组件的方法 父组件 Parent vue
  • 苹果应用商店上架流程

    上架过程分七个步骤 按步骤一步步来 仔细看这个流程 少走很多弯路 不用一步步去试错 新手也能快速掌握上架流程 1 创建APP身份证 App IDs 2 申请iOS发布证书 3 申请iOS发布描述文件 4 上传ios证书编译打包IPA 5 在
  • 关于Unity启动时间过长(启动黑屏时间长)的问题

    好吧 Unity启动确实比其他引擎生成的游戏包慢些 关键是你启动的时候还要等上一段时间才显示Splash那个logo图 最近项目有个蛋疼得需求 需要在启动界面加进度帧动画 我也是醉了 刚开始的思路 用Unity单独做个启动场景 让Splas
  • conda,anaconda,miniconda的区别

    可能从conda miniconda和anaconda三个名词来说用得最多比较熟悉的应该是anaconda吧 包办一切 帮我们安装好了很多包和环境 我们都喜欢用现成的东西 懒得自己捣鼓 最近刚好有项目需要 用了一下miniconda 才慢慢
  • Win10下 vc++6.0打开文件闪退解决

    Win10下vc 6 0闪退解决方法 网上下载一个filetool exe的启动程序 下载之后如图所示 打开这个文件 选择你要解压的路径 之后点击Unzip 之后出现一个FileTool的文件夹 在这里插入图片描述 用vc 6 0打开工作空
  • windows密码破解(哈希破解技术)

    一 windows密码与哈希 1 我们用于登录的windows密码 在windows系统中会进行加密 一般密码加密文件储存在c盘的windows system32 config目录下 文件名是SAM文件 在system目录下有两个非常重要的
  • web前端——常用的标签

    html概述 1 1html全称 html全称 Hyper Text Markup Language 超文本标记语言 对于不同的浏览器 对同一标记符可能会有不完全相同的解释 因而可能会有不同的显示效果 1 2 html语法结构
  • python关于TypeError: Required argument 'mat' (pos 2) not found错误解决方法

    这个错误提示意思是 没有找到要求的参数 即代码里的函数缺少必要的参数 下面举个显示图片的例子 import cv2 img cv2 imread data wiki png cv2 imshow img cv2 waitKey 0 运行时会
  • sqlserver:文件和文件组

    环境 window10 x64 专业版 sqlserver2014 参考 官网 文件和文件组体系结构 sql server 里的文件和文件组使用 SQL Server中数据库文件的存放方式 文件和文件组 SQL Server 文件和文件组
  • STM32 调试debug 常规使用

    STM32 调试debug 常规使用 前言 硬件 1 准备 软件 1 MDK配置debug 2 开始debug 前言 该讲解适用于快速使用debug 由于缩短篇幅有些未进行实验演示 请按照本文说明自行验证 如果知道调试器这个东西 直接跳到软
  • 详解美摄汽车图像及视频处理方案(三)

    时至今日 汽车已不再是简单的交通工具 而是成为了真正意义上的 第三生活空间 用户对于汽车的要求也不仅止于代步 对与汽车共处的时间已产生了更高期待 美摄汽车图像及视频处理方案 助力车企为用户带来更具想象力的玩法和多样化的服务 创造更具品质的驾
  • Intellij IDEA运行出现1099 is already in use解决办法

    在使用Intellij IDEA运行web项目时 出现 Error running Tomcat8 Address localhost 1099 is already in use 使其web项目无法运行 这说明1099端口被占用 一般为j
  • 【STM32】stm32工程所占内存大小的查看方法

    用keil打开一个工程 点击工程目录文件 如下的Template 拉到文件最后 最后的信息即为所占内存大小 Code Data 代码占用的空间大小 占用的空间为内部Flash RO Data 只读常量大小 const常量 define宏常量
  • supervisor系列:1、了解并安装supervisor

    supervisor系列 1 了解并安装supervisor 文章目录 supervisor系列 1 了解并安装supervisor 1 前言 2 supervisor概述 3 特点 4 Supervisor组成 5 平台要求 6 安装 6
  • WIN10安装MYSQL教程

    1 下载安装包 地址 https www mysql com cn downloads 拉到最下面 找到MySQL Community Edition GPL 注 GPL版本为开源 非商用 commercial为商用版 点击链接进入后 会有
  • eclipse安装lombok插件

    1 下载lombok jar lombok jar官方下载地址 https projectlombok org download 如果下载不了的话 下面是我个人的百度云资源 链接 https pan baidu com s 1Eiwy0Kb

随机推荐

  • 实现今日头条-西瓜视频-抖音视频自动化上传(如希望无人值守长期定时执行的话,需自行优化代码)

    业务合作请联系 13958075150 1 首次登录使用selenium登录并将cookies存为文件 实现免密登录 并便于后期维护cookie 首次使用selenium登录 并将cookies存为文件 from selenium impo
  • 力扣 3. 无重复字符的最长子串

    一 题目 二 示例 三 思路与代码 1 思路 1 采用滑动窗口算法 2 滑动窗口收缩的关键 当当前移入窗口的字符其计数已经超过1时 则进行窗口的收缩 3 无重复子串长度更新的时机 当窗口中没有重复字符时 更新长度 4 具体见代码解析 2 代
  • 红黑树——RBTree

    红黑树的概念 红黑树 是一种二叉搜索树 但是 在每个节点上增加一个存储位表示节点的颜色 可以是red或者black 通过对任何一条从根到叶子的路径上各个节点着色方式的限制 红黑树确保没有一条路径会比其他路径长出两倍 因而是接近平衡的 红黑树
  • ngrok实现内网穿透,让家里的笔记本也能做服务器

    背景 家里淘汰了一台笔记本 windows系统装起来很卡 于是装了个linux系统 这台笔记本有2G内存 奔腾双核处理器 配置比我在阿里云上买的ECS高多了 于是想着给它利用起来 研究了一下 发现ngrok内网穿透能实现这个功能 刚好我也有
  • 临界区锁 InitializeCriticalSection()

    首先 文章主体经过以下两篇文章整理而成 http blog csdn net lys07962000 article details 41707213 http blog csdn net bytxl article details 465
  • char** 和const char** 问题

    目录 1 char 和const char 问题 2 NUL和NULL问题 3 sizeof返回值问题 4 malloc下的strlen问题 1 char 和const char 问题 今天看书看到一个很有意思的问题 不过在看问题之前 首先
  • 求最短回文串长度

    今天写了一道题 是这个题噢 让求最短回文串长度 我用马拉车写了半天呢 写着写着想 马拉车求得不是最长回文串的长度吗 然后看了一下题解 因为这题数据量不大 所以这样直接就过了 include
  • 基于c语言实现 字符串排序

    基于c语言实现 字符串排序 一 简单的字符串排序 举例实现 题目 代码 一 简单的字符串排序 给定有限个字符串 将其按照大小顺序排列 此时的大小顺序简单来说我们可以先认为是ASCLL码的大小顺序 由此我们只需要比较字符串的ASCLL码的大小
  • 统计数据上的因果推断--关于Yule-Simson Paradox

    在 高 维 列 联 表 分 析 中 有 一 个 很 有 名 的 例 子 叫 做 Yule SimpsonParadox 此悖论表明 X和 Y 边缘上正相关 但是给定另外一个变量 Z后 在 Z的每一个水平上 X和 Y可能负相关 下面表 1 就
  • ChatGPT常用的指令(prompts)系列十——房地产经纪人、物流人员、牙医、网站设计

    系列文章目录 内容翻译自 https github com f awesome chatgpt prompts 并加入自己的实践内容 1 ChatGPT常用的提示语 prompts 系列一 2 ChatGPT常用的提示语 prompts 系
  • rancher 与 kubernetes的关系(1)

    rancher 和 kubernetes 有什么区别 总体来说 rancher 和 k8s 都是用来作为容器的调度与编排系统 但是rancher不仅能够管理应用容器 更重的一点是能够管理k8s集群 rancher2 x 底层基于k8s调度引
  • TCP连接、Http连接与Socket连接的区别

    文章目录 HTTP Socket TCP的区别 Socket 套接字 Socket长连接 什么时候用长连接 短连接 TCP连接和HTTP连接的区别 TCP连接与Socket连接的区别 HTTP连接与Socket连接的区别 常见问题 什么时候
  • 嵌入式岗位Makefile常见面试题(1)

    第一题 变量使用 解析 Makefile中变量的引用格式就是 变量名 这是没什么好讲的 记住就行 在Makefile中有一些特殊的宏定义需要记住 表示生成的目标 lt 表示生成依赖的文件 是执行上一条指令的返回值 可以参考博客 Makefi
  • IPv6 时代如何防御 DDoS 攻击?

    在互联网世界 每台联网的设备都被分配了一个用于标识和位置定义的 IP 地址 20 世纪 90 年代以来互联网的快速发展 联网设备所需的地址远远多于可用 IPv4 地址的数量 导致了 IPv4 地址耗尽 因此 协议 IPv6 的开发和部署已经
  • devC++强制关机代码shutdown(DAY 26)

    文章目录 1 代码实现 2 运行结果 恶搞同学 这种方式只用改个头文件 再在文章中间加一行输出即可 1 代码实现 2 运行结果 恶搞同学 增加编程乐趣 这种方式只用改个头文件 再在文章中间加一行输出即可
  • MMDetection——GPU训练

    预先知识 CONFIG FILE config 里面的文件 config faster rcnn r50 fpn 1x coco py CHECKPOINT FILE 模型权重所在位置 checkpoints faster rcnn r50
  • elk笔记17--alias

    elk笔记17 alias 1 别名简介 2 创建别名 2 1 创建索引时候创建别名 2 2 为已有索引添加别名 3 查看索引 4 删除别名 4 1 直接删除别名 4 2 使用actions删除别名 5 说明 1 别名简介 索引 别名 就像
  • 【已解决】NFS客户端写入NFS共享文件夹出错:Permission denied

    原文地址 https www crifan com nfs client write to nfs server share folder error permission denied 背景 折腾 已解决 在远程Ubuntu服务器中开通N
  • 求众数

    示例 1 输入 3 2 3 输出 3 示例 2 输入 2 2 1 1 1 2 2 输出 2 vector声明与调用方法 vector
  • hexo更换icarus主题和美化

    文章目录 页面点击出现爱心 给文章添加目录 添加相册 模块布局 开启评论系统 valine域名绑定 开启打赏功能 全局搜索 首页三栏 阅读两栏 目录固定 默认开启目录 个人信息布局 移动端优化 增加版权说明 增加busuanzi统计 使用阿