generated at
特定のリンクにアイコンをつけるUserCSSを自動生成したい
共通設定の書き換えとかテンプレートのコピペとかが面倒なので、できるだけ少ない手間で設定できるようにしたい
CSSの生成はTypeScriptとGoogleスプレッドシートでやったことがあるMijinko_SD
とりあえず今回はTypeScriptで
これ、 install deno の手間と、ソースコードを読み解く手間が増えてるのでは?Summer498
あとエラー対応の手間
error
$ deno run --allow-run --reload https://scrapbox.io/api/code/villagepump/特定のリンクに アイコンをつけるUserCSSを自動生成したい/script.ts error: Uncaught NotFound: No such file or directory (os error 2) const process = await Deno.run({ ^ at opRun (ext:runtime/40_process.js:46:14) at Object.run (ext:runtime/40_process.js:132:15) at write (https://deno.land/x/copy_paste@v1.1.3/mod.ts:29:30) at writeText (https://deno.land/x/copy_paste@v1.1.3/mod.ts:48:16) at https://scrapbox.io/api/code/villagepump/%E7%89%B9%E5%AE%9A%E3%81%AE%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AB%E3%82%A2%E3%82%A4%E3%82%B3%E3%83%B3%E3%82%92%E3%81%A4%E3%81%91%E3%82%8BUserCSS%E3%82%92%E8%87%AA%E5%8B%95%E7%94%9F%E6%88%90%E3%81%97%E3%81%9F%E3%81%84/script.ts:104:7
Ubuntu の CLI で動かしてみたのがまずかったかな
いやでもそれ以外に deno run が動く環境知らんしな
目的は YouTube リンクにアイコンを付けることなんで、誰か後をよろしくお願いします

作ったMijinko_SD
ついでに外部リンクを区別するUserCSSも生成するようにした
アイコンの追加は楽になった反面、共通で使っているスタイルの編集(特にセレクタ)はだるくなった

サンプル
除外するの忘れてたMijinko_SD

更新履歴
2023/01/17 20:35:24 ✅️リンクを出典アイコンにするUserCSSでリンクをクリックできない問題があるので、アイコンをマウスホバーしてもカーソルが👆にならないようにした
2023/01/17 20:41:40 ツイートのリンクの後ろにもアイコンが付いていたのを修正

スタイル設定用のファイル
$ deno run --allow-run --reload https://scrapbox.io/api/code/villagepump/特定のリンクにアイコンをつけるUserCSSを自動生成したい/script.ts
クリップボードにCSSを保存する仕様の為(正確にはiuioiua/deno_copy_pasteが要求してくる為)--allow-runが必要になる
不安なら使わないほうが良さげMijinko_SD
externalLinks に設定を書き込むと反映される
script.ts
/// <reference no-default-lib="true" /> /// <reference lib="esnext" /> import { Style, toCSSText, writeText } from "./deps.ts"; import { generateExternalLinkStyle, generateLinkIconStyle, LinkInit, } from "./stylesheetGenerator.ts"; /** * CSSの生成に使用するオブジェクト */ const externalLinks: LinkInit[] = [{ // PDF url: { url: ".pdf", selectorSyntax: "$=", }, style: { "content": "'\\f1c1'", "font-weight": 400, /* use Regular Style */ "margin-right": "1px", }, }, { // GitHub url: [ "https://github.com", "https://raw.githubusercontent.com", "https://gist.github.com", ], style: { "content": "'\\f09b'", "font-weight": 400, "margin-right": "1px", }, }, { // Wikipedia url: [ "https://ja.wikipedia.org", "https://en.wikipedia.org", ], style: { "content": "'\\f266'", "font-weight": 400, "margin-right": "3px", }, }, { // Amazon url: [ "https://www.amazon.co.jp", "https://amazon.co.jp", ], style: { "content": "'\\f270'", "font-weight": 400, "margin-right": "1px", }, }, { // Twitter url: [ "https://twitter.com" ], style: {} // 標準でアイコンがあるので不要 }, { // YouTube url: [ "https:www.youtube.com", "https:youtube.com", ], style: { "content": "'\\f167'", "font-weight": 400, "margin-right": "1px" } }]; /** * [特定のリンクにアイコンをつけるUserCSS#26a3f9](https://scrapbox.io/villagepump/特定のリンクにアイコンをつけるUserCSS#61ffa1ce1280f0000026a3f9) * を実装するためのやつ */ const extraStyle: Style = { [ ".line .deco-\\. a.link:is(" + '[href^="https://ja.wikipedia.org"],' + '[href^="https://en.wikipedia.org"],' + ") span.char-index" ]: { "display": "inline-block", "width": 0, "text-indent": "-9999px", "&:nth-of-type(30) ~ span.char-index": { "display": "inherit", "width": "inherit", "text-indent": "inherit", }, }, }; const elStyle: Style = generateExternalLinkStyle(externalLinks); const liStyle: Style = generateLinkIconStyle(externalLinks); await writeText(toCSSText({ ...elStyle, ...liStyle, ...extraStyle }));

