杜郎俊赏 - dujun.io

祝你巳巳如意,新春大吉!


[置顶] 2025-02-01

解决 SVG 转字体出现空白的问题

svg-fixer封面
我在制作专栏图标时发现有的 SVG 转为字体时,某些交接处会出现空白: 检查发现某些路径(path)重叠会发生这个问题: 我首先尝试消除重叠,使边缘贴合,然后发现自己完全没能力完成这样精准的绘制。最终我还是找到了解决办法:SVG Fixer。实现原理是: Convert SVG Strokes To Fills Attempts to fix your svg by turning it into a fill / single path (and making it font compatible as a bonus). 安装和使用方法: #安装 npm i -g oslllo-svg-fixer #使用 oslllo-svg-fixer -s ./1.svg -d ./

2025-02-04

新增熟人可见功能

我一直没有做评论可见功能。因为博客是我兴趣使然的自留地,没有运营诉求。我很珍视朋友们的评论互动,但是评论数字本身我不在乎。评论可见可能带来无意义的内容,这是我最排斥的原因。 然而看到obaby发评论可见的口令红包,我意识到确实存在只对特定人群开放内容的场景。比如发红包,比如一直让我头疼的如何解决生活照的安全隐患。所以我决定开发这个功能。基于前文提到的理念,我没有做传统的评论可见,而是熟人可见——虽然底层逻辑依然是基于评论的。 实现逻辑很简单。在当前终端设备发表过评论,并被审核通过的,就标记为可信评论者——本文简称为熟人。相对的,爬虫机器人、不评论和发恶意/无意义评论的都是被限制的陌生人。在文章中用特定闭合标签包裹仅熟人可见的内容。熟人和陌生人,对熟人可见内容都是无感的。这句话的意思是熟人不知道哪些内容是被隐藏的,而陌生人压根不知道存在隐藏的内容。这个设计的核心价值观就是不诱导评论。 要做到...

2025-02-02

读书,世界就在眼前;不读书,眼前就是世界。

2025-02-01

新增语音转文字效果

我做了一个栏目叫做“有话直说”,用于表达负面或激烈的情绪。以语音的形式来直观生动地呈现,同时在 RSS 结果中排除,避免被搜索引擎爬取。我感觉不错,但是obaby说要加语音转文字。怎么办呢?自己的榜一自己宠,连夜做了功能。 分享一下设计思路。前端比较简单,就是点击后向下展开一个气泡框。前端唯一的思考就是怎么做点击交互,首先当然是参考微信,但是存在两个问题。一是长按语音条呼出操作界面,在手机端比较自然——得益于微信等软件的用户习惯培养——但是在电脑端这就很怪。二是微信长按呼出的是一组功能键,而我只有一个功能。长按呼出界面,再点击里面唯一的按钮,这就是典型的脱裤子放屁。最终我的方案是在语音条上显式地放置一个图标 作为按钮。 再来说后端。我只是要做语音转文字的【效果】,并不需要真实的即时转换,实现起来就是将整理好的文字录入后台。那么最大的难点是怎样保存这个文本。最简单的就是用一组闭合标签包裹...

2025-01-25

4e20139f-9e4b-54bf-b456-2b4dab6e73ef封面
[语音] 闹了个乌龙,以为电动车充电余额被吞了,其实是已退款。

2025-01-23

内存就是内存

neicun-means-memory封面
写小天才查找相关参数时我遇到一个疑问,小天才官网用了“内存与运存”这个描述。顾名思义,这里“运存”是指内存,而“内存”是指机身存储。 上了年纪或者不求甚解的人会说“手机内存64G”类似的话,我当作老人不懂或年轻人口误。现在看起来问题没那么简单,我扫了一下电商平台,已经大规模误用“内存”了。 首先正本清源明确一下概念,内存(Memory)是计算机系统中用于存储数据和程序的硬件设备。分为: 随机存取存储器(RAM,Random Access Memory) 只读存储器(ROM,Read-Only Memory) 高速缓存(Cache) 通常标称内存容量指的就是 RAM,断电后数据会消失。 相应的,本文机身存储(Storage)是指断电后不消失,持久保存数据的硬件设备。在手机和电话手表中是闪存(FLASH),类比电脑中的机械硬盘(HDD)或固态硬盘(SSD)。 我整理了主流手机和电话手表厂家关于...

2025-01-16

下载B站视频

download-videos-from-bilibili封面
快速下载B站高清视频的办法是用客户端进行缓存并导出。 具体操作如下: 安装 bilibili 官方客户端,打开视频点击缓存。缓存目录可以在设置里找到,通常 Windows 位于 视频/bilibli,macOS 位于影片/bilibili。进入后可以看到以数字命名的目录,在里面找到 .m4s 文件,小的是音频文件,大的是视频文件,将它们合并导出为 .mp4 文件。 要注意,B站的.m4s在开头多了 9 个 0,需要移除,否则合并会报错:"Invalid data found when processing input"。 完整命令示例: tail -c +10 26054361428-1-30080.m4s > video.m4s tail -c +10 26054361428-1-30280.m4s > audio.m4s ffmpeg -i video.m4s -i audio.m...

2025-01-15

二〇二四年度统计

2024-annual-statistics封面
前言 本统计基于数据库和访问日志创建时间在 2024 年之内的数据。其中: 访问日志排除大搜索引擎爬虫 文章数据排除宝宝日记和单页 评论数据排除我本人和匿名者 文件数据排除缩略图等衍生物 文章 文章 目录 文章数 字数 信笔 121 55114 俊照 28 6533 俊笔 1 48 俊作 129 133311 总计 279 195006 字数统计包含标题、标签、标点符号 文件 类型 数量 大小 图片 474 70.53M 短片 21 41.46M 语音 4 6.99M 附件 1 24.95K 总计 500 119.00M 热门 标题 浏览数 唯一IP “纳入式性行为” 10699 8512 开源实例之myUPB 3277 1482 开源实例之PHPwind 1746 1092 开源实例系列 1113 611 拼多多899元爱普生L3251打印机实测 757 671 服务器对比实测评分方案...

2025-01-13

内嵌抖音视频

抖音开放平台提供了内嵌抖音视频的方法,详见《通过VideoID获取IFrame代码》。 示例代码: 与B站不同,抖音iframe没有做自适应,需要结合自己网站调整样式。下面以我的网站为例。 手机端代码: .douyin { width: min(324px, 100%); margin-inline: auto; overflow: hidden } .douyin iframe { aspect-ratio: .4821 } 电脑端代码: .douyin { width: max(730px, 100%); margin-inline: auto } 写这篇文章的起因是我刷到了上面这条搞笑视频,想写文章分享。之前在风记星辰那里看到过内嵌抖音视频,参考他的样式,并研究了抖音官方文档,实现了期望效果。不过有一个坑是父级元素宽度小于730px会强...

2025-01-12

分页: 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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103