游戏文化浓度也许很高的微型博客,还有审查观察和浅显的科普杂谈。每日 7:30 准时更新。明明很向往自由,却有着严格约束,和奇怪规则的频道。

由 gledos 创作的内容,如果没有另外声明,均为 CC-BY 4.0 许可协议。

gledos 无法保证内容正确,但会一直尝试追逐正确。

管理员: @gledos_green
将 YouTube 上的专辑保存为单曲

YouTube 较长的音乐专辑,往往会分章节,方便用户跳转到合适的部分欣赏音乐。但是从 YouTube 下载的高音质的 opus 音乐是一个整体,不利于欣赏,而 CUE 这种描述音轨的布局、信息和索引的章节格式,也不怎么支持 opus,就需要更好的方法了。

现在大多数播放器都能播放 opus 编码,那么直接将高音质的 opus 音乐切片,不进行额外的转码,应该就是最好的方法了。

首先使用 yt-dlp 这款 CLI 工具下载音频:

yt-dlp -f "bestaudio/best" --write-description -ciw -o "%(title)s.%(ext)s" -v --extract-audio {% URL %}


--write-description 参数能够将章节信息保存为文件,以文本格式打开后,就能看到[章节号][章节名][开始时间]这样的内容,将这部分内容复制到 GPT 编写的 网页工具 中转换,就能得到 ffmpeg 的切片命令。

最后将音乐复制一份,重命名为 test.opus,就能在 shell 中批量执行这些命令了(比如 Windows 里常用的 CMD),单曲就会被切好。

附言:重命名为 test.opus,可以防止名称过长,如果切片时出现错误,就能较容易找到问题,并且复制一份也是保险,防止刚下好的文件被意外覆盖。

#指南
URL 编码问题

当从浏览器的地址栏复制一串含有非 ASCII 字符的网页链接时,很可能会从 https://zh.wikipedia.org/wiki/链接 得到 https://zh.wikipedia.org/wiki/%E9%93%BE%E6%8E%A5 这样复杂、被编码后的链接,因为 URL 不支持 ASCII 字符集以外的 Unicode,比如汉字、西里尔字母和阿拉伯字母等。

2002年,互联网工程任务组 (IETF) 推出了向前兼容的国际化资源标识符 (IRI),这让链接包含中文字符成为了标准,而为了向前兼容 URL,就使用了 百分号编码,让「汉字」被百分比符号转义成「%E6%B1%89%E5%AD%97」。

缓解办法:桌面版 Firefox 可以进入 about:config 菜单,修改 browser.urlbar.decodeURLsOnCopy 为 true,重启浏览器后就能直接复制未被编码的 IRI 了。如果是 Chrome 等其他的浏览器,推荐使用 爱你哟mua编写的小书签,点击一下就能复制到剪贴板,安全、简单。

主要参考自: Jan Martin Kei, 《IRI, URI, URL, URN and their differences

#原理 #指南 #小书签
Markdown 撰写文档常见问题 有序列表的缩进

Markdown 可以通过缩进,让列表也进行缩进。但是如果涉及复杂的缩进,比如我曾经使用 Markdown 编写了一个超过 100 编号的有序序列,并且序列里还有多行内容,比如内部再增加一个无序序列以及代码块,这就需要严格遵守 Markdown 的语法了。

严格来说,缩进都应该使用四个空格或是一个制表符,两个空格可能在有限的情况下能够正常使用,但一旦缩进变得复杂了,就容易出错。[图1]是我编写的超过 100 编号的有序序列的一部分,如何在有序序列放置各种信息,可以查看 亚伦斯·沃茨 参与编写的 Markdown 语法 网页。

不过当有序序列的编号超过 100 时,情况又发生了变化,至少在基于 Javascript 的 Marked 与基于 Ruby 的 kramdown 上,都需要增加空格,如[图2][图3]所示,只有四个空格时会出现错误,这时「对齐」,也许是三位数的序号加上「点」与一个空格,已经是五个字符的宽度了,所以需要五个空格。(五到八个空格应该都能正常运行)

#原理 #工具 #指南 #Markdown
Markdown 撰写文档常见问题

标题

Markdown 在 HTML 中使用时,最好只有一个 <H1> 标题标签,即一个 # 标题,这是 HTML 的 标准规范。如果 YAML 头文件含有 title 元素,那么不建议在正文中再次使用 <H1> 标题,因为 <H1> 往往表示该页面的标题。也需要注意避免跳过某级标题。

换行

古典的 Markdown 使用严格换行,即只按下一次回车,Markdown 解析器是会自动忽略掉这个回车。如果想要文章不分段的换行,那么需要使用 <br> 标记或者输入两次空格后再按下回车。Visual Studio Code 可以在设置中搜索 renderWhitespace 选项,来显示尾部的空白字符。

现在一些简单入门的 Markdown 工具可能为了方便,会默认设置禁止严格换行,比如 Obsidian 这款笔记软件。

空格

只要不是左右包括住里面的内容的 Markdown 语法,比如标题和列表,都需要在标记与文字间留下空格,否则解析可能不成功,或者其他的解析器会遇到问题。

#原理 #工具 #指南 #Markdown #gledos_science
 
 
Back to Top