hexo-ruby-character:写作 A 读作 B

关于「写作 A 读作 B」这种事情,虽然已经玩了许久,但是还是感觉挺有意思。其实「写作 A 读作 B」是日文书写中的旁注标记,用于表达「A 的正确含义是 B」1

早些时候,当我想要做旁注标记的时候,只能先把文字写上,发音写在括号里。其实这样的做法是很痛苦的,因为拼音的声调实在是太难输入了。

后来,iOS 的应用商店里出现了一款叫做「写(dú)」的 App,对我而言简直就是福音,我经常逛的一个推广优质应用的网站——少数派也专门为这个 App 写了博文,《喜(sàng)闻(xīn)乐(bìng)见(kuáng):写(dú)》。

从那以后,当我需要做旁注标记的时候,写(dú) 就是我最趁手的工具。直到这两天,我在给同事科普什么叫「鬼畜」的时候,无意间进入了绅士词条,然后就看到了这种黑科技般的注音方式!

绅士,或者ACG界更常见的写法是biàntài或hentai。

这种注音效果果然就是我想要的!一开始我还以为是用 CSS 实现的,翻看页面源码发现是 ruby 标签,之前从没见过,果然是图样图森破了。再看 Wiki 页面的源码,发现这是通过 Ruby Template实现的,再向上游追溯,就是 Wikipedia 了。

A Better Wheel

这么好玩的东西,我的博客也要用~于是经过我一个中午的 coding,一个全新的 hexo 插件——hexo-ruby-character 就来到了世界上。

我以 MIT 许可证将源码托管在 Github 上,欢迎交流。

从表面上看,这个插件其实是 Wiki 里面 Ruby Template 的一个复刻,算是另一个轮子,为什么我会认为它是一个更好的轮子?

先看 Wikipedia 给的例子。

{ruby|飞机|fēijī}{ruby|场|chǎng} → 飞机fēijī场chǎng

其实整个旁注标记中最难以输入的部分,就是拼音。而在 hexo-ruby-character 中,拼音不再是不必可少的了,取而代之的是汉字,用汉字给汉字注音。字音转换这种事情,自然是要交给机器代劳,不仅如此,还要站在巨人的肩膀上。

{ ruby 佐天泪子|掀裙狂魔 } → {% ruby 佐天泪子|掀裙狂魔 %}

在旁注标记中,字音不同是最常见的用法。假如需要标注真正的发音,那就更简单了。

{ ruby 飞机场 } → {% ruby 飞机场 %}

默认开启了分词之后,多音字的字音转换基本上不成问题,比如它能够区分{% ruby 星宿 %}和{% ruby 宿敌 %},{% ruby 家长 %}和{% ruby 长度 %}这种弱爆了的多音字测试更是不在话下。而这一切特性,都是 pinyin,以及它背后的 jieba 分词所提供的。

hexo-ruby-character 默认的行为是在拼音之间添加空格来区分音节。当然,如果不喜欢默认的字音转换,直接像 Wiki 一样写拼音也是可以的。

{ ruby 飞机|fēijī }{ ruby 场|chǎng } → {% ruby 飞机|fēijī %}{% ruby 场|chǎng %}

至于日语或者其他国家的语言之类的,自然也是不在话下。

{ ruby 超電磁砲|レールガン } → {% ruby 超電磁砲|レールガン %}

Happy hacking! 为了让更多的人用到它,我向 Hexo 的插件列表提交了 Pull Request,它现在已经在 Hexo 的插件列表里面了。


  1. 写作oo读作xx - 萌娘百科 万物皆可萌的百科全书 
时间: 2024-12-17 06:18:03

hexo-ruby-character:写作 A 读作 B的相关文章

B2C该不该读作B二C

