vol.moe 的批量选取油猴脚本

最近学习了点javascript。这东西挺好玩的。

正好日常网站vol.moe的一些功能很不顺手。就改写下。

  • 没全选推送。(当你要试着推送一整套海贼王的时候,你真的挺恨网站作者的)
  • 每次都是同一标签打开漫画详情。(一不小心关了,之前的翻页就算废了)

于是,做了个油猴脚本。

安装地址见此:Greasyfork

源代码:Github

Bug反馈:Github Issue

代码如下:

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// ==UserScript==
// @name vol.moe 增强工具
// @namespace monkeypatch.moe.vol
// @version 0.1
// @description * 新窗口打开漫画页详情。 * 漫画页中,添加全选按钮,批量选择推送的漫画。
// @author Shazoo
// @match http*://vol.moe/comic/*.htm
// @match http*://vol.moe/
// @match http*://vol.moe/list/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
// Your code here...
var cur_url = window.location.href;
if (/^https?:\/\/vol\.moe\/comic\/\d+\.htm/.test(cur_url)){
// 给漫画详情页添加全选功能
var loc_btn = document.getElementById('push_button');
var ctrl_btn = document.createElement('template');
ctrl_btn.innerHTML='<a href="javascript:void(0);" id="ctrl_btn" style="margin-right: 10px;" class="weui_btn weui_btn_mini weui_btn_default">全选</a>';
ctrl_btn = ctrl_btn.content.firstChild;
loc_btn.parentNode.insertBefore(ctrl_btn, loc_btn);
var is_selected = false;
ctrl_btn.addEventListener('click',function(){
is_selected = ~is_selected;
var cb = document.getElementsByName('checkbox_push');
for (var idx=0; idx < cb.length; idx++) {
cb[idx].checked = is_selected;
}
sum_push_item();
}, false);
}else {
// 在列表页面添加新窗口打开功能
var alist = document.getElementsByTagName('a');
for (var idx = 0; idx < alist.length; idx++) {
if (/comic\/\d+\.htm/.test(alist[idx].href)){
alist[idx].target = '_blank';
}
}
}
})();

Airpods 单耳失灵的解决办法

Airpods 用起来很舒服。不过,昨日碰到个比较郁闷的事情。

运动后,估计有点点进汗,加上左耳不小心摔过几次,突然发现左耳没有声音了。

大概症状:

  • 只有一个耳朵有声音
  • 在 设置 -> 电池 里面,只能看到右耳有连接。
  • 打开盒子,iphone弹出的界面里面,也只能看到右耳。

最后搞定了,方案如下:

继续阅读···

displayswitch.exe -- 快速关闭、打开第二显示器

最近更换了dell显示器后,发现Intel的HD4000显卡在多显示器的情况下,偶尔会跳动。

很烦,不过也没必要换显卡,毕竟第二显示器只是在调试的时候才会用到,平时都是关闭。

不过,作为懒蛋,俺并不喜欢到系统自带的显示配置里面去关闭显示器。

于是,可以使用这个工具:displayswitch.exe

继续阅读···

shuf--随机获取文件中的N行

shuf , GNU命令集中的一员。一般用来对输入数据进行随机排序。(和sort –random-sort很像)。

例子:

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
$ls -1
data
doc
images
lib
LICENSE
markpress
markpress.py
README.md
wordpress.ini
$ls -1 | shuf
markpress.py
images
doc
markpress
data
wordpress.ini
LICENSE
lib
README.md
$cat SO_BIG_FILE.txt | shuf -n 5
从某个超大文件中随机选取5行
$shuf -r -n 100 -e Head Tail
随机丢100次硬币。`-r` 是指可以重复选取。

PS:偶尔看看info coreutils 挺长见识的。

《嘿,小面》高清下载--让你流口水的纪录片

嘿,小面

多年前的一天深夜,在外出差无聊看电视。一部纪录片让我流了一夜口水。

央视的纪录片真的不错。

央视9-记录
2013年出品

在重庆这座以麻辣作为美食特色的城市,市井小巷的麻辣小面似乎比麻辣火锅更加深入本地人的生活。本片带领观众走进重庆的大街小巷,展示什么是重庆小面,寻访将一碗普通面条做出特色的小面店家,讲述一个个爱小面爱到偏执,吃小面吃到上瘾,做小面做到一绝的故事。

现在没法吃辣,当纪念了。

下载:……

继续阅读···

出院回归

1月26日住院到如今,将近2个月。终于算是正常了……

不得不承认,咱也是中年人了。

以后需要好好保养身体……

Let's encrypt CertBot的一个bug--附修改

在虚拟主机的模式下,certbot在生成www子域名的时候,会出现问题。

原来的向导类的方法选择后,会造成www子域名使用根域名的证书,从而出错。

如果出现问题,可以这么操作:

将原本的向导自选的脚本:

1
sudo certbot --nginx

改为强制指定域名:

1
sudo certbot --nginx -d www.xxxxxxx.com

certbot提示是否重新验证,同意即可。

Wordpress中,自动修改发布时间的js书签

最近在搞一个采集站。用wordpress实现展示。

一番爬虫采集后,用python post到wordpress的草稿箱中。

问题来了,每次审核发布的时候,发布时间竟然是以进草稿箱为准。

这不能忍啊。每次审核发布后,时间都得手动调整,太累。

方法很多种,这里用最简单的。

在箭头的地方输入以下js代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
javascript:void((function(){
aa = document.getElementById('aa');
mm = document.getElementById('mm');
jj = document.getElementById('jj');
hh = document.getElementById('hh');
mn = document.getElementById('mn');
var curDate = new Date();
aa.value = curDate.getFullYear();
mm.selectedIndex = curDate.getMonth();
jj.value = curDate.getDate();
hh.value = curDate.getHours();
mn.value = curDate.getMinutes();
})());

这样,发布前点击下这个书签,时间就改成当前时间了。

PS:为啥一个嵌入式工程师懂这个????