mirror of
https://github.com/jerryc127/hexo-theme-butterfly.git
synced 2026-10-04 14:22:01 +08:00
first commit
This commit is contained in:
commit
1357f218e5
102 files changed
+7015
No files matched your search
@@ -0,0 +1,203 @@
|
||||
/**
|
||||
* jquery.t2s.js
|
||||
*
|
||||
* A Traditional Chinese to Simplified Chinese conversion library based on jquery-s2t and OpenCC data.
|
||||
* Copyright Rime Developers
|
||||
* ---
|
||||
* jquery-s2t v0.1.0
|
||||
*
|
||||
* https://github.com/hustlzp/jquery-s2t
|
||||
* A jQuery plugin to convert between Simplified Chinese and Traditional Chinese.
|
||||
* Tested in IE6+, Chrome, Firefox.
|
||||
*
|
||||
* Copyright 2013-2014 hustlzp
|
||||
* Released under the MIT license
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
|
||||
/**
|
||||
* 简体字
|
||||
* @const
|
||||
*/
|
||||
var S = '㑔㑇㐹刾㗷㘎㚯㛣㟆㤘㨫㧐擜䀥䌶䌺䌻䌿䌾䍠䎬䙌䜧䞍䦂䥾䦶䦷䯅鲃䲣䲝鳚鳤鹮丢并乱亘亚伫布占并来仑侣局俣系伣侠伡私伥俩俫仓个们幸伦㑈伟㐽侧侦伪㐷杰伧伞备家佣偬传伛债伤倾偻仅佥侨仆伪侥偾雇价仪俊侬亿侩俭傤傧俦侪尽偿优储俪㑩傩傥俨凶兑儿兖内两册胄幂净冻凛凯别删刭则克刹刬刚剥剐剀创铲划剧刘刽刿剑㓥剂㔉劲动务勋胜劳势勚劢勋励劝匀匦汇匮区协恤却即厍厕历厌厉厣参叁丛咤吴呐吕呙员呗吣念问启哑启唡㖞唤丧吃乔单哟呛啬唝吗呜唢哔叹喽啯呕啧尝唛哗唠啸叽哓呒啴恶嘘㖊咝哒哝哕嗳哙喷吨当咛吓哜尝噜啮咽呖咙向亸喾严嘤啭嗫嚣冁呓啰苏嘱囱囵国围园圆图团埯垭采执坚垩垴埚尧报场块茔垲埘涂冢坞埙尘堑垫坠堕坛坟垯墙垦坛垱埙压垒圹垆坛坏垄垅坜坝塆壮壶壸寿够梦伙夹奂奥奁夺奖奋姹妆姗奸娱娄妇娅娲妫㛀媪妈袅妪妩娴娴婳妫媭娆婵娇嫱嫒嬷嫔婴婶娘㛤娈孙学孪宫采寝实宁审写宽宠宝将专寻对导尴届尸屃屉屡层屦属冈峰岘岛峡崃昆岗仑峥岽岚岁㟥嵝崭岖嵚崂峤峣峄峃崄岙嵘岭屿岳岿峦巅岩巯卺帅师帐带帧帏㡎帼帻帜币帮帱干几库厕厢厩厦庼荫厨厮庙厂庑废广廪庐厅弑吊弪张强别弹弥弯录汇彝彟彦雕彨佛后径从徕复彻恒耻悦悮怅闷凄恶恼恽恻爱惬悫怆恺忾栗态愠惨惭恸惯悫怄怂虑悭庆㥪戚欲忧惫怜凭愦慭惮愤悯怃宪忆恳应怿懔蒙怼懑㤽恹惩懒怀悬忏惧慑恋戆戋戗戬战戯戏户抛捝挲挟舍扪挨卷扫抡㧏挜挣挂采拣扬换挥搄损摇捣揾抢掴掼搂挚抠抟折掺捞挦撑挠㧑挢掸拨抚扑揿挞挝捡拥掳择击挡㧟担据挤抬捣拟摈拧搁掷扩撷摆擞撸㧰扰摅撵拢拦撄搀撺携摄攒挛摊搅揽教敚败叙敌数敛毙敩斓斩断于旗既升时晋昼晕晖旸畅暂晔历昙晓向暧旷昽晒书会胧术东锨拐栅拐查杆栀枧条枭棁弃棋枨枣栋㭎栈栖梾桠㭏杨枫桢业极矩干杩荣榅桤构枪杠梿椠椁椮桨椢椝桩乐枞梁楼标枢㭤样榝㭴桪朴树桦椫桡桥机椭横檩柽档桧槚检樯梼台槟柠槛柜橹榈栉椟橼栎橱槠栌枥橥榇蘖栊榉棂樱栏榉权椤栾榄棂钦叹欧欤欢岁历归殁残殒殇㱮殚僵殓殡㱩歼杀壳壳毁殴毵牦毡氇气氢氩氲泛泛污决没冲况溯泄汹浃泾涚凉凄泪渌净凌沦渊涞浅涣减沨涡测浑凑浈涌汤沩准沟温浉涢湿沧灭涤荥汇沪滞渗卤浒浐滚满渔溇沤汉涟渍涨溆渐浆颍泼洁沩㴋潜润浔溃滗涠涩浇涝沄涧渑泽滪泶浍淀㳠浊浓㳡湿泞溁蒙浕济涛㳔滥潍滨溅泺滤澛滢渎㲿泻沈浏濒泸沥潇潆潴泷濑弥潋澜沣滠洒漓滩灏㳕湾滦滟滟灾为乌烃无炼炜烟茕焕烦炀㶽煴荧炝热颎炽烨灯炖烧烫焖营灿毁烛烩㶶熏烬焘烁炉烂争为爷尔床墙牍牵荦牦犊牺状狭狈狰犹狲犸呆狱狮奖独狯猃狝狞㺍获猎犷兽獭献猕猡现雕珐珲玮玚琐瑶莹玛玱琏琎玑瑷珰㻅环玙瑸玺琼珑璎瓒瓯瓮产产苏宁亩毕画异画当畴叠痉酸疴痖疯疡痪瘗疮疟瘆疭瘘瘘疗痨痫瘅愈疠瘪痴痒疖症疬癞癣瘿瘾痈瘫癫发皂皑疱皲皱杯盗盏尽监盘卢荡真眦众困睁睐睾眍䁖瞒瞆睑蒙眬瞩矫朱硁硖砗砚埼硕砀砜确码䂵硙砖硵碜碛矶硗䃅硚硷础碍矿砺砾矾砻秘禄祸祯祎祃御禅礼祢祷秃籼税秆䅉棱禀种称谷䅟稣积颖秾穑秽稳获穞窝洼穷窑窎窭窥窜窍窦灶窃竖竞笔笋笕䇲个笺筝节范筑箧筼筿笃筛筚箦篓蓑箪简篑箫筜签帘篮筹䉤箓篯箨籁笼签笾簖篱箩吁粤粽糁粪粮团粝籴粜纟纠纪纣约红纡纥纨纫纹纳纽纾纯纰纼纱纮纸级纷纭纴纺䌷扎细绂绁绅纻绍绀绋绐绌终弦组䌹绊绗结绝绦绔绞络绚给绒绖统丝绛绝绢绑绡绠绨绣绤绥䌼捆经综缍绿绸绻线绶维绹绾纲网绷缀彩纶绺绮绽绰绫绵绲缁紧绯绿绪绬绱缃缄缂线缉缎缔缗缘缌编缓缅纬缑缈练缏缇致缊萦缙缢缒绉缣缊缞缚缜缟缛县绦缝缡缩纵缧䌸纤缦絷缕缥总绩绷缫缪穗缯织缮缭绕绣缋绳绘系茧缰缳缲缴䍁绎继缤缱䍀颣缬纩续累缠缨才纤缵缆钵䓨坛罂坛罚骂罢罗罴羁芈群羟羡义膻习翚翘翙耧耢圣闻联聪声耸聩聂职聍听聋肃胁脉胫唇修脱胀肾胨脶脑肿脚肠腽腘肤䏝胶腻胆脍脓脸脐膑腊胪脏脔臜卧临台与兴举旧馆舱舣舰舻艰艳刍苎兹荆庄茎荚苋芲华庵烟苌莱万荝莴叶荭荮苇药荤搜莼莳蒀莅苍荪席盖莲苁莼荜卜参蒌蒋葱茑荫荨蒇荞荬芸莸荛蒉荡芜萧蓣蕰荟蓟芗姜蔷荙莶荐萨䓕苧䓓苔荠蓝荩艺药薮䓖蕴苈蔼蔺萚蕲芦苏蕴苹藓蔹茏兰蓠萝蔂处虚虏号亏虬蛱蜕蚬蚀猬虾虱蜗蛳蚂萤䗖蝼螀蛰蝈螨虮蝉蛲虫蛏蚁蚃蝇虿蝎蛴蝾蚝蜡蛎蟏蛊蚕蛮众蔑术同胡卫冲衮袅里补装里制复裈袆裤裢褛亵幞裥裥袯袄裣裆褴袜摆衬袭襕核见觃规觅视觇觋Line truncated
|
||||
|
||||
/**
|
||||
* 繁体字
|
||||
* @const
|
||||
*/
|
||||
var T = '㑯㑳㑶㓨㘔㘚㜄㜏㠏㥮㩜㩳㩵䁻䊷䋙䋚䋹䋻䍦䎱䙡䜀䝼䥇䥱䦛䦟䯀䰾䱷䱽䲁䲘䴉丟並亂亙亞佇佈佔併來侖侶侷俁係俔俠俥俬倀倆倈倉個們倖倫倲偉偑側偵偽傌傑傖傘備傢傭傯傳傴債傷傾僂僅僉僑僕僞僥僨僱價儀儁儂億儈儉儎儐儔儕儘償優儲儷儸儺儻儼兇兌兒兗內兩冊冑冪凈凍凜凱別刪剄則剋剎剗剛剝剮剴創剷劃劇劉劊劌劍劏劑劚勁動務勛勝勞勢勩勱勳勵勸勻匭匯匱區協卹卻卽厙厠厤厭厲厴參叄叢吒吳吶呂咼員唄唚唸問啓啞啟啢喎喚喪喫喬單喲嗆嗇嗊嗎嗚嗩嗶嘆嘍嘓嘔嘖嘗嘜嘩嘮嘯嘰嘵嘸嘽噁噓噚噝噠噥噦噯噲噴噸噹嚀嚇嚌嚐嚕嚙嚥嚦嚨嚮嚲嚳嚴嚶囀囁囂囅囈囉囌囑囪圇國圍園圓圖團垵埡埰執堅堊堖堝堯報場塊塋塏塒塗塚塢塤塵塹墊墜墮墰墳墶墻墾壇壋壎壓壘壙壚壜壞壟壠壢壩壪壯壺壼壽夠夢夥夾奐奧奩奪奬奮奼妝姍姦娛婁婦婭媧媯媰媼媽嫋嫗嫵嫺嫻嫿嬀嬃嬈嬋嬌嬙嬡嬤嬪嬰嬸孃孋孌孫學孿宮寀寢實寧審寫寬寵寶將專尋對導尷屆屍屓屜屢層屨屬岡峯峴島峽崍崑崗崙崢崬嵐嵗嵾嶁嶄嶇嶔嶗嶠嶢嶧嶨嶮嶴嶸嶺嶼嶽巋巒巔巖巰巹帥師帳帶幀幃幓幗幘幟幣幫幬幹幾庫廁廂廄廈廎廕廚廝廟廠廡廢廣廩廬廳弒弔弳張強彆彈彌彎彔彙彞彠彥彫彲彿後徑從徠復徹恆恥悅悞悵悶悽惡惱惲惻愛愜愨愴愷愾慄態慍慘慚慟慣慤慪慫慮慳慶慺慼慾憂憊憐憑憒憖憚憤憫憮憲憶懇應懌懍懞懟懣懤懨懲懶懷懸懺懼懾戀戇戔戧戩戰戱戲戶拋挩挱挾捨捫捱捲掃掄掆掗掙掛採揀揚換揮揯損搖搗搵搶摑摜摟摯摳摶摺摻撈撏撐撓撝撟撣撥撫撲撳撻撾撿擁擄擇擊擋擓擔據擠擡擣擬擯擰擱擲擴擷擺擻擼擽擾攄攆攏攔攖攙攛攜攝攢攣攤攪攬敎敓敗敘敵數斂斃斆斕斬斷於旂旣昇時晉晝暈暉暘暢暫曄曆曇曉曏曖曠曨曬書會朧朮東杴枴柵柺査桿梔梘條梟梲棄棊棖棗棟棡棧棲棶椏椲楊楓楨業極榘榦榪榮榲榿構槍槓槤槧槨槮槳槶槼樁樂樅樑樓標樞樢樣樧樫樳樸樹樺樿橈橋機橢橫檁檉檔檜檟檢檣檮檯檳檸檻櫃櫓櫚櫛櫝櫞櫟櫥櫧櫨櫪櫫櫬櫱櫳櫸櫺櫻欄欅權欏欒欖欞欽歎歐歟歡歲歷歸歿殘殞殤殨殫殭殮殯殰殲殺殻殼毀毆毿氂氈氌氣氫氬氳氾汎汙決沒沖況泝洩洶浹涇涗涼淒淚淥淨淩淪淵淶淺渙減渢渦測渾湊湞湧湯溈準溝溫溮溳溼滄滅滌滎滙滬滯滲滷滸滻滾滿漁漊漚漢漣漬漲漵漸漿潁潑潔潙潚潛潤潯潰潷潿澀澆澇澐澗澠澤澦澩澮澱澾濁濃濄濕濘濚濛濜濟濤濧濫濰濱濺濼濾瀂瀅瀆瀇瀉瀋瀏瀕瀘瀝瀟瀠瀦瀧瀨瀰瀲瀾灃灄灑灕灘灝灡灣灤灧灩災為烏烴無煉煒煙煢煥煩煬煱熅熒熗熱熲熾燁燈燉燒燙燜營燦燬燭燴燶燻燼燾爍爐爛爭爲爺爾牀牆牘牽犖犛犢犧狀狹狽猙猶猻獁獃獄獅獎獨獪獫獮獰獱獲獵獷獸獺獻獼玀現琱琺琿瑋瑒瑣瑤瑩瑪瑲璉璡璣璦璫璯環璵璸璽瓊瓏瓔瓚甌甕產産甦甯畝畢畫異畵當疇疊痙痠痾瘂瘋瘍瘓瘞瘡瘧瘮瘲瘺瘻療癆癇癉癒癘癟癡癢癤癥癧癩癬癭癮癰癱癲發皁皚皰皸皺盃盜盞盡監盤盧盪眞眥眾睏睜睞睪瞘瞜瞞瞶瞼矇矓矚矯硃硜硤硨硯碕碩碭碸確碼碽磑磚磠磣磧磯磽磾礄礆礎礙礦礪礫礬礱祕祿禍禎禕禡禦禪禮禰禱禿秈稅稈稏稜稟種稱穀穇穌積穎穠穡穢穩穫穭窩窪窮窯窵窶窺竄竅竇竈竊竪競筆筍筧筴箇箋箏節範築篋篔篠篤篩篳簀簍簑簞簡簣簫簹簽簾籃籌籔籙籛籜籟籠籤籩籪籬籮籲粵糉糝糞糧糰糲糴糶糹糾紀紂約紅紆紇紈紉紋納紐紓純紕紖紗紘紙級紛紜紝紡紬紮細紱紲紳紵紹紺紼紿絀終絃組絅絆絎結絕絛絝絞絡絢給絨絰統絲絳絶絹綁綃綆綈綉綌綏綐綑經綜綞綠綢綣綫綬維綯綰綱網綳綴綵綸綹綺綻綽綾綿緄緇緊緋緑緒緓緔緗緘緙線緝緞締緡緣緦編緩緬緯緱緲練緶緹緻緼縈縉縊縋縐縑縕縗縛縝縞縟縣縧縫縭縮縱縲縳縴縵縶縷縹總績繃繅繆繐繒織繕繚繞繡繢繩繪繫繭繮繯繰繳繸繹繼繽繾繿纇纈纊續纍纏纓纔纖纘纜缽罃罈罌罎罰罵罷羅羆羈羋羣羥羨義羶習翬翹翽耬耮聖聞聯聰聲聳聵聶職聹聽聾肅脅脈脛脣脩脫脹腎腖腡腦腫腳腸膃膕膚膞膠膩膽膾膿臉臍臏臘臚臟臠臢臥臨臺與興舉舊舘艙艤艦艫艱艷芻苧茲荊莊莖莢莧菕華菴菸萇萊萬萴萵葉葒葤葦葯葷蒐蒓蒔蒕蒞蒼蓀蓆蓋蓮蓯蓴蓽蔔蔘蔞蔣蔥蔦蔭蕁蕆蕎蕒蕓蕕蕘蕢蕩蕪蕭蕷薀薈薊薌薑薔薘薟薦薩薳薴薵薹薺藍藎藝藥藪藭藴藶藹藺蘀蘄蘆蘇蘊蘋蘚蘞蘢蘭蘺蘿虆處虛虜號虧虯蛺蛻蜆蝕蝟蝦蝨蝸螄螞螢螮螻螿蟄蟈蟎蟣蟬蟯蟲蟶蟻蠁蠅蠆蠍蠐蠑蠔蠟蠣蠨蠱蠶蠻衆衊術衕衚衛衝袞裊裏補裝裡製複褌褘褲褳褸褻襆襇襉襏襖襝襠襤襪襬襯襲襴覈見覎規覓視覘覡Line truncated
|
||||
|
||||
/**
|
||||
* 转换文本
|
||||
* @param {String} str - 待转换的文本
|
||||
* @returns {String} - 转换结果
|
||||
*/
|
||||
function tranStr(str) {
|
||||
var i;
|
||||
var letter;
|
||||
var code;
|
||||
var isChinese;
|
||||
var index;
|
||||
var result = '';
|
||||
|
||||
if (typeof str !== "string") {
|
||||
return str;
|
||||
}
|
||||
|
||||
for (i = 0; i < str.length; i++) {
|
||||
letter = str.charAt(i);
|
||||
code = str.charCodeAt(i);
|
||||
|
||||
// 根据字符的Unicode判断是否为汉字,以提高性能
|
||||
// 参考:
|
||||
// [1] http://www.unicode.org
|
||||
// [2] http://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8
|
||||
// [3] http://xylonwang.iteye.com/blog/519552
|
||||
isChinese = (code > 0x3400 && code < 0x9FFF) || (code > 0xF900 && code < 0xFAFF);
|
||||
|
||||
if (!isChinese) {
|
||||
result += letter;
|
||||
continue;
|
||||
}
|
||||
|
||||
index = T.indexOf(letter);
|
||||
|
||||
if (index !== -1) {
|
||||
result += S.charAt(index);
|
||||
} else {
|
||||
result += letter;
|
||||
}
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换为简体或取消转换
|
||||
* 若发生转换,繁体原文备份为 element 节点上由 backupAttr 指定的属性,以备恢复为繁体
|
||||
* @param {String} original - 待转换文字,若未提供则取消上一次转换
|
||||
* @param {Element} element - 所属节点
|
||||
* @param {String} backupAttr - 用于备份繁体原文的属性名
|
||||
* @param {Function} setter - 通过参数 value 设置转换后的值
|
||||
*/
|
||||
function translateOrRestore(original, element, backupAttr, setter) {
|
||||
if (original) {
|
||||
var translated = tranStr(original);
|
||||
if (translated != original) {
|
||||
element.setAttribute(backupAttr, original);
|
||||
setter(translated);
|
||||
}
|
||||
} else if (element.hasAttribute(backupAttr)) {
|
||||
setter(element.getAttribute(backupAttr));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换HTML Element属性
|
||||
* @param {Element} element - 待转换的HTML Element节点
|
||||
* @param {String|Array} attr - 待转换的属性/属性列表
|
||||
* @param {Boolean} toT - 是否转换成繁体
|
||||
*/
|
||||
function tranAttr(element, attr, toT) {
|
||||
var i, attrValue;
|
||||
|
||||
if (attr instanceof Array) {
|
||||
for(i = 0; i < attr.length; i++) {
|
||||
tranAttr(element, attr[i], toT);
|
||||
}
|
||||
} else {
|
||||
attrValue = element.getAttribute(attr);
|
||||
if (attrValue !== "" && attrValue !== null) {
|
||||
translateOrRestore(!toT && attrValue, element, 'data-hant-' + attr, function(value) {
|
||||
element.setAttribute(attr, value);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换HTML Element节点
|
||||
* @param {Element} element - 待转换的HTML Element节点
|
||||
* @param {Boolean} toT - 是否转换成繁体
|
||||
*/
|
||||
function tranElement(element, toT) {
|
||||
var i;
|
||||
var childNodes;
|
||||
|
||||
if (element.nodeType !== 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
childNodes = element.childNodes;
|
||||
|
||||
for (i = 0; i < childNodes.length; i++) {
|
||||
var childNode = childNodes.item(i);
|
||||
|
||||
// 若为HTML Element节点
|
||||
if (childNode.nodeType === 1) {
|
||||
// 对以下标签不做处理
|
||||
if ("|BR|HR|TEXTAREA|SCRIPT|OBJECT|EMBED|".indexOf("|" + childNode.tagName + "|") !== -1) {
|
||||
continue;
|
||||
}
|
||||
|
||||
tranAttr(childNode, ['title', 'data-original-title', 'alt', 'placeholder'], toT);
|
||||
|
||||
// input 标签
|
||||
// 对text类型的input输入框不做处理
|
||||
if (childNode.tagName === "INPUT"
|
||||
&& childNode.value !== ""
|
||||
&& childNode.type !== "text"
|
||||
&& childNode.type !== "hidden")
|
||||
{
|
||||
translateOrRestore(!toT && childNode.value, childNode, 'data-hant-value', function(value) {
|
||||
childNode.value = value;
|
||||
});
|
||||
}
|
||||
|
||||
// 继续递归调用
|
||||
tranElement(childNode, toT);
|
||||
} else if (childNode.nodeType === 3) { // 若为文本节点
|
||||
// 繁体原文备份在当前节点而非子节点
|
||||
translateOrRestore(!toT && childNode.data, element, 'data-hant-text-' + i, function(value) {
|
||||
childNode.data = value;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// 扩展jQuery全局方法
|
||||
$.extend({
|
||||
/**
|
||||
* 文本繁转简
|
||||
* @param {String} str - 待转换的文本
|
||||
* @returns {String} 转换结果
|
||||
*/
|
||||
t2s: function(str) {
|
||||
return tranStr(str, false);
|
||||
}
|
||||
});
|
||||
|
||||
// 扩展jQuery对象方法
|
||||
$.fn.extend({
|
||||
/**
|
||||
* jQuery Objects简转繁
|
||||
* @this {jQuery Objects} 待转换的jQuery Objects
|
||||
*/
|
||||
s2t: function() {
|
||||
return this.each(function() {
|
||||
tranElement(this, true);
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* jQuery Objects繁转简
|
||||
* @this {jQuery Objects} 待转换的jQuery Objects
|
||||
*/
|
||||
t2s: function() {
|
||||
return this.each(function() {
|
||||
tranElement(this, false);
|
||||
});
|
||||
}
|
||||
});
|
||||
}) (jQuery);
|
||||
Reference in new issue
Block a user