リンクを出典アイコンにするUserCSS
用途
例
特徴
リンクを短く表示できる
(内部リンクの場合)双方向リンクとして使える
とてもいい

1つの出典内に関係ない複数の話題が含まれる場合、それらがリンクされてしまう
ページに画像を置かなくてもすむ
↑の「

」が「アイコン記法で書く場合」の出典を示すために使われていると気づくのにちょっと時間かかったw

このページで提案している手法のことを指しているのかと思った
括弧
()
で囲んでみた

18:50:59 自動で括弧がつくように変更してみた
この手法自体について議論しているときにしか発生しない問題なのでまあいいか

みたいに、画像がないとアイコンが長くなる

毎回画像を用意しなくていいのは便利

用意するとしてもabstractのスクショとかなのでぱっと見で意味がわからなかった
別の
文字装飾記法と併用すれば、複数のアイコンを使い分けることもできる
UserCSSなのでsettingsに書いておけばprojectに参加していない人にも適用される
できないこと
内部リンク記法の2 hop linkを無効にしつつ、同じタブで開けるようにする
出典を示したいけどリンクは作りたくないということはあまりない

改善アイデア
上付きでなくてもサイズをもっと小さくするのは良いかも

2021-10-03 17:48:45 できた
小さく表示するならカッコはいらないかもと思うんですが、どうでしょうか?

補足情報なんだな、というのは小さいことで伝わる
でも代わりに左右に余白をいれないと狭い感じかも
padding: 0 2px;
くらい?
paddingは指定しなくても良さそう

それなりに隙間が開いている
font-size: .8em;
なら padding: 0 1px;
で良い気がしてきた(わからん)
小さすぎるとクリックしづらいことに気づいた

font-size: .8em;
くらいがいいかも?
2021-10-04 09:59:51 してみた

上付き文字にすると、ホバーした時に文字が上下にずれる
小さく表示するなら上付き文字にしなくてもいいかも

カーソル行になる(
.cursor-line
)という意味でしょうか

:not(.cursor-line)
を外してみた。どうだろう?
ずれなくなった

文字が常時若干下にずれるのは仕方ないか

それは
太字記法と同じ問題だし仕方ない

なるほどです

大きさを小さくするのではなく、文字の位置を上下できる
2021-11-28 18:39:19 ずれなくした

なんでだろう?

vertical-align
ではなく position: relative; top:-0.5em;
を使えば直りそう
直った

外部リンク記法にも対応する?
対応できないことはないし、対応したほうがより便利になるかもしれない
そちらのほうがより便利だ
2021/10/3 対応しました
✅️特定のサイトへのリンクの場合は、そのサイトのfaviconを出す
wikipediaならWマークにするとか
ちょっと難しいかも?
まあそのうちやってみるか
2022-02-05 19:20:28 wikipediaに対応させてみた
行リンクなどScrapboxのURLに対して使うとき、入力が少しだけ面倒

[
や ]
が前後にあるとURLをリンクに変換してくれない
一旦 ]
を消す手間が入る
[
を入力( ]
も補完される)→ .
を入力→一旦 ]
を消す→URL貼り付け→ ]
を入力
あ、それは
[.<Space><Space><Left><C-V>
で解決できます

[. [URL] ]
という形にする
これならURLを貼り付けてもちゃんとリンクに変換されます
後ろにスペースが1つ入りますが、フォントサイズが小さいので気になりません
うちのproject
/takker でよく使っているので参考にしてみて下さい
なるほど、その手があったか

全然関係ないけどキー記法がVimmerの書き方だ

けどVimmer以外に伝わるのだろうか?
嬉しい副作用
以下、2024-05-03までの実装
code
差し替え可能
./
でアイコンを別のものにできる
全体設定
style.css.line .deco-\. {
font-size: .8em;
position: relative;
top: -0.5em;
}
(optional) ()
で囲む
style.css.disabled(css).line:not(.cursor-line) .deco-\.::before {
content: "(";
}
.line:not(.cursor-line) .deco-\.::after {
content: ")";
}
[. ]
内のリンクを消す
差分.diff+ .line:not(.cursor-line) .deco-\. a:is(.page-link:not(.icon), .link) span:not(.empty-char-index) + span + span ~ span {
- .line:not(.cursor-line) .deco-\. a:is(.page-link:not(.icon), .link) span {
style.css.line:not(.cursor-line) .deco-\. a:is(.page-link:not(.icon), .link) span:not(.empty-char-index) + span + span ~ span {
display: inline-block;
width: 0;
text-indent: -9999px;
}
行リンクのIDは表示されるよう、↑の効果を打ち消しておく
差分2.diff+ .line:not(.cursor-line) .deco-\. .page-link:not(.icon) span.empty-char-index ~ span.char-index {
- .line:not(.cursor-line) .deco-\. a.page-link:not(.icon) span.empty-char-index ~ span {
style.css.line:not(.cursor-line) .deco-\. .page-link:not(.icon) span.empty-char-index ~ span.char-index {
display: inherit;
width: inherit;
text-indent: inherit;
}
行idの直前に #
をつける
style.css.line:not(.cursor-line) .deco-\. a.page-link:not(.icon) span.empty-char-index + span::before {
content: "#";
}
解説書いてみました

感謝です!

すごい発想で草

さんはどこでこのテクニックを知ったのだろうか
アイコンを設定する
既定の設定
style.css.line .deco-\. :is(.page-link:not(.icon), .link)::before {
display: inline-block;
min-width: 1.15em;
padding-left: 1px;
/* padding: 0 1px; */
font-family: "Font Awesome 5 Free","Font Awesome 5 Brands";
text-align: center;
vertical-align: middle;
font-weight: 900;
content: "\f02d";
}
カスタム設定
/
を入れるとノートみたいなアイコンになる
カスタム設定の例として入れただけ
style.css/* 斜体を取り消す */
.line .deco-\..deco-\/ {
font-style: initial;
}
.line .deco-\..deco-\/ :is(.page-link:not(.icon), .link)::before {
font-weight: 400;
content: "\f15c";
}
特定のリンクへのアイコンを変える
なんか複雑な感じになってきた

「リンクを出典アイコンにするUserCSS: リンクの最初の3文字を表示+特定サイトではfaviconを出す」みたいなページを作って新しく書くのもありかも
gitで管理したほうがいいか
読もうとしたけど複雑で挫折してしまったw

昔の情報は別ページに切り出した方が読みやすそう
コード周りは一旦このままにして、新しい実装を別ページに書くことにしました

出典リスト