这应该是连载得最近的一次,书接上回:《或许可以用 TypeScript 编写 hammerspoon》(也就是下面那篇)
这里只会描述通过 TypeScript
实现的过程
以下内容可能产生不适(因为hammerspoon
的 d.ts
全是 interface
一把梭,编码不好看)
TL;DR
- 创建界面
- 实现剪贴板读取
- 存储数据
- 绑定快捷键
这应该是连载得最近的一次,书接上回:《或许可以用 TypeScript 编写 hammerspoon》(也就是下面那篇)
这里只会描述通过 TypeScript
实现的过程
以下内容可能产生不适(因为hammerspoon
的 d.ts
全是 interface
一把梭,编码不好看)
lua
这个语言真的有意思,它由 C 语言构成,又实现了 C 语言所没有的「对象」。早在不知道哪年搞 cocos2d
的时候,就接触了这个语言
hammerspoon
也不是什么新鲜东西了,早在 18 年,公司内部一次「杂鱼分享会」就有人提到了这个工具 —— 快速将光标切到目标显示器以及窗口调整
早期是用过一段时间,写了一个代替小黑帽🎩的工具,后来不了了之。主要还是觉得现在不想用这个语言,太阴间了
当然还有其他方案,比如常见的用到了 moonscript
,这是一个类 coffeescript
的语言,属于 lua 生态圈的东西。但用这个就意味着你需要在本机构建一个 lua 环境(luarock),这么一想那不想干了,现在不用 lua 了还留一个完全不用的开发环境
前些日子关注到有一个项目 TypeScriptToLua / TypeScriptToLua,一直没尝试,这波机会刚好。而且老前端了,谁还没有个 typescript/node 环境呢
已知Rust
是个很硬核的编程语言
又已知JavaScript
或者说在浏览器上的JavaScript
在某种情况无法胜任工作。
So?
🦀 Rust + 🕸 Wasm = ❤
但是,单纯把教程或者 tutorial 拿出来复述是没意思的。So,搞点事情
那么前提是,你已经弄清楚了 wasm-pack
是怎么回事了
又在「杂乱的工作台上」完成文章……
没错又错过一个非常好的机会。与其说是因为时间不够做不完,还不如说是因为陷入斐波那契思考导致做不完。
不留遗憾,把它搞完。题源就不说了。
这两个月工作巨多,直到今天才有时间写点骚东西。
可是要写点什么比较好呢?这时候看到了隔壁桌面上放着一张福彩,我脑子里有画面了。(所以这位赌狗不是我,我不买彩票)
为了方便以后支持更多的彩票,直接搞个类
class Gamble {
static dualColor(red: number = 6, blue: number = 1) {
const reds: [number, number] = [1, 33];
const blues: [number, number] = [1, 16];
return [this.randomVal(reds, red), this.randomVal(blues, blue)];
}
private static randomVal(
fromto: number[],
total: number,
temp: number[] = [],
): number[] {
const [head, ...body] = (!temp.length
? [...Array(fromto[1]).keys()]
.map(item => item + 1)
.splice(fromto[0] - 1)
: fromto
).sort(() => Math.random() - 0.5);
return !total
? temp
: this.randomVal(body, total - 1, temp.concat(head));
}
}
稳的稳的,这次真是为了需求造轮子了。Hyper = Hexo + Typer.
接触到hexo是因为,hexo可以是一个前端博客生成器,直接生成一个前端静态页面,做到可以上传到github“个人页面”作为博客网站。
不过,毕竟是基于node
的生成器,编写过程很geek。首先创建和预览甚至发布,依赖terminal
和node
。你要使用一个你喜欢的markdown
编辑器,或者直接就在代码编辑器搞例如vscode
。原来我也是用这个写博客。因为自带了terminal
,直接创建了搞完直接上。后来生活逐渐好点,用的 iterm2 + zsh 之后,编辑器改用了Typora
。然而关于这段的话,我上一篇搞electron+vue+webpack2+TypeScript什么体验 已经讲得够多了,所以不赘述了。
但是现在,可能生活会更好了…