.cssから変換した時のメモ
property: value; "property": "value", に変換するやつ
正規表現: ^(\s*)(.+):\s*(.*)\s*;.*$
置換文字: $1"$2": "$3",
この他に、 content プロパティの値の \ をエスケープする必要がある
\ -> \\

CSS生成用のファイル
stylesheetGenerator.ts
/// <reference no-default-lib="true" /> /// <reference lib="esnext" /> import { Style } from "./deps.ts"; interface ChildStyle { [K: string]: string | number | ChildStyle; } export type AttributeSelectorOperator = "^=" | "=" | "$=" | "*=" | "~=" | "|="; export interface URLInit { url: string; /** * 属性セレクタに使用する演算子 * 指定しない場合は`^=`が用いられる */ selectorSyntax: AttributeSelectorOperator; } export interface LinkInit { url: string | URLInit | (string | URLInit)[]; style: ChildStyle; } /** * 外部リンクを区別するUserCSSを生成する関数 */ export function generateExternalLinkStyle(links: LinkInit[]): Style { const urls = getURLFromLinkInit(links); const selector = ".line span:not(.modal-image):not(.pointing-device-map) > a.link:not(.icon):not(:is(" + urls.reduce( (pre, crt) => `${pre}[href${crt.selectorSyntax}"${crt.url}"],`, "", ) + "))::after"; const style: Style = { [selector]: { "font-family": "'Font Awesome 5 Free', 'Font Awesome 5 Brands'", "font-weight": "900", "font-size": "0.8rem", "content": "'\\f35d'", "display": "inline-block", "cursor": "text", }, }; return style; } /** * 特定のリンクにアイコンをつけるUserCSSを生成する関数 */ export function generateLinkIconStyle(links: LinkInit[]): Style { const allURLs = getURLFromLinkInit(links); const baseSelector = ".line span:not(.deco-\\.) > span > a.link:is(" + allURLs.reduce( (pre, crt) => `${pre}[href${crt.selectorSyntax}"${crt.url}"],`, "", ) + ")::before"; /** 先頭にアイコンを付けるための共通のスタイル */ const baseStyle: Style = { [baseSelector]: { "display": "inline-block", "width": "1em", "height": "1em", "vertical-align": "-1px", "text-align": "center", "background-size": "contain", "background-repeat": "no-repeat", "cursor": "text", }, }; const individualStyle: Style = {}; for (const link of links) { const urls = getURLFromLinkInit([link]); const selector = ":is(.line, .line .deco) a.link:is(" + urls.reduce( (pre, crt) => `${pre}[href${crt.selectorSyntax}"${crt.url}"],`, "", ) + ")::before"; individualStyle[selector] = link.style; } return { ...baseStyle, ...individualStyle }; } /** * LinkInitの配列からURLを取り出す * @param {LinkInit[]} links 取り出し元のオブジェクト * @param {AttributeSelectorOperator} [defaultOperator="^="] selectorSyntaxが指定されていなかった際に使用するデフォルト値 * @return {URLInit[]} */ function getURLFromLinkInit( links: LinkInit[], defaultOperator: AttributeSelectorOperator = "^=", ): URLInit[] { const resultURLs: URLInit[] = []; for (const link of links) { if (Array.isArray(link.url)) { for (const url of link.url) { if (typeof url === "string") { resultURLs.push({ url: url, selectorSyntax: defaultOperator }); } else { resultURLs.push(url); } } } else { const url = link.url; if (typeof url === "string") { resultURLs.push({ url: url, selectorSyntax: defaultOperator }); } else { resultURLs.push(url); } } } return resultURLs; }

依存関係をまとめたやつ
deps.ts
// CSSテキストを生成するのに使う export { toCSSText, } from "https://scrapbox.io/api/code/Mijinko/SCSSっぽい連想配列からCSSを生成するTypeScript関数/style.ts"; export type { Style, } from "https://scrapbox.io/api/code/Mijinko/SCSSっぽい連想配列からCSSを生成するTypeScript関数/style.ts"; // クリップボードにコピーするやつ export { writeText } from "https://deno.land/x/copy_paste@v1.1.3/mod.ts";

