diff --git a/README.md b/README.md index 4b116e5..6c8fa6a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -# Highlighter +* Highlighter (Pukiwiki用プラグイン) † + pukiwiki用plugin. 特定の文字装飾をする.正規表現による条件にマッチする 文字列をまとめて装飾することもできる. ### 使用方法1(インライン): &highlighter(CSS文字列){文字列}; @@ -7,6 +8,7 @@ - CSSを省略した場合しましまとなる。 - CSS付きのspanで指定した文字列をくくっているだけ。単純。 +<<<<<<< Updated upstream ### 使用方法2(ブロック): #highlighter(正規表現,CSS文字列) - 文書中の<li>要素の中を検索して、正規表現にマッチした文字列のスタイルを CSS文字列に置き換える。 @@ -26,6 +28,33 @@ - 誰か直してくれるとうれしいなあ。 ## 例 +======= + * 使用方法1(インライン): &highlighter(CSS文字列){文字列}; + + - 指定した文字列を、指定した CSS文字列のスタイルで表示する。 + - CSSを省略した場合しましまとなる。 + - CSS付きのspanで指定した文字列をくくっているだけ。単純。 + + * 使用方法2(ブロック): #highlighter(正規表現,CSS文字列) + + - 文書中の
  • 要素の中を検索して、正規表現にマッチした文字列のスタイルを CSS文字列に置き換える。 + - CSSを省略した場合しましまとなる。 + - 注意:正規表現はJavaScriptの正規表現 + - 呼び出し箇所に正規表現で探索を行うJavaScriptを生成する。スタイル変更は新しくCSS付きを生成している。 + - 注意 上記理由からそこまでに出現しているテキストしかハイライトできない。 + + * 使用方法3(ブロック): #highlighter(正規表現,CSS文字列,true) + + - 最後の引数がtrueである場合:文書中の
  • 要素の中を検索して、正規表現にマッチする行の
  • 要素全体のスタイルをCSS文字列で置き換える。 + - CSSを省略した場合しましまとなる。 + - 呼び出し箇所に正規表現で探索を行うJavaScriptを生成する。スタイル変更は新しくCSS付きを生成している。 + - 注意 上記理由からそこまでに出現している行しかハイライトできない。 + + - sanitize 何もしてない。あぶない。こわい。とんでもない + - 誰か直してくれるとうれしいなあ。 + + * 例 +>>>>>>> Stashed changes ```pukiwiki &highlighter{ハイライト}; する。 diff --git a/highlighter.inc.php b/highlighter.inc.php index 905d663..3a797a2 100644 --- a/highlighter.inc.php +++ b/highlighter.inc.php @@ -56,7 +56,11 @@ if (lst[i].parentNode.classList.contains("list1")){ var text = lst[i].innerHTML; var reg = new RegExp(pat, "g"); - lst[i].innerHTML = text.replace(reg, '$&'); + if (lst[i].children[0].tagName == "span") { + lst[i].children[0].style = style; + } else { + lst[i].innerHTML = text.replace(reg, '$&'); + } } } })()