Skip to main content

parse_quotes_pairs

Function parse_quotes_pairs 

Source
pub(crate) fn parse_quotes_pairs(v: &str) -> Option<Vec<(String, String)>>
Expand description

::before / ::aftercontent 値を解析する。 文字列リテラル(“…” / ‘…’)、attr(name)(対象要素自身の属性値、無ければ空)、 counter(name) / counter(name, style)(style 引数は無視し常に十進数表記)に対応。 複数トークンの連結(例 attr(href) " ")も可。それ以外の未対応関数形式や none/normal は「表示なし」として空文字列を返す(テキストとして誤描画しないため)。 quotes: "«" "»" "‹" "›" のような文字列リテラルの並びから、入れ子レベルごとの 全ペア(レベル1, レベル2, …)を取り出す。以前は最初の1組しか取り出さず、 open-quote/close-quote の入れ子(<q> の入れ子)に対応する複数組指定を 常に無視していたが、ここで全ペアを保持し、呼び出し側(quote_depth を使う parse_content_value)で入れ子レベルに応じたペアを選べるようにする。 戻り値: Nonequotes 未指定(呼び出し側で既定の二重引用符へフォールバック)、 Some(vec![])quotes:none(仕様どおり何も出力しない)、 Some(pairs)=ペア列(レベルが手持ちのペア数を超える場合は最後のペアを繰り返す、仕様どおり)。