生成後のCSS
$ https://scrapbox.io/api/code/villagepump/特定のリンクにアイコンをつけるUserCSSを自動生成したい/style.css
style.css
.line span:not(.modal-image):not(.pointing-device-map)>a.link:not(.icon):not(:is([href$=".pdf"], [href^="https://github.com"], [href^="https://raw.githubusercontent.com"], [href^="https://gist.github.com"], [href^="https://ja.wikipedia.org"], [href^="https://en.wikipedia.org"], [href^="https://www.amazon.co.jp"], [href^="https://amazon.co.jp"], [href^="https://twitter.com"], ))::after { font-family: 'Font Awesome 5 Free', 'Font Awesome 5 Brands'; font-weight: 900; font-size: 0.8rem; content: '\f35d'; display: inline-block; cursor: text; } .line span:not(.deco-\.)>span>a.link:is([href$=".pdf"], [href^="https://github.com"], [href^="https://raw.githubusercontent.com"], [href^="https://gist.github.com"], [href^="https://ja.wikipedia.org"], [href^="https://en.wikipedia.org"], [href^="https://www.amazon.co.jp"], [href^="https://amazon.co.jp"], [href^="https://twitter.com"], )::before { display: inline-block; width: 1em; height: 1em; vertical-align: -1px; text-align: center; background-size: contain; background-repeat: no-repeat; cursor: text; } :is(.line, .line .deco) a.link:is([href$=".pdf"], )::before { content: '\f1c1'; font-weight: 400; margin-right: 1px; } :is(.line, .line .deco) a.link:is([href^="https://github.com"], [href^="https://raw.githubusercontent.com"], [href^="https://gist.github.com"], )::before { content: '\f09b'; font-weight: 400; margin-right: 1px; } :is(.line, .line .deco) a.link:is([href^="https://ja.wikipedia.org"], [href^="https://en.wikipedia.org"], )::before { content: '\f266'; font-weight: 400; margin-right: 3px; } :is(.line, .line .deco) a.link:is([href^="https://www.amazon.co.jp"], [href^="https://amazon.co.jp"], )::before { content: '\f270'; font-weight: 400; margin-right: 1px; } .line .deco-\. a.link:is( [href^="https://en.wikipedia.org"], [href^="https://www.wikipedia.org"], [href^="https://en.m.wikipedia.org"], [href^="https://fr.wikipedia.org"], [href^="https://fr.m.wikipedia.org"], [href^="https://de.wikipedia.org"], [href^="https://de.m.wikipedia.org"], [href^="https://es.wikipedia.org"], [href^="https://es.m.wikipedia.org"], [href^="https://ja.wikipedia.org"], [href^="https://ja.m.wikipedia.org"], [href^="https://ru.wikipedia.org"], [href^="https://ru.m.wikipedia.org"], [href^="https://it.wikipedia.org"], [href^="https://it.m.wikipedia.org"], [href^="https://zh.wikipedia.org"], [href^="https://zh.m.wikipedia.org"], [href^="https://pt.wikipedia.org"], [href^="https://pt.m.wikipedia.org"], [href^="https://ar.wikipedia.org"], [href^="https://ar.m.wikipedia.org"], [href^="https://fa.wikipedia.org"], [href^="https://fa.m.wikipedia.org"], [href^="https://pl.wikipedia.org"], [href^="https://pl.m.wikipedia.org"], [href^="https://nl.wikipedia.org"], [href^="https://nl.m.wikipedia.org"], [href^="https://id.wikipedia.org"], [href^="https://id.m.wikipedia.org"], [href^="https://uk.wikipedia.org"], [href^="https://uk.m.wikipedia.org"], [href^="https://he.wikipedia.org"], [href^="https://he.m.wikipedia.org"], [href^="https://sv.wikipedia.org"], [href^="https://sv.m.wikipedia.org"], [href^="https://cs.wikipedia.org"], [href^="https://cs.m.wikipedia.org"], [href^="https://ko.wikipedia.org"], [href^="https://ko.m.wikipedia.org"], [href^="https://vi.wikipedia.org"], [href^="https://vi.m.wikipedia.org"], [href^="https://war.wikipedia.org"], [href^="https://war.m.wikipedia.org"], [href^="https://ceb.wikipedia.org"], [href^="https://ceb.m.wikipedia.org"], [href^="https://ca.wikipedia.org"], [href^="https://ca.m.wikipedia.org"], [href^="https://no.wikipedia.org"], [href^="https://no.m.wikipedia.org"], [href^="https://fi.wikipedia.org"], [href^="https://fi.m.wikipedia.org"], [href^="https://hu.wikipedia.org"], [href^="https://hu.m.wikipedia.org"], [href^="https://tr.wikipedia.org"], [href^="https://tr.m.wikipedia.org"], [href^="https://ro.wikipedia.org"], [href^="https://ro.m.wikipedia.org"], [href^="https://sw.wikipedia.org"], [href^="https://sw.m.wikipedia.org"], [href^="https://kk.wikipedia.org"], [href^="https://kk.m.wikipedia.org"], [href^="https://da.wikipedia.org"], [href^="https://da.m.wikipedia.org"], [href^="https://zh-min-nan.wikipedia.org"], [href^="https://zh-min-nan.m.wikipedia.org"], [href^="https://eo.wikipedia.org"], [href^="https://eo.m.wikipedia.org"], [href^="https://sr.wikipedia.org"], [href^="https://sr.m.wikipedia.org"], [href^="https://lt.wikipedia.org"], [href^="https://lt.m.wikipedia.org"], [href^="https://vo.wikipedia.org"], [href^="https://vo.m.wikipedia.org"], [href^="https://sk.wikipedia.org"], [href^="https://sk.m.wikipedia.org"], [href^="https://bg.wikipedia.org"], [href^="https://bg.m.wikipedia.org"], [href^="https://min.wikipedia.org"], [href^="https://min.m.wikipedia.org"], [href^="https://sl.wikipedia.org"], [href^="https://sl.m.wikipedia.org"], [href^="https://eu.wikipedia.org"], [href^="https://eu.m.wikipedia.org"], [href^="https://et.wikipedia.org"], [href^="https://et.m.wikipedia.org"], [href^="https://hr.wikipedia.org"], [href^="https://hr.m.wikipedia.org"], [href^="https://ms.wikipedia.org"], [href^="https://ms.m.wikipedia.org"], [href^="https://el.wikipedia.org"], [href^="https://el.m.wikipedia.org"], [href^="https://arz.wikipedia.org"], [href^="https://arz.m.wikipedia.org"], [href^="https://ur.wikipedia.org"], [href^="https://ur.m.wikipedia.org"], [href^="https://th.wikipedia.org"], [href^="https://th.m.wikipedia.org"], [href^="https://hi.wikipedia.org"], [href^="https://hi.m.wikipedia.org"], [href^="https://ta.wikipedia.org"], [href^="https://ta.m.wikipedia.org"], [href^="https://bn.wikipedia.org"], [href^="https://bn.m.wikipedia.org"], [href^="https://lmo.wikipedia.org"], [href^="https://lmo.m.wikipedia.org"], [href^="https://te.wikipedia.org"], [href^="https://te.m.wikipedia.org"], [href^="https://nn.wikipedia.org"], [href^="https://nn.m.wikipedia.org"], [href^="https://gl.wikipedia.org"], [href^="https://gl.m.wikipedia.org"], [href^="https://az.wikipedia.org"], [href^="https://az.m.wikipedia.org"], [href^="https://simple.wikipedia.org"], [href^="https://simple.m.wikipedia.org"], [href^="https://af.wikipedia.org"], [href^="https://af.m.wikipedia.org"], [href^="https://ht.wikipedia.org"], [href^="https://ht.m.wikipedia.org"], [href^="https://bs.wikipedia.org"], [href^="https://bs.m.wikipedia.org"], [href^="https://be.wikipedia.org"], [href^="https://be.m.wikipedia.org"], [href^="https://lb.wikipedia.org"], [href^="https://lb.m.wikipedia.org"], [href^="https://ml.wikipedia.org"], [href^="https://ml.m.wikipedia.org"], [href^="https://ka.wikipedia.org"], [href^="https://ka.m.wikipedia.org"], [href^="https://is.wikipedia.org"], [href^="https://is.m.wikipedia.org"], [href^="https://sq.wikipedia.org"], [href^="https://sq.m.wikipedia.org"], [href^="https://uz.wikipedia.org"], [href^="https://uz.m.wikipedia.org"], [href^="https://la.wikipedia.org"], [href^="https://la.m.wikipedia.org"], [href^="https://br.wikipedia.org"], [href^="https://br.m.wikipedia.org"], [href^="https://mk.wikipedia.org"], [href^="https://mk.m.wikipedia.org"], [href^="https://lv.wikipedia.org"], [href^="https://lv.m.wikipedia.org"], [href^="https://azb.wikipedia.org"], [href^="https://azb.m.wikipedia.org"], [href^="https://mr.wikipedia.org"], [href^="https://mr.m.wikipedia.org"], [href^="https://gu.wikipedia.org"], [href^="https://gu.m.wikipedia.org"], [href^="https://sh.wikipedia.org"], [href^="https://sh.m.wikipedia.org"], [href^="https://tg.wikipedia.org"], [href^="https://tg.m.wikipedia.org"], [href^="https://tl.wikipedia.org"], [href^="https://tl.m.wikipedia.org"], [href^="https://cy.wikipedia.org"], [href^="https://cy.m.wikipedia.org"], [href^="https://sco.wikipedia.org"], [href^="https://sco.m.wikipedia.org"], [href^="https://ku.wikipedia.org"], [href^="https://ku.m.wikipedia.org"], [href^="https://ckb.wikipedia.org"], [href^="https://ckb.m.wikipedia.org"], [href^="https://ast.wikipedia.org"], [href^="https://ast.m.wikipedia.org"], [href^="https://new.wikipedia.org"], [href^="https://new.m.wikipedia.org"], [href^="https://bpy.wikipedia.org"], [href^="https://bpy.m.wikipedia.org"], [href^="https://nds.wikipedia.org"], [href^="https://nds.m.wikipedia.org"], [href^="https://io.wikipedia.org"], [href^="https://io.m.wikipedia.org"], [href^="https://pms.wikipedia.org"], [href^="https://pms.m.wikipedia.org"], [href^="https://su.wikipedia.org"], [href^="https://su.m.wikipedia.org"], [href^="https://oc.wikipedia.org"], [href^="https://oc.m.wikipedia.org"], [href^="https://jv.wikipedia.org"], [href^="https://jv.m.wikipedia.org"], [href^="https://nap.wikipedia.org"], [href^="https://nap.m.wikipedia.org"], [href^="https://ba.wikipedia.org"], [href^="https://ba.m.wikipedia.org"], [href^="https://scn.wikipedia.org"], [href^="https://scn.m.wikipedia.org"], [href^="https://wa.wikipedia.org"], [href^="https://wa.m.wikipedia.org"], [href^="https://bar.wikipedia.org"], [href^="https://bar.m.wikipedia.org"], [href^="https://be-tarask.wikipedia.org"], [href^="https://be-tarask.m.wikipedia.org"], [href^="https://an.wikipedia.org"], [href^="https://an.m.wikipedia.org"], [href^="https://ksh.wikipedia.org"], [href^="https://ksh.m.wikipedia.org"], [href^="https://szl.wikipedia.org"], [href^="https://szl.m.wikipedia.org"], [href^="https://fy.wikipedia.org"], [href^="https://fy.m.wikipedia.org"], [href^="https://frr.wikipedia.org"], [href^="https://frr.m.wikipedia.org"], [href^="https://zh-yue.wikipedia.org"], [href^="https://zh-yue.m.wikipedia.org"], [href^="https://als.wikipedia.org"], [href^="https://als.m.wikipedia.org"], [href^="https://ia.wikipedia.org"], [href^="https://ia.m.wikipedia.org"], [href^="https://ga.wikipedia.org"], [href^="https://ga.m.wikipedia.org"], [href^="https://yi.wikipedia.org"], [href^="https://yi.m.wikipedia.org"], [href^="https://hy.wikipedia.org"], [href^="https://hy.m.wikipedia.org"], [href^="https://mg.wikipedia.org"], [href^="https://mg.m.wikipedia.org"], [href^="https://gd.wikipedia.org"], [href^="https://gd.m.wikipedia.org"], [href^="https://vec.wikipedia.org"], [href^="https://vec.m.wikipedia.org"], [href^="https://ce.wikipedia.org"], [href^="https://ce.m.wikipedia.org"], [href^="https://pa.wikipedia.org"], [href^="https://pa.m.wikipedia.org"], [href^="https://sa.wikipedia.org"], [href^="https://sa.m.wikipedia.org"], [href^="https://mai.wikipedia.org"], [href^="https://mai.m.wikipedia.org"], [href^="https://xmf.wikipedia.org"], [href^="https://xmf.m.wikipedia.org"], [href^="https://sd.wikipedia.org"], [href^="https://sd.m.wikipedia.org"], [href^="https://wuu.wikipedia.org"], [href^="https://wuu.m.wikipedia.org"], [href^="https://as.wikipedia.org"], [href^="https://as.m.wikipedia.org"], [href^="https://mrj.wikipedia.org"], [href^="https://mrj.m.wikipedia.org"], [href^="https://mhr.wikipedia.org"], [href^="https://mhr.m.wikipedia.org"], [href^="https://km.wikipedia.org"], [href^="https://km.m.wikipedia.org"], [href^="https://roa-tara.wikipedia.org"], [href^="https://roa-tara.m.wikipedia.org"], [href^="https://am.wikipedia.org"], [href^="https://am.m.wikipedia.org"], [href^="https://roa-rup.wikipedia.org"], [href^="https://roa-rup.m.wikipedia.org"], [href^="https://map-bms.wikipedia.org"], [href^="https://map-bms.m.wikipedia.org"], [href^="https://bh.wikipedia.org"], [href^="https://bh.m.wikipedia.org"], [href^="https://my.wikipedia.org"], [href^="https://my.m.wikipedia.org"], [href^="https://bcl.wikipedia.org"], [href^="https://bcl.m.wikipedia.org"], [href^="https://co.wikipedia.org"], [href^="https://co.m.wikipedia.org"], [href^="https://cv.wikipedia.org"], [href^="https://cv.m.wikipedia.org"], [href^="https://dv.wikipedia.org"], [href^="https://dv.m.wikipedia.org"], [href^="https://nds-nl.wikipedia.org"], [href^="https://nds-nl.m.wikipedia.org"], [href^="https://fo.wikipedia.org"], [href^="https://fo.m.wikipedia.org"], [href^="https://hif.wikipedia.org"], [href^="https://hif.m.wikipedia.org"], [href^="https://fur.wikipedia.org"], [href^="https://fur.m.wikipedia.org"], [href^="https://gan.wikipedia.org"], [href^="https://gan.m.wikipedia.org"], [href^="https://glk.wikipedia.org"], [href^="https://glk.m.wikipedia.org"], [href^="https://<!--重複.wikipedia.org"], [href^="https://<!--重複.m.wikipedia.org"], [href^="https://gu.wikipedia.org"], [href^="https://gu.m.wikipedia.org"], [href^="https://-->.wikipedia.org"], [href^="https://-->.m.wikipedia.org"], [href^="https://hak.wikipedia.org"], [href^="https://hak.m.wikipedia.org"], [href^="https://ilo.wikipedia.org"], [href^="https://ilo.m.wikipedia.org"], [href^="https://kn.wikipedia.org"], [href^="https://kn.m.wikipedia.org"], [href^="https://pam.wikipedia.org"], [href^="https://pam.m.wikipedia.org"], [href^="https://csb.wikipedia.org"], [href^="https://csb.m.wikipedia.org"], [href^="https://avk.wikipedia.org"], [href^="https://avk.m.wikipedia.org"], [href^="https://lij.wikipedia.org"], [href^="https://lij.m.wikipedia.org"], [href^="https://li.wikipedia.org"], [href^="https://li.m.wikipedia.org"], [href^="https://gv.wikipedia.org"], [href^="https://gv.m.wikipedia.org"], [href^="https://mi.wikipedia.org"], [href^="https://mi.m.wikipedia.org"], [href^="https://mt.wikipedia.org"], [href^="https://mt.m.wikipedia.org"], [href^="https://nah.wikipedia.org"], [href^="https://nah.m.wikipedia.org"], [href^="https://ne.wikipedia.org"], [href^="https://ne.m.wikipedia.org"], [href^="https://nrm.wikipedia.org"], [href^="https://nrm.m.wikipedia.org"], [href^="https://se.wikipedia.org"], [href^="https://se.m.wikipedia.org"], [href^="https://nov.wikipedia.org"], [href^="https://nov.m.wikipedia.org"], [href^="https://qu.wikipedia.org"], [href^="https://qu.m.wikipedia.org"], [href^="https://os.wikipedia.org"], [href^="https://os.m.wikipedia.org"], [href^="https://pi.wikipedia.org"], [href^="https://pi.m.wikipedia.org"], [href^="https://pag.wikipedia.org"], [href^="https://pag.m.wikipedia.org"], [href^="https://ps.wikipedia.org"], [href^="https://ps.m.wikipedia.org"], [href^="https://pdc.wikipedia.org"], [href^="https://pdc.m.wikipedia.org"], [href^="https://rm.wikipedia.org"], [href^="https://rm.m.wikipedia.org"], [href^="https://bat-smg.wikipedia.org"], [href^="https://bat-smg.m.wikipedia.org"], [href^="https://sc.wikipedia.org"], [href^="https://sc.m.wikipedia.org"], [href^="https://si.wikipedia.org"], [href^="https://si.m.wikipedia.org"], [href^="https://tt.wikipedia.org"], [href^="https://tt.m.wikipedia.org"], [href^="https://to.wikipedia.org"], [href^="https://to.m.wikipedia.org"], [href^="https://tk.wikipedia.org"], [href^="https://tk.m.wikipedia.org"], [href^="https://hsb.wikipedia.org"], [href^="https://hsb.m.wikipedia.org"], [href^="https://fiu-vro.wikipedia.org"], [href^="https://fiu-vro.m.wikipedia.org"], [href^="https://vls.wikipedia.org"], [href^="https://vls.m.wikipedia.org"], [href^="https://yo.wikipedia.org"], [href^="https://yo.m.wikipedia.org"], [href^="https://diq.wikipedia.org"], [href^="https://diq.m.wikipedia.org"], [href^="https://zh-classical.wikipedia.org"], [href^="https://zh-classical.m.wikipedia.org"], [href^="https://frp.wikipedia.org"], [href^="https://frp.m.wikipedia.org"], [href^="https://lad.wikipedia.org"], [href^="https://lad.m.wikipedia.org"], [href^="https://kw.wikipedia.org"], [href^="https://kw.m.wikipedia.org"], [href^="https://mn.wikipedia.org"], [href^="https://mn.m.wikipedia.org"], [href^="https://haw.wikipedia.org"], [href^="https://haw.m.wikipedia.org"], [href^="https://ang.wikipedia.org"], [href^="https://ang.m.wikipedia.org"], [href^="https://ln.wikipedia.org"], [href^="https://ln.m.wikipedia.org"], [href^="https://ie.wikipedia.org"], [href^="https://ie.m.wikipedia.org"], [href^="https://wo.wikipedia.org"], [href^="https://wo.m.wikipedia.org"], [href^="https://tpi.wikipedia.org"], [href^="https://tpi.m.wikipedia.org"], [href^="https://ty.wikipedia.org"], [href^="https://ty.m.wikipedia.org"], [href^="https://crh.wikipedia.org"], [href^="https://crh.m.wikipedia.org"], [href^="https://nv.wikipedia.org"], [href^="https://nv.m.wikipedia.org"], [href^="https://jbo.wikipedia.org"], [href^="https://jbo.m.wikipedia.org"], [href^="https://ay.wikipedia.org"], [href^="https://ay.m.wikipedia.org"], [href^="https://pcd.wikipedia.org"], [href^="https://pcd.m.wikipedia.org"], [href^="https://zea.wikipedia.org"], [href^="https://zea.m.wikipedia.org"], [href^="https://eml.wikipedia.org"], [href^="https://eml.m.wikipedia.org"], [href^="https://ky.wikipedia.org"], [href^="https://ky.m.wikipedia.org"], [href^="https://ig.wikipedia.org"], [href^="https://ig.m.wikipedia.org"], [href^="https://or.wikipedia.org"], [href^="https://or.m.wikipedia.org"], [href^="https://cbk-zam.wikipedia.org"], [href^="https://cbk-zam.m.wikipedia.org"], [href^="https://kg.wikipedia.org"], [href^="https://kg.m.wikipedia.org"], [href^="https://arc.wikipedia.org"], [href^="https://arc.m.wikipedia.org"], [href^="https://rmy.wikipedia.org"], [href^="https://rmy.m.wikipedia.org"], [href^="https://ab.wikipedia.org"], [href^="https://ab.m.wikipedia.org"], [href^="https://gn.wikipedia.org"], [href^="https://gn.m.wikipedia.org"], [href^="https://so.wikipedia.org"], [href^="https://so.m.wikipedia.org"], [href^="https://kab.wikipedia.org"], [href^="https://kab.m.wikipedia.org"], [href^="https://ug.wikipedia.org"], [href^="https://ug.m.wikipedia.org"], [href^="https://stq.wikipedia.org"], [href^="https://stq.m.wikipedia.org"], [href^="https://ha.wikipedia.org"], [href^="https://ha.m.wikipedia.org"], [href^="https://udm.wikipedia.org"], [href^="https://udm.m.wikipedia.org"], [href^="https://ext.wikipedia.org"], [href^="https://ext.m.wikipedia.org"], [href^="https://mzn.wikipedia.org"], [href^="https://mzn.m.wikipedia.org"], [href^="https://pap.wikipedia.org"], [href^="https://pap.m.wikipedia.org"], [href^="https://cu.wikipedia.org"], [href^="https://cu.m.wikipedia.org"], [href^="https://sah.wikipedia.org"], [href^="https://sah.m.wikipedia.org"], [href^="https://tet.wikipedia.org"], [href^="https://tet.m.wikipedia.org"], [href^="https://sn.wikipedia.org"], [href^="https://sn.m.wikipedia.org"], [href^="https://lo.wikipedia.org"], [href^="https://lo.m.wikipedia.org"], [href^="https://pnb.wikipedia.org"], [href^="https://pnb.m.wikipedia.org"], [href^="https://iu.wikipedia.org"], [href^="https://iu.m.wikipedia.org"], [href^="https://na.wikipedia.org"], [href^="https://na.m.wikipedia.org"], [href^="https://got.wikipedia.org"], [href^="https://got.m.wikipedia.org"], [href^="https://bo.wikipedia.org"], [href^="https://bo.m.wikipedia.org"], [href^="https://dsb.wikipedia.org"], [href^="https://dsb.m.wikipedia.org"], [href^="https://chr.wikipedia.org"], [href^="https://chr.m.wikipedia.org"], [href^="https://cdo.wikipedia.org"], [href^="https://cdo.m.wikipedia.org"], [href^="https://om.wikipedia.org"], [href^="https://om.m.wikipedia.org"], [href^="https://sm.wikipedia.org"], [href^="https://sm.m.wikipedia.org"], [href^="https://ee.wikipedia.org"], [href^="https://ee.m.wikipedia.org"], [href^="https://ti.wikipedia.org"], [href^="https://ti.m.wikipedia.org"], [href^="https://av.wikipedia.org"], [href^="https://av.m.wikipedia.org"], [href^="https://bm.wikipedia.org"], [href^="https://bm.m.wikipedia.org"], [href^="https://zu.wikipedia.org"], [href^="https://zu.m.wikipedia.org"], [href^="https://pnt.wikipedia.org"], [href^="https://pnt.m.wikipedia.org"], [href^="https://cr.wikipedia.org"], [href^="https://cr.m.wikipedia.org"], [href^="https://pih.wikipedia.org"], [href^="https://pih.m.wikipedia.org"], [href^="https://ss.wikipedia.org"], [href^="https://ss.m.wikipedia.org"], [href^="https://ve.wikipedia.org"], [href^="https://ve.m.wikipedia.org"], [href^="https://bi.wikipedia.org"], [href^="https://bi.m.wikipedia.org"], [href^="https://rw.wikipedia.org"], [href^="https://rw.m.wikipedia.org"], [href^="https://ch.wikipedia.org"], [href^="https://ch.m.wikipedia.org"], [href^="https://xh.wikipedia.org"], [href^="https://xh.m.wikipedia.org"], [href^="https://kl.wikipedia.org"], [href^="https://kl.m.wikipedia.org"], [href^="https://ik.wikipedia.org"], [href^="https://ik.m.wikipedia.org"], [href^="https://bug.wikipedia.org"], [href^="https://bug.m.wikipedia.org"], [href^="https://dz.wikipedia.org"], [href^="https://dz.m.wikipedia.org"], [href^="https://ts.wikipedia.org"], [href^="https://ts.m.wikipedia.org"], [href^="https://tn.wikipedia.org"], [href^="https://tn.m.wikipedia.org"], [href^="https://kv.wikipedia.org"], [href^="https://kv.m.wikipedia.org"], [href^="https://tum.wikipedia.org"], [href^="https://tum.m.wikipedia.org"], [href^="https://xal.wikipedia.org"], [href^="https://xal.m.wikipedia.org"], [href^="https://st.wikipedia.org"], [href^="https://st.m.wikipedia.org"], [href^="https://tw.wikipedia.org"], [href^="https://tw.m.wikipedia.org"], [href^="https://bxr.wikipedia.org"], [href^="https://bxr.m.wikipedia.org"], [href^="https://ak.wikipedia.org"], [href^="https://ak.m.wikipedia.org"], [href^="https://ny.wikipedia.org"], [href^="https://ny.m.wikipedia.org"], [href^="https://fj.wikipedia.org"], [href^="https://fj.m.wikipedia.org"], [href^="https://lbe.wikipedia.org"], [href^="https://lbe.m.wikipedia.org"], [href^="https://ki.wikipedia.org"], [href^="https://ki.m.wikipedia.org"], [href^="https://za.wikipedia.org"], [href^="https://za.m.wikipedia.org"], [href^="https://ks.wikipedia.org"], [href^="https://ks.m.wikipedia.org"], [href^="https://ff.wikipedia.org"], [href^="https://ff.m.wikipedia.org"], [href^="https://lg.wikipedia.org"], [href^="https://lg.m.wikipedia.org"], [href^="https://sg.wikipedia.org"], [href^="https://sg.m.wikipedia.org"], [href^="https://rn.wikipedia.org"], [href^="https://rn.m.wikipedia.org"], [href^="https://chy.wikipedia.org"], [href^="https://chy.m.wikipedia.org"], [href^="https://mwl.wikipedia.org"], [href^="https://mwl.m.wikipedia.org"], [href^="https://lez.wikipedia.org"], [href^="https://lez.m.wikipedia.org"], [href^="https://bjn.wikipedia.org"], [href^="https://bjn.m.wikipedia.org"], [href^="https://gom.wikipedia.org"], [href^="https://gom.m.wikipedia.org"], [href^="https://lrc.wikipedia.org"], [href^="https://lrc.m.wikipedia.org"], [href^="https://tyv.wikipedia.org"], [href^="https://tyv.m.wikipedia.org"], [href^="https://vep.wikipedia.org"], [href^="https://vep.m.wikipedia.org"], [href^="https://nso.wikipedia.org"], [href^="https://nso.m.wikipedia.org"], [href^="https://kbd.wikipedia.org"], [href^="https://kbd.m.wikipedia.org"], [href^="https://ltg.wikipedia.org"], [href^="https://ltg.m.wikipedia.org"], [href^="https://rue.wikipedia.org"], [href^="https://rue.m.wikipedia.org"], [href^="https://pfl.wikipedia.org"], [href^="https://pfl.m.wikipedia.org"], [href^="https://gag.wikipedia.org"], [href^="https://gag.m.wikipedia.org"], [href^="https://koi.wikipedia.org"], [href^="https://koi.m.wikipedia.org"], [href^="https://krc.wikipedia.org"], [href^="https://krc.m.wikipedia.org"], [href^="https://ace.wikipedia.org"], [href^="https://ace.m.wikipedia.org"], [href^="https://olo.wikipedia.org"], [href^="https://olo.m.wikipedia.org"], [href^="https://kaa.wikipedia.org"], [href^="https://kaa.m.wikipedia.org"], [href^="https://mdf.wikipedia.org"], [href^="https://mdf.m.wikipedia.org"], [href^="https://myv.wikipedia.org"], [href^="https://myv.m.wikipedia.org"], [href^="https://srn.wikipedia.org"], [href^="https://srn.m.wikipedia.org"], [href^="https://ady.wikipedia.org"], [href^="https://ady.m.wikipedia.org"], [href^="https://jam.wikipedia.org"], [href^="https://jam.m.wikipedia.org"], [href^="https://tcy.wikipedia.org"], [href^="https://tcy.m.wikipedia.org"], [href^="https://dty.wikipedia.org"], [href^="https://dty.m.wikipedia.org"], [href^="https://atj.wikipedia.org"], [href^="https://atj.m.wikipedia.org"], [href^="https://kbp.wikipedia.org"], [href^="https://kbp.m.wikipedia.org"], [href^="https://din.wikipedia.org"], [href^="https://din.m.wikipedia.org"], [href^="https://lfn.wikipedia.org"], [href^="https://lfn.m.wikipedia.org"], [href^="https://gor.wikipedia.org"], [href^="https://gor.m.wikipedia.org"], [href^="https://inh.wikipedia.org"], [href^="https://inh.m.wikipedia.org"], [href^="https://sat.wikipedia.org"], [href^="https://sat.m.wikipedia.org"], [href^="https://shn.wikipedia.org"], [href^="https://shn.m.wikipedia.org"], [href^="https://hyw.wikipedia.org"], [href^="https://hyw.m.wikipedia.org"], [href^="https://nqo.wikipedia.org"], [href^="https://nqo.m.wikipedia.org"], [href^="https://ban.wikipedia.org"], [href^="https://ban.m.wikipedia.org"], [href^="https://mnw.wikipedia.org"], [href^="https://mnw.m.wikipedia.org"], [href^="https://szy.wikipedia.org"], [href^="https://szy.m.wikipedia.org"], [href^="https://gcr.wikipedia.org"], [href^="https://gcr.m.wikipedia.org"], [href^="https://awa.wikipedia.org"], [href^="https://awa.m.wikipedia.org"], [href^="https://ary.wikipedia.org"], [href^="https://ary.m.wikipedia.org"], [href^="https://lld.wikipedia.org"], [href^="https://lld.m.wikipedia.org"], [href^="https://smn.wikipedia.org"], [href^="https://smn.m.wikipedia.org"] ) span.char-index { display: inline-block; width: 0; text-indent: -9999px; } .line .deco-\. a.link:is([href^="https://ja.wikipedia.org"], [href^="https://en.wikipedia.org"], ) span.char-index:nth-of-type(30)~span.char-index { display: inherit; width: inherit; text-indent: inherit; }

Settings
UserCSS