十博会 日前,央视新闻频道的早间节目<朝闻天下>在报道近期淘宝商城遭 卖家"围攻"新闻时,主播郑天亮将IT专业名词"B2C"读成不中不洋的"B二C",引发 网友围观. 支持 @简壹:国家语委曾规定,新闻以及正规表述中不能夹杂英文. @亚东Kevin:虽说主持人不应该出错,但也挺同情他们的:不仅要熟悉多音字比如"圈养",更不能读错"B二C"这样的新名词:所以大家可以批评,但嘴下留情吧. @散-落Q

Ruby Tip——读文件

Ruby如何简洁地读整个文件,你可以这样做: f=File.open("test.log","r") result='' f.each_line do |line|    result+=line end puts result 但是,更简洁的方法是: File.open("test.log","r"){ |f| f.collect.join} 利用了文件打开的IO对象混入了Enumerable模块这一特点,通过map或者co

ruby 2.x.x之新特性散谈

    ruby入门看的是经典的<ruby编程语言>,可是那描述的是v1.9的老版本啊!下面聊一下ruby2.x.x的新特性,x是0-n都有可能啊. 1.关键字参数(Keyword arguments) 在1.9的时候为了模拟这个功能,我们需要传递散列: 2.1.3 :044 > def foo(n,others) 2.1.3 :045?>   puts n 2.1.3 :046?>   puts others[:name] 2.1.3 :047?>   puts ot

Cookies怎么读

  Cookies怎么读? cookies是一个英文单词,[美]式英语中的含义为:"甜饼干",(苏格兰)一种小面包,在计算机中,cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术. Cookies发音:kukis,类似中文哭加上英文kiss,就是"哭kiss",也类似"哭ki丝"的发音,一般我们读作哭kiss. Cookies的发展史 Cookies的发明者名叫Lou Montulli,它

让ruby简化你的工作之blog阅读器

   阅读专家和牛人的blog已经是我学习的一种主要方法之一,我每天的必做的就是关注下dreamhead.gigix.江南白衣.robbin.李锟等牛人的blog是不是有什么新文章.不过我非常讨厌安装商业公司的rss阅读器,我害怕他们是流氓软件!而且很多阅读器的文章格式与原文有较大差异从而导致重要信息的丢失,我还是喜欢用firefox畅游网络,这导致我不得不一次一次地在各个blog间跳转,打开n个网页查找我关注的信息,一次两次也就罢了,天天这样实在是太麻烦了,那么,有没有什么工具来简化我的工作,

《Ruby程序员修炼之道》(第2版)—第1章1.2节剖析Ruby的安装

1.2 剖析Ruby的安装在系统上安装Ruby意味着在许多磁盘目录中安装了Ruby语言的库和支持文件.大多数时候,Ruby都知道如何找到其所需要的这些目录而不用弹出提示.但是了解Ruby安装的知识对了解Ruby本身大有益处. 查看Ruby的源代码 除了Ruby安装目录体系之外,Ruby的源代码目录也安装好了.如果没有,可以到Ruby的主页中下载.源代码目录中包含了许多在最终安装中出现的Ruby文件和许多已编译为目标文件并安装好的C语言文件.另外,源代码目录包含了一些如ChangeLog和软件授权

看到有人问读数字的代码,试着写了一个,比较不优雅

问题描述 /**Tochangethislicenseheader,chooseLicenseHeadersinProjectProperties.*Tochangethistemplatefile,chooseTools|Templates*andopenthetemplateintheeditor.*/packagetest;importjava.util.ArrayList;importjava.util.Collections;importjava.util.Iterator;impor

苹果AirPods是什么意思 AirPods怎么读

注意:AirPods仅支持最新iOS 10.watchOS 3.macOS或Sierra系统版本的设备. 据美国一家科技博客网站报道,AirPods并未使用什么神奇的无线技术,而就是大多数无线耳机所使用的蓝牙技术,只不过苹果进行了强化,如内置W1芯片,再通过特定的软件来实现自动与手机连接. 整体而言,AirPods的操作十分简单,双击可以启动Siri,一次充电可以使用5小时.如果使用过程中电量耗尽,可以把AirPods放入充电盒中,15分钟即可获得最长3小时的续航. 与美国消费者一样,许多中国消

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书