記法の優先順位
記法には優先順位がある
例: #[link]
ページリンク [XXX]
がハッシュタグよりも優先されている
この優先順位を調査する。
ルール
インライン系統
開始記号と、それと対になる終了記号をもつものが多い
2つの記法の開始記号と終了記号を交差させ、どちらが優先されるかを見る
`(記法A開始)text(記法B開始)text(記法A終了)text(記法B終了)
例: [ ]
, [
]
順序を変えて試しても一方の記法が常に優先されるとき、優先度に高低があるとする
記法の種類よりも順序の影響が優先されたり、第三の記法が適用されるなら、優先度は同等とする
ブロック系統
文の先頭に配置しないと発効しないものが多く、順序優先が自明なものが半数
開始記号は文頭固定で、終端記号が改行という組み合わせが半数で、交差法があまり利用できない
一部の記法は複数行にまたがるため、割り込みの有無を検証できる
本来記法が適用されるはずの場所で開始記号を記述し、正常に?エスケープされるかを観察する
割り込み可能なら、割り込んだほうが優先順位が高いとする
順序優先なもの
引用 >
Helpfeel ?
割り込み調査が可能なもの
コードブロック code:XXX
テーブル table:XXX
結論(インライン系)
1. インラインスクリプト alert("inline");
2. 空白記法→ ←
3. 文字装飾記法 strike
4. 数式記法\text{math}
5. 二重ブラケット記法double bracket
ブロック系列
1. コードブロック
2. テーブル
大半は順序優先が自明なため省略
以下、調査メモ込みで詳細なレポート
インライン系列
1.
開始・終了ともにバッククオート`
test
[ ]
[
]
2. 空白記法(交差法不可)
開始記号 [
、終了 ]
test
[!"#%&'()*+,-./{|}<>_~ ]
[]
3. 文字装飾記法(ぜんぶのせ)
開始 [!"#%&'()*+,-./{|}<>_~
,終了 ]
test
[!"#%&'()*+,-./{|}<>_~ d
[!"#%&'()*+,-./{|}<>_~ d
4. 数式記法
開始 [$
、終了 ]
test
[https://google.com
[[]]
[[d]
5. 二重ブラケット記法
開始 [[
,終了 ]]
test
#this is strong
#d
[yuki_minoh.icon]dddd ddd[yuki_minoh.icon]
[/help-jp/Scrapbox] [/help-jp/Scrapbox]
6. 外部URL
開始 [
,終了 ]
test
[N35.0305897,E135.7591271,Z19 Nota+Inc.]ddd dddddddd [N35.0305897,E135.7591271,Z19 +Nota]
7. アイコン記法、プロジェクト間リンク、プロジェクト内リンク、画像、ロケーション記法
開始 [
,終了 ]
test
#
[/help-jp/scrap
boxdd.icon] [yuki_mino
s]
[Teach for Jap
an.icon] [yuki_mino
ddd]
[yuki_min
/.png]
abc.icon]
8. ハッシュタグ
開始 #
終了
(半角スペース)
引用とコード
前置優先
割り込み不可
引用とテーブル
前置優先
割り込み不可
コードとテーブル
前置優先
codeがtableに割り込み可能
tableコンテキストは残存し、混合記法が成立する(!!!)
またあらたなバグ技を生み出してしまった。
コードブロック中はCSVが破綻する
いや、正常な挙動
コードブロックは正常
じゃなかった。。。
なんかへんな文字はいってる
ような気がしただけだった
code:dfirst | second | third |
| code:d.js |
| alert(); |
| | d |
| | | function () { |
| | | | return d |
| | } |
ddddddddddddddddddddddd | sugoikore | |
|
Helpfeelとコードブロック
前置優先
割り込み不可
? code:d.js
? d
Helpfeelとテーブル
前置優先
割り込み不可
? table:d
? d
Helpfeelと引用
記法の定義からして完全に二者択一
?> d
? d
番外
テーブルとテーブル
コードとコード