rxliuli blog
  • 首页
  • 归档
  • 标签
  • 关于
  • 友链
  •   
  •   

使用 cloudflare workers 代理访问 google photos

场景吾辈使用 Google Photos 作为个人相册,但它的外链却无法在 blog 中使用,而且也无法在国内直接访问,这其实有点麻烦。在此之前,吾辈通过 使用外链图片的时候报 403 怎么处理? 了解到 https://images.weserv.nl 服务,它可以通过 cloudflare cdn 代理访问原本无法直接访问的图片。使用上也很简单,只要在 https://images.weser
2022-11-06
#工具

2022 年里做前端是怎样一种体验

今天在社区聊天群友说起 react 状态管理器时突然想起来了一篇旧文 2016 年里做前端是怎样一种体验,所以又模仿它跟着最近的新的技术写了一点。 问:最近我开始了一个新的 web 项目,不过老实说我已经好久没碰过这方面的代码了,之前只写过 vue2。听说前端的技术栈已经发生了极大的变革,不知道你现在是不是仍然处于最前沿的开发者阵列?答: 是的,自从 hooks 出来之后,web 框架又发生了很多
2022-11-06
#杂谈 #react

markdown 自动化

前言作为一个开发者,吾辈在工作之后开始使用了 markdown 作为一切文档的基本格式。由此衍生出来了一些处理 markdown 的需要,特别是在笔记工具使用了基于 markdown 的 joplin 之后,这种需求确切的开始存在了。 下面列出一些常见的需求 在 vscode 中访问和编辑笔记 从笔记中导出 blog 需要的文件 从 markdown 生成 epub 文件和网站 从 markdo
2022-10-28
#markdown #ast

mami 一个跨工具文档转换器

最近在写的一个工具,用以连接不同的工具,使它们的数据能够相互转换,主要用例是多平台发布和跨应用迁移,例如从 joplin/obsidian 笔记中选择一部分通过 hexo/hugo 渲染为 blog 共享给别人,事实上,现在你看到这个 blog 就是这样生成出来的。 简介mami 是一个转换工具,可以连接不同的基于 markdown 框架和工具,能将一种工具的数据转换到另一种工具,这对于跨应用
2022-10-11
#开源

vite-不仅仅是一个构建工具

自 vite 发布第一个版本(2020-04)以来,已经过去了两年,最近它发布了 3.0,不过没有太多 break change 的变化。或许有人已经在使用它了,但也有许多人看到是 vue 作者创建的工具就绕道走过去,因为 vue 生态里的工具历来是 vue 锁定,无法在其他生态中使用,像是 vuex/pinia 之类的,而 redux/mobx 却可以在 vue 中使用。尽管 vite 1.0
2022-10-09
#工具 #vite

闲谈网站的 Google 索引问题

场景从今年 2 月份以来,吾辈创建了一个 魔法少女小圆-飞向星空 同人小说翻译的 GitHub 项目,并一直维护至今。最初,这个项目只是将目前几位作者的翻译打包为 epub 以便在手机和电子阅读器上阅读,同时避免国内网站删除、下架或不再维护网站而创建存档。后来,也使用工具从 markdown 中生成了网站。 魔法少女小圆-飞向星空 的作品简介在经历了几个世纪的动荡之后,一个乌托邦式的 AI— 人
2022-10-07
#开源

代码生成-从环境变量生成类型定义

前言既之前的 代码生成-从 module css 生成 dts 之后,这篇来实现从环境变量生成接口,便于开发时能够有正确的类型提示。 动机在前端日常开发中,环境变量经常用于区分不同环境的配置,最常见的像是服务端地址。但在使用时,往往不能得到提示,或是一个环境变量没有。 我们通常使用以下两种方式访问环境变量 在 vite 中使用 import.meta.env 1import.meta.env.NO
2022-09-29
#typescript

代码生成-从 module css 生成 dts

前言代码生成对于很多开发者都不是陌生的概念,从使用脚手架(create-react-app)生成项目,到使用 ide 生成代码、或是从后端 api schema 生成代码,几乎不可能避免使用它。它可以解决各种各样的问题 从同一个来源生成项目,避免千人千面的项目整体结构 减少编写样板代码 避免在多个地方重复编写代码导致的不一致性 但在使用 TypeScript 时,它还可以做到一些其他有趣的事情
2022-09-28
#typescript #vite #工程化

JavaScript ESM 很好,但它现在也许没那么好

前言可能许多前端开发者都知道,自从去年 sindresorhus 发表 esm only 的宣言 一年多以来,许多项目开始转向了 esm only,即仅支持 esm 而不支持 cjs,以此来迫使整个生态更快的迁移到 esm only。 一些流行的项目已经这样做了 sindresorhus 维护的上千个 npm 包 node-fetch remark 系列 更多。。。 它们声称:你可以仍然使用现
2022-08-10
#javascript

新视点

这周请了 5 天的年假,回去了一趟老家,虽然很多事物没有什么变化,但认知世界的眼睛发生了变化,便看到了一些不曾留意过的东西。 そら 用树叶吹出来的声音,和吾辈想象中的差别有一点点大 ಡ ͜ ʖ ಡ 声音: https://1drv.ms/u/s!AqTwKbfzs-vyiocZXo9hbDbp7h7P2g 魔幻现实,退林返耕(小时候玩的空地前几年被挖了个大坑(卖地),现在居然种上农作物
2022-07-31
#个人

使用 jscodeshift 做重构

场景最近迁移了一些 API,因为所有前端项目都在同一个 monorepo 中,所以作为 lib 维护者吾辈还需要帮助迁移其他使用的模块。由于项目数量较多(大约有 30 多个),手动迁移非常麻烦而且难以测试。所以在调研了一些现有的大规模重构的方法后,吾辈选择了 jscodeshift 作为主要工具来做自动化迁移。那么,它相比于使用 ide 的重构功能、使用字符串搜索替换亦或是手工一个个替换有什么不同
2022-07-14
#typescript #工程化

实现一个玩具 lisp 运行时与解析器

前言之前看元循环求值器一节中使用 lisp 实现了一个 lisp 的运行时,吾辈也尝试使用 ts 来实现它。首先,这里展示一张曾经在书中出现过的图,表示一个运行时的基本组成是由 eval 和 apply 组成(看起来很像太极就是了)。eval 负责执行一个表达式,在 lisp 中,所有的代码都是表达式,这没什么问题。apply 则负责执行一个函数,将计算实参列表,并创建一个新的闭包环境绑定到形参上
2022-06-16
#算法
1234…21

搜索

Hexo Fluid