hexo主题之delicate

delicate but simple theme for Hexo.

使用插件aplayer和MeingJS在hexo文章内添加音乐

七月 21日 2022 | 共 1.8k 字, 需要 8 分钟

依赖:
  • APlayer.js > 1.8.0
  • Meting.js > 1.1.1

hexo-tag-aplayer和MeingJS使用方法摘抄自官网:中文文档

hexo-tag-aplayer

基于JavaScript的播放器插件

github —— DIYgod/APlayer

在hexo中使用aplayer插件:

下载

1
npm install --save hexo-tag-aplayer

基本使用

1
{% aplayer title author url [picture_url, narrow, autoplay, width:xxx, lrc:xxx] %}

标签参数

  • aplayer: 固定参数,必填
  • title : 曲目标题
  • author: 曲目作者
  • url: 音乐文件 URL 地址
  • picture_url: (可选) 音乐对应的图片地址
  • narrow: (可选)播放器袖珍风格
  • autoplay: (可选) 自动播放,移动端浏览器暂时不支持此功能
  • width:xxx: (可选) 播放器宽度 (默认: 100%)
  • lrc:xxx: (可选)歌词文件 URL 地址

当开启 Hexo 的 文章资源文件夹 功能时,可以将图片、音乐文件、歌词文件放入与文章对应的资源文件夹中,然后直接引用:

1
{% aplayer "Caffeine" "Jeff Williams" "caffeine.mp3" "picture.jpg" "lrc:caffeine.txt" %}

Ubuntu-learn 01

七月 14日 2022 | 共 3.6k 字, 需要 13 分钟

设置windows子系统的语言

在windows安装linux子系统的时候,可以选择语言,如果选的不是中文或不是自己想要的,后期可以通过命令行的方式进行修改:

首先,安装对应语言包:

1
sudo apt-get install language-pack-zh-hans

然后设置语言;注意,这里一定要加上sudo,否则该文件是只读状态无法更改:

1
sudo vi /etc/default/locale 

保存退出便完成设置。

测试:

1
2
3
4
5
6
7
8
9
ncal -b
# 输出
七月 2022
一 二 三 四 五 六 日
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

linux tips

  • 清除控制台命令: clear
  • 使用Ctrl+C组合键终止执行的脚本文件
  • who可以帮助我们查看有哪些账户在什么时间登录了计算机。
  • wc命令可以统计行数
    • who | wc -l 使用管道将who和wc命令结合在一起使用。
  • ss命令可以查看Linux系统中所有服务监听的端口列表。但是ss命令自身没有灵活的过滤功能,而grep命令有比较强大灵活的过滤功能,这样的话也可以通过管道将这两个命令结合在一起使用。
    • ss -nutlp | grep sshd

JavaScript函数式编程之递归的几种方式

六月 29日 2022 | 共 1.1k 字, 需要 4 分钟

函数式编程提倡使用递归,而不是循环。递归在某些场合下更优雅、更简洁。

但是使用递归有时候会遇到一些问题,比如说栈溢出。

解决栈溢出

这里总结了几种解决栈溢出问题的几种解决方案,比如最有效的尾递归(tail call),以及不使用尾递归的其它两种方式。

首先,要解决问题就得先有问题;这里使用例子来分析递归的几种方法:

判断一句话中有几个元音字母

这里给出判断是否元音字母的函数

1
2
3
4
const isVowel = letter => {
const vowel = new Set(['a','e','i','o','u','A','E','I','O','U']);
return vowel.has(letter)
}

linux学习笔记之cal

六月 26日 2022 | 共 1.3k 字, 需要 5 分钟

在所有的类linux操作系统中,cal或者ncal命令会在命令行打印出一个有格式的日历(阳历)。

默认情况下,即不给定任何参数的情况下,cal和ncal将会输入本月的日历,并突出显示当前的日期(在Ubuntu22.04LTS下,ncal突出显示当前的日期):
> cal:

1
2
3
4
5
6
7
      六月 2022
日 一 二 三 四 五 六
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30

> ncal:

1
2
3
4
5
6
7
8
    六月 2022
一 6 13 20 27
二 7 14 21 28
三 1 8 15 22 29
四 2 9 16 23 30
五 3 10 17 24
六 4 11 18 25
日 5 12 19 26
ncal和cal的区别

可以看到ncal命令和cal命令都会在控制台输出有格式的日历,但是ncal命令显示的日历是竖着的,有别于传统的日历格式。


React Calculator

六月 15日 2022 | 共 2.9k 字, 需要 13 分钟

用React做一个新拟态计算器

首先,先看成果(codepen):

react-calculator.png

See the Pen react-calculator by Kartjim (@Kartjim) on CodePen.

项目中我使用到的技术:

  • HTML、CSS、JavaScript三件套
  • React
  • SCSS

本项目是freeCodeCamp上的其中一个前端开发库项目,推荐自学的同学去免费学习编程 - Python、JavaScript、Java、Git 等 (freecodecamp.org)

这个计算器项目需求很清晰,具体可看:前端开发库项目 - 构建一个 JavaScript 计算器 | 学习 | freeCodeCamp.org

这里列出我的大致需求:

  1. 计算器要有最基本的按钮,比如AC=、0-9这10个数字按钮、+ - * / 按钮、小数点.
  2. 其次,计算器要有展示数据计算过程的地方,一个实时输入区,一个暂存区。
  3. 按下数字可以在实时输入区输入数字
  4. AC可以初始化实时输入区和暂存区的内容,即0
  5. 加、减、乘、除操作的功能实现,需要和=一起实现
  6. 如果在按下 = 符号后继续按一个运算符,则应该在上一次计算结果的基础上进行新的计算。
  7. - 不仅是减号,也可以作为负数符号
  8. . 实现小数功能
  9. 最后需要注意的是,本计算器项目选用的是立即执行逻辑