From 23793813639d686fa6a11555d9268160e95806e9 Mon Sep 17 00:00:00 2001 From: fumikito Date: Sat, 20 Dec 2014 20:41:33 +0900 Subject: [PATCH] =?UTF-8?q?=E6=8A=95=E7=A8=BF=E8=80=85=E3=81=8CRuby?= =?UTF-8?q?=E3=82=92=E4=BD=BF=E3=81=88=E3=81=AA=E3=81=84=E5=95=8F=E9=A1=8C?= =?UTF-8?q?=E3=82=92=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mce/config.rb | 20 ++ mce/css/noruby_admin.css | 18 +- mce/css/ruby.css | 7 +- mce/editor_plugin.js | 148 +++++++++++++- mce/editor_plugin.min.js | 1 + mce/editor_plugin_src.js | 144 ------------- mce/img/q.png | Bin 228 -> 223 bytes mce/img/small.png | Bin 317 -> 315 bytes mce/q.php | 3 +- mce/ruby.php | 3 +- mce/scss/noruby_admin.scss | 33 +++ mce/scss/ruby.scss | 14 ++ readme.md | 65 ++++++ readme.txt | 44 ++-- screenshot-1.png | Bin 0 -> 33607 bytes screenshot-2.png | Bin 0 -> 51205 bytes screenshot-3.png | Bin 0 -> 32375 bytes wp-yomigana.php | 404 +++++++++++++++++++++---------------- 18 files changed, 538 insertions(+), 366 deletions(-) create mode 100644 mce/config.rb create mode 100644 mce/editor_plugin.min.js delete mode 100644 mce/editor_plugin_src.js create mode 100644 mce/scss/noruby_admin.scss create mode 100644 mce/scss/ruby.scss create mode 100644 readme.md create mode 100644 screenshot-1.png create mode 100644 screenshot-2.png create mode 100644 screenshot-3.png diff --git a/mce/config.rb b/mce/config.rb new file mode 100644 index 0000000..22ea233 --- /dev/null +++ b/mce/config.rb @@ -0,0 +1,20 @@ +require 'compass/import-once/activate' +# Require any additional compass plugins here. + +# Set this to the root of your project when deployed: +http_path = "/" +css_dir = "css" +sass_dir = "scss" +images_dir = "img" +javascripts_dir = "js" +fonts_dir = "fonts" + +output_style = :nested + +# To enable relative paths to assets via compass helper functions. Uncomment: +# relative_assets = true + +line_comments = false +color_output = false + +preferred_syntax = :scss diff --git a/mce/css/noruby_admin.css b/mce/css/noruby_admin.css index ff4e3d9..858c072 100644 --- a/mce/css/noruby_admin.css +++ b/mce/css/noruby_admin.css @@ -1,17 +1 @@ -@charset "UTF-8"; -rt{ - font-size:0.75em; -} -rt:before{ - content:"ルビ("; -} -rt:after{ - content:")"; -} -rp{ - display:none; -} -ruby{ - border-top:1px dotted #f0f0f0; - padding-top:1px; -} +ruby{border:1px dotted #ccc;position:relative}ruby:before{content:"ルビ";position:absolute;background:#ddd;color:#000;padding:0.2em;width:3em;height:1em;line-height:1em;display:block;text-align:center;top:-1.4em;left:0;font-size:10px}ruby rp{display:none}ruby rt{font-size:0.85em}ruby rt:before{content:"("}ruby rt:after{content:")"} diff --git a/mce/css/ruby.css b/mce/css/ruby.css index d2d32ec..7a9381d 100644 --- a/mce/css/ruby.css +++ b/mce/css/ruby.css @@ -1,6 +1 @@ -@charset "UTF-8"; -/* - * - */ - -.panel_wrapper #general_panel{height:auto;} +.panel_wrapper #general_panel{height:auto}body{margin:0}body form{padding:0 10px} diff --git a/mce/editor_plugin.js b/mce/editor_plugin.js index 3dc478d..5bfa6ef 100644 --- a/mce/editor_plugin.js +++ b/mce/editor_plugin.js @@ -1,4 +1,144 @@ -(function(){tinymce.create("tinymce.plugins.yomigana",{getInfo:function(){return{longname:"Yomigana",author:"Takahashi Fumiki",authorurl:"http://hametuha.co.jp",infourl:"http://hametuha.co.jp",version:"1.0"};},init:function(editor,url){editor.addCommand("Ruby",function(){editor.focus();editor.ieBookmark=editor.selection.getBookmark(1);editor.windowManager.open({file:url+"/ruby.php",width:350,height:150,inline:1},{plugin_url:url});});editor.addButton("ruby",{title:"yomigana_dlg.rubyTitle",cmd:"Ruby",image:url+"/img/ruby.gif"});editor.addCommand('inlineQ',function(){editor.focus();editor.ieBookmark=editor.selection.getBookmark(1);editor.windowManager.open({file:url+'/q.php',width:350,height:150,inline:1},{plugin_url:url});});editor.addButton("q",{title:"yomigana_dlg.qTitle",cmd:'inlineQ',image:url+'/img/q.png'});editor.addCommand("Small",function(){var target=this.selection.getNode();if(target.nodeName=='SMALL'){var txt=document.createTextNode(target.innerHTML);this.dom.replace(txt,target,false);}else if(this.selection.getContent().length>0){var newDom=this.dom.create('small');this.dom.setHTML(newDom,this.selection.getContent());this.selection.setNode(newDom);}});editor.addButton("small",{title:"yomigana_dlg.smallTitle",cmd:'Small',image:url+'/img/small.png'});editor.addCommand('DL',function(){var startNode=this.selection.getStart();var endNode=this.selection.getEnd();var wrapper;if(this.dom.getParent(startNode,'DL')){wrapper=this.dom.getParent(startNode,'DL');}else if(this.selection.getNode().tagName=='DL'){wrapper=this.selection.getNode();} -if(wrapper){for(i=0,l=wrapper.childNodes.length;i0){var dl=this.dom.create('dl');if(startNode==endNode){this.dom.rename(startNode,'dt');dl.appendChild(startNode);this.selection.setNode(dl);}else{var currentNode=startNode;var d=this.dom;for(i=0;true;){this.dom.add(dl,(i%2==0?'DT':'DD'),{},currentNode.innerHTML);i++;if(currentNode==endNode||!(currentNode=this.dom.getNext(currentNode,function(node){return node&&d.isBlock(node);}))||i>100){break;}}} -this.selection.setNode(dl);}}});editor.addButton("dl",{title:"yomigana_dlg.dlTitle",cmd:"DL",image:url+'/img/dl.png'});editor.onNodeChange.add(function(e,d,g,f){g=e.dom.getParent(g,"RUBY,SMALL,Q,DL");d.setDisabled("ruby",f);d.setActive("ruby",0);d.setDisabled("small",f);d.setActive("small",0);d.setDisabled("q",f);d.setActive("q",0);if(g){do{d.setDisabled(g.nodeName.toLowerCase(),0);d.setActive(g.nodeName.toLowerCase(),1);}while(g=g.parentNode);}});}});tinymce.PluginManager.add("yomigana",tinymce.plugins.yomigana);})(); \ No newline at end of file +(function(){ + + + tinymce.create("tinymce.plugins.yomigana",{ + + getInfo:function(){ + return{ + longname:"Yomigana", + author:"Takahashi Fumiki", + authorurl:"http://takahashifumiki.com", + infourl:"https://wordpress.org/plugins/wp-yomigana/", + version:"1.0" + }; + }, + + init:function(editor,url){ + //ルビ + editor.addCommand("Ruby",function(){ + editor.focus(); + editor.ieBookmark = editor.selection.getBookmark(1); + editor.windowManager.open( + { + file: url + "/ruby.php", + width: 350, + height:150, + inline: 1 + }, + { + plugin_url: url + } + ); + }); + editor.addButton("ruby",{ + title:"yomigana_dlg.rubyTitle", + cmd:"Ruby", + image: url + "/img/ruby.gif" + }); + //qタグ + editor.addCommand('inlineQ', function(){ + editor.focus(); + editor.ieBookmark = editor.selection.getBookmark(1); + editor.windowManager.open({ + file: url + '/q.php', + width: 350, + height: 150, + inline: 1 + },{ + plugin_url: url + }); + }); + editor.addButton("q", { + title: "yomigana_dlg.qTitle", + cmd: 'inlineQ', + image: url + '/img/q.png' + }); + //small + editor.addCommand("Small", function(){ + var target = this.selection.getNode(); + if(target.nodeName == 'SMALL'){ + //ノード名がSmallだったら外す + var txt = document.createTextNode(target.innerHTML); + this.dom.replace(txt, target, false); + }else if(this.selection.getContent().length > 0){ + //一文字以上選択されていたらsmallでWrapする + var newDom = this.dom.create('small'); + this.dom.setHTML(newDom, this.selection.getContent()); + this.selection.setNode(newDom); + } + }); + editor.addButton("small",{ + title: "yomigana_dlg.smallTitle", + cmd: 'Small', + image: url + '/img/small.png' + }); + editor.addCommand('DL', function(){ + var startNode = this.selection.getStart(); + var endNode = this.selection.getEnd(); + var wrapper; + if(this.dom.getParent(startNode, 'DL')){ + wrapper = this.dom.getParent(startNode, 'DL'); + }else if(this.selection.getNode().tagName == 'DL'){ + wrapper = this.selection.getNode(); + } + if(wrapper){ + //親がDL + for(i = 0, l = wrapper.childNodes.length; i < l; i++){ + var p = document.createElement('p'); + p.innerHTML = wrapper.childNodes[i].innerHTML; + this.dom.insertAfter(p, wrapper); + } + this.dom.remove(wrapper); + }else{ + //まだDLじゃない + if(this.selection.getContent().length > 0){ + var dl = this.dom.create('dl'); + if(startNode == endNode){ + //一つの要素が選択されている + this.dom.rename(startNode, 'dt'); + dl.appendChild(startNode); + this.selection.setNode(dl); + }else{ + //2つ以上の要素が選択されている + var currentNode = startNode; + var d = this.dom; + for(i = 0; true;){ + this.dom.add(dl, (i % 2 == 0 ? 'DT' : 'DD'), {}, currentNode.innerHTML); + i++; + if(currentNode == endNode || !(currentNode = this.dom.getNext(currentNode, function(node){ + return node && d.isBlock(node); + })) || i > 100){ + break; + } + } + } + this.selection.setNode(dl); + } + } + }); + editor.addButton("dl",{ + title: "yomigana_dlg.dlTitle", + cmd: "DL", + image: url + '/img/dl.png' + }); + //キャレットの移動 + editor.onNodeChange.add(function(e,d,g,f){ + g = e.dom.getParent(g,"RUBY,SMALL,Q,DL"); + d.setDisabled("ruby",f); + d.setActive("ruby",0); + d.setDisabled("small",f); + d.setActive("small",0); + d.setDisabled("q",f); + d.setActive("q",0); + if(g){ + do{ + d.setDisabled(g.nodeName.toLowerCase(),0); + d.setActive(g.nodeName.toLowerCase(),1); + }while(g = g.parentNode); + } + }); + } + }); + + tinymce.PluginManager.add("yomigana",tinymce.plugins.yomigana); +})(); \ No newline at end of file diff --git a/mce/editor_plugin.min.js b/mce/editor_plugin.min.js new file mode 100644 index 0000000..2dc13cd --- /dev/null +++ b/mce/editor_plugin.min.js @@ -0,0 +1 @@ +!function(){tinymce.create("tinymce.plugins.yomigana",{getInfo:function(){return{longname:"Yomigana",author:"Takahashi Fumiki",authorurl:"http://takahashifumiki.com",infourl:"https://wordpress.org/plugins/wp-yomigana/",version:"1.0"}},init:function(e,t){e.addCommand("Ruby",function(){e.focus(),e.ieBookmark=e.selection.getBookmark(1),e.windowManager.open({file:t+"/ruby.php",width:350,height:150,inline:1},{plugin_url:t})}),e.addButton("ruby",{title:"yomigana_dlg.rubyTitle",cmd:"Ruby",image:t+"/img/ruby.gif"}),e.addCommand("inlineQ",function(){e.focus(),e.ieBookmark=e.selection.getBookmark(1),e.windowManager.open({file:t+"/q.php",width:350,height:150,inline:1},{plugin_url:t})}),e.addButton("q",{title:"yomigana_dlg.qTitle",cmd:"inlineQ",image:t+"/img/q.png"}),e.addCommand("Small",function(){var e=this.selection.getNode();if("SMALL"==e.nodeName){var t=document.createTextNode(e.innerHTML);this.dom.replace(t,e,!1)}else if(this.selection.getContent().length>0){var i=this.dom.create("small");this.dom.setHTML(i,this.selection.getContent()),this.selection.setNode(i)}}),e.addButton("small",{title:"yomigana_dlg.smallTitle",cmd:"Small",image:t+"/img/small.png"}),e.addCommand("DL",function(){var e=this.selection.getStart(),t=this.selection.getEnd(),n;if(this.dom.getParent(e,"DL")?n=this.dom.getParent(e,"DL"):"DL"==this.selection.getNode().tagName&&(n=this.selection.getNode()),n){for(i=0,l=n.childNodes.length;l>i;i++){var o=document.createElement("p");o.innerHTML=n.childNodes[i].innerHTML,this.dom.insertAfter(o,n)}this.dom.remove(n)}else if(this.selection.getContent().length>0){var a=this.dom.create("dl");if(e==t)this.dom.rename(e,"dt"),a.appendChild(e),this.selection.setNode(a);else{var d=e,s=this.dom;for(i=0;!0&&(this.dom.add(a,i%2==0?"DT":"DD",{},d.innerHTML),i++,d!=t&&(d=this.dom.getNext(d,function(e){return e&&s.isBlock(e)}))&&!(i>100)););}this.selection.setNode(a)}}),e.addButton("dl",{title:"yomigana_dlg.dlTitle",cmd:"DL",image:t+"/img/dl.png"}),e.onNodeChange.add(function(e,t,i,n){if(i=e.dom.getParent(i,"RUBY,SMALL,Q,DL"),t.setDisabled("ruby",n),t.setActive("ruby",0),t.setDisabled("small",n),t.setActive("small",0),t.setDisabled("q",n),t.setActive("q",0),i)do t.setDisabled(i.nodeName.toLowerCase(),0),t.setActive(i.nodeName.toLowerCase(),1);while(i=i.parentNode)})}}),tinymce.PluginManager.add("yomigana",tinymce.plugins.yomigana)}(); \ No newline at end of file diff --git a/mce/editor_plugin_src.js b/mce/editor_plugin_src.js deleted file mode 100644 index be7f6b0..0000000 --- a/mce/editor_plugin_src.js +++ /dev/null @@ -1,144 +0,0 @@ -(function(){ - - - tinymce.create("tinymce.plugins.yomigana",{ - - getInfo:function(){ - return{ - longname:"Yomigana", - author:"Takahashi Fumiki", - authorurl:"http://hametuha.co.jp", - infourl:"http://hametuha.co.jp", - version:"1.0" - }; - }, - - init:function(editor,url){ - //ルビ - editor.addCommand("Ruby",function(){ - editor.focus(); - editor.ieBookmark = editor.selection.getBookmark(1); - editor.windowManager.open( - { - file: url + "/ruby.php", - width: 350, - height:150, - inline: 1 - }, - { - plugin_url: url - } - ); - }); - editor.addButton("ruby",{ - title:"yomigana_dlg.rubyTitle", - cmd:"Ruby", - image: url + "/img/ruby.gif" - }); - //qタグ - editor.addCommand('inlineQ', function(){ - editor.focus(); - editor.ieBookmark = editor.selection.getBookmark(1); - editor.windowManager.open({ - file: url + '/q.php', - width: 350, - height: 150, - inline: 1 - },{ - plugin_url: url - }); - }); - editor.addButton("q", { - title: "yomigana_dlg.qTitle", - cmd: 'inlineQ', - image: url + '/img/q.png' - }); - //small - editor.addCommand("Small", function(){ - var target = this.selection.getNode(); - if(target.nodeName == 'SMALL'){ - //ノード名がSmallだったら外す - var txt = document.createTextNode(target.innerHTML); - this.dom.replace(txt, target, false); - }else if(this.selection.getContent().length > 0){ - //一文字以上選択されていたらsmallでWrapする - var newDom = this.dom.create('small'); - this.dom.setHTML(newDom, this.selection.getContent()); - this.selection.setNode(newDom); - } - }); - editor.addButton("small",{ - title: "yomigana_dlg.smallTitle", - cmd: 'Small', - image: url + '/img/small.png' - }); - editor.addCommand('DL', function(){ - var startNode = this.selection.getStart(); - var endNode = this.selection.getEnd(); - var wrapper; - if(this.dom.getParent(startNode, 'DL')){ - wrapper = this.dom.getParent(startNode, 'DL'); - }else if(this.selection.getNode().tagName == 'DL'){ - wrapper = this.selection.getNode(); - } - if(wrapper){ - //親がDL - for(i = 0, l = wrapper.childNodes.length; i < l; i++){ - var p = document.createElement('p'); - p.innerHTML = wrapper.childNodes[i].innerHTML; - this.dom.insertAfter(p, wrapper); - } - this.dom.remove(wrapper); - }else{ - //まだDLじゃない - if(this.selection.getContent().length > 0){ - var dl = this.dom.create('dl'); - if(startNode == endNode){ - //一つの要素が選択されている - this.dom.rename(startNode, 'dt'); - dl.appendChild(startNode); - this.selection.setNode(dl); - }else{ - //2つ以上の要素が選択されている - var currentNode = startNode; - var d = this.dom; - for(i = 0; true;){ - this.dom.add(dl, (i % 2 == 0 ? 'DT' : 'DD'), {}, currentNode.innerHTML); - i++; - if(currentNode == endNode || !(currentNode = this.dom.getNext(currentNode, function(node){ - return node && d.isBlock(node); - })) || i > 100){ - break; - } - } - } - this.selection.setNode(dl); - } - } - }); - editor.addButton("dl",{ - title: "yomigana_dlg.dlTitle", - cmd: "DL", - image: url + '/img/dl.png' - }); - //キャレットの移動 - editor.onNodeChange.add(function(e,d,g,f){ - g = e.dom.getParent(g,"RUBY,SMALL,Q,DL"); - d.setDisabled("ruby",f); - d.setActive("ruby",0); - d.setDisabled("small",f); - d.setActive("small",0); - d.setDisabled("q",f); - d.setActive("q",0); - if(g){ - do{ - d.setDisabled(g.nodeName.toLowerCase(),0); - d.setActive(g.nodeName.toLowerCase(),1); - }while(g = g.parentNode); - } - }); - } - }); - - tinymce.PluginManager.add("yomigana",tinymce.plugins.yomigana); -})(); \ No newline at end of file diff --git a/mce/img/q.png b/mce/img/q.png index 0ed8109b8821155222348d0ebbc495fe5a3e4a63..99f55cce5e1fbdada24e745ec6e91359986887ca 100644 GIT binary patch delta 99 zcmV-p0G$8i0p9_TB#}u#kt8KnK}keGR47y3(76!+AP5CfP`UbVSVa@jp#V4I4bcaC z1ZKz{9LVa)JViCfN<<~1fBlCrrfLyo4U-`5feU#H?>dV349ur~^xOad002ovPDHLk FV1j#fCqDoH delta 104 zcmV-u0GI#Y0ptOYB#~q#kt9G{MoC0LRCwBA;KTwLI5`>Fz<>cokc|Tj*g;%&4i5Z+ z%&e@eOz48_Fw=&YAOkR{SkML8ApwI&kP#ZdOsrr45yS)l0R{ky_zcW6?+;7>0000< KMNUMnLSTY~hbL43 diff --git a/mce/img/small.png b/mce/img/small.png index 48fa0b963538076eb5aee77e6429415f8fc44faa..4e5fb15702b6e445478dc2be513465b9bdc388bd 100644 GIT binary patch delta 46 zcmdnXw3}&y%0$nIi7Kibt)4E9AsXjzopr0AN@S A3;+NC delta 48 zcmdnZw3lgu%ETJgi7F8s?Vc` diff --git a/mce/ruby.php b/mce/ruby.php index 0110654..4d996c4 100644 --- a/mce/ruby.php +++ b/mce/ruby.php @@ -3,8 +3,7 @@ //WordPressの初期化 require_once(dirname(dirname(dirname(dirname(dirname(__FILE__))))).DIRECTORY_SEPARATOR."wp-load.php"); -$tiny_mce_inc_dir = is_ssl() ? preg_replace("/^http:/", "https:", get_bloginfo("url")) : get_bloginfo("url"); -$tiny_mce_inc_dir .= "/wp-includes/js/tinymce/"; +$tiny_mce_inc_dir = home_url('/wp-includes/js/tinymce/'); ?> diff --git a/mce/scss/noruby_admin.scss b/mce/scss/noruby_admin.scss new file mode 100644 index 0000000..d70624d --- /dev/null +++ b/mce/scss/noruby_admin.scss @@ -0,0 +1,33 @@ +@charset "UTF-8"; + +ruby { + border: 1px dotted #ccc; + position: relative; + &:before{ + content: "ルビ"; + position: absolute; + background: #ddd; + color: #000; + padding: 0.2em; + width: 3em; + height: 1em; + line-height: 1em; + display: block; + text-align: center; + top: -1.4em; + left: 0; + font-size: 10px; + } + rp { + display: none; + } + rt { + font-size: 0.85em; + &:before { + content: "("; + } + &:after { + content: ")"; + } + } +} diff --git a/mce/scss/ruby.scss b/mce/scss/ruby.scss new file mode 100644 index 0000000..2dd5ee7 --- /dev/null +++ b/mce/scss/ruby.scss @@ -0,0 +1,14 @@ +@charset "UTF-8"; + +.panel_wrapper{ + #general_panel{ + height:auto; + } +} + +body{ + margin: 0; + form{ + padding: 0 10px; + } +} diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..1ad48ac --- /dev/null +++ b/readme.md @@ -0,0 +1,65 @@ +# WP-Yomigana + +Contributors: Takahashi_Fumiki +Tags: wysiwyg, formatting, tinymce, write, edit, post +Requires at least: 3.8 +Tested up to: 4.1 +Stable tag: 1.2.3 + +## Description + +このプラグインはWordPressのwysiwygエディターであるTinyMCEにrubyタグを入力する機能を追加します。 + +### このプラグインの機能 + +- ビジュアルエディタにルビボタンを追加します。テキストを選択してルビボタンをクリックすると、ルビが入力できます。 +- ルビをサポートしないブラウザ向けにhtmlタグにno-rubyクラスを追加します。スタイリングの詳細は管理画面を見てください。 +- ついでにインライン引用(qタグ)、注釈(smallタグ)、定義リスト(DL)も入力できるようになります。 +- テキストを選択するときは慎重に! + +## Installation + +1. ダウンロードする +2. zipファイルを解凍する +3. プラグインディレクトリにアップロードする(wp-content/plugins)。 +4. プラグインを有効化する + +特にこだわりがないのであれば、管理画面 > プラグイン > 新規追加からインストールすることをお勧めします。 + +## Screenshots + +1. ビジュアルエディタでのボタンの表示。「る」がrubyです。 +2. 設定画面。ビジュアルエディタのどの位置にボタンを出すか、決められます。 +3. ルビをサポートしないブラウザで編集すると、わかりやすくスタイリングされます。 + +## Changelog + +### 1.2.3 + +- Bugfix. 管理者以外が実はrubyを入力できないということに気づいたので、修正。 +- キャッシュ対策のため、no-rubyクラスの出力をJSに移譲。これにより、rubyサポートブラウザでno-rubyが出力されないように。 +- body.no-rubyをhtml.no-rubyに変更 + +### 1.2.2 + +- Bugfix. IEでルビが入力できないことに気づいたので、直しました。ただし、全体的にややバギーです。気をつけて使ってください。 + +### 1.2.1 + +- Bugfix. ファイルを追加するのを忘れました。 + +### 1.2 + +- MS Wordからコピペしたときにrpタグがついてしまうので、サポートしました。 + +### 1.1 + +- rubyをサポートしないブラウザに対してno-rubyクラスを出力するようにしました。 + +### 1.0 + +- 公式リポジトリに追加 + +### 0.8 + +- プラグイン誕生 \ No newline at end of file diff --git a/readme.txt b/readme.txt index f3f6304..f261305 100644 --- a/readme.txt +++ b/readme.txt @@ -1,9 +1,10 @@ === WP-Yomigana === -Contributors: Takahashi_Fumiki -Tags: wysiwyg, formatting, tinymce, write, edit, post -Requires at least: 3.0 -Tested up to: 3.3.1 -Stable tag: 1.2.2 + +Contributors: Takahashi_Fumiki +Tags: wysiwyg, formatting, tinymce, write, edit, post +Requires at least: 3.8 +Tested up to: 4.1 +Stable tag: 1.2.3 == Description == @@ -11,10 +12,10 @@ Stable tag: 1.2.2 = このプラグインの機能 = -* ビジュアルエディタにルビボタンを追加します。テキストを選択してルビボタンをクリックすると、ルビが入力できます。 -* ルビをサポートしないブラウザ向けにbodyタグにno-rubyクラスを追加します。スタリングの詳細は管理画面を見てください。 -* ついでにインライン引用(qタグ)、注釈(smallタグ)、定義リスト(DL)も入力できるようになります。 -* テキストを選択するときは慎重に! +- ビジュアルエディタにルビボタンを追加します。テキストを選択してルビボタンをクリックすると、ルビが入力できます。 +- ルビをサポートしないブラウザ向けにhtmlタグにno-rubyクラスを追加します。スタイリングの詳細は管理画面を見てください。 +- ついでにインライン引用(qタグ)、注釈(smallタグ)、定義リスト(DL)も入力できるようになります。 +- テキストを選択するときは慎重に! == Installation == @@ -25,29 +26,40 @@ Stable tag: 1.2.2 特にこだわりがないのであれば、管理画面 > プラグイン > 新規追加からインストールすることをお勧めします。 +== Screenshots == + +1. ビジュアルエディタでのボタンの表示。「る」がrubyです。 +2. 設定画面。ビジュアルエディタのどの位置にボタンを出すか、決められます。 +3. ルビをサポートしないブラウザで編集すると、わかりやすくスタイリングされます。 + == Changelog == += 1.2.3 = + +- Bugfix. 管理者以外が実はrubyを入力できないということに気づいたので、修正。 +- キャッシュ対策のため、no-rubyクラスの出力をJSに移譲。これにより、rubyサポートブラウザでno-rubyが出力されないように。 +- body.no-rubyをhtml.no-rubyに変更 + = 1.2.2 = -Bugfix. IEでルビが入力できないことに気づいたので、直しました。ただし、全体的にややバギーです。気をつけて使ってください。 +- Bugfix. IEでルビが入力できないことに気づいたので、直しました。ただし、全体的にややバギーです。気をつけて使ってください。 = 1.2.1 = -Bugfix. ファイルを追加するのを忘れました。 +- Bugfix. ファイルを追加するのを忘れました。 = 1.2 = -MS Wordからコピペしたときにrpタグがついてしまうので、サポートしました。 +- MS Wordからコピペしたときにrpタグがついてしまうので、サポートしました。 = 1.1 = -rubyをサポートしないブラウザに対してno-rubyクラスを出力するようにしました。 - +- rubyをサポートしないブラウザに対してno-rubyクラスを出力するようにしました。 = 1.0 = -公式リポジトリに追加 +- 公式リポジトリに追加 = 0.8 = -プラグイン誕生 \ No newline at end of file +- プラグイン誕生 \ No newline at end of file diff --git a/screenshot-1.png b/screenshot-1.png new file mode 100644 index 0000000000000000000000000000000000000000..919d59fdd5e78634074fc3cf70e278da3ad7b607 GIT binary patch literal 33607 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 I(J1);0luTWLI3~& literal 0 HcmV?d00001 diff --git a/screenshot-3.png b/screenshot-3.png new file mode 100644 index 0000000000000000000000000000000000000000..b1f71ca0b0d098d2cf9c53632456d66ab0e1dfb8 GIT binary patch literal 32375 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

rTWD5hsHO6&gIT&AH~uCl6*l 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 literal 0 HcmV?d00001 diff --git a/wp-yomigana.php b/wp-yomigana.php index 615e40c..640b2f3 100644 --- a/wp-yomigana.php +++ b/wp-yomigana.php @@ -1,9 +1,10 @@ false, + 'ruby' => false, 'small' => false, - 'dl' => false, - 'q' => false + 'dl' => false, + 'q' => false ); - + /** - * コンストラクタ + * コンストラクタ */ - public function __construct(){ + public function __construct() { //保存されていた設定で上書き - $saved_option = get_option('wp_yomigana_options'); - if($saved_option && is_array($saved_option)){ - foreach($saved_option as $key => $val){ - if(isset($this->option[$key])){ - $this->option[$key] = $val; + $saved_option = get_option( 'wp_yomigana_options' ); + if ( $saved_option && is_array( $saved_option ) ) { + foreach ( $saved_option as $key => $val ) { + if ( isset( $this->option[ $key ] ) ) { + $this->option[ $key ] = $val; } } } - //設定画面の登録 - add_action('admin_menu', array($this, 'admin_menu')); - //TinyMCEの設定 - add_action('init', array($this, 'init')); - //各種フィルター - add_filter('body_class', array($this, 'body_class')); + // 設定画面の登録 + add_action( 'admin_menu', array( $this, 'admin_menu' ) ); + // TinyMCEの設定 + add_action( 'init', array( $this, 'init' ) ); + // rubyタグを有効にする + add_filter( 'wp_kses_allowed_html', array( $this, 'kses_allowed_html' ), 10, 2 ); + // Rubyタグをサポートしないブラウザ向けにCSSとJSを書き込む + add_filter( 'wp_head', array( $this, 'wp_head' ), 99); } - + /** * 指定されたタグが何列目に表示されるかを返す - * @param type $tag - * @return int + * + * @param string $tag + * + * @return int */ - private function get_row_index($tag){ - if(is_string($tag) && isset($this->option[$tag]) && is_array($this->option[$tag]) && isset($this->option[$tag][0])){ - return (int)$this->option[$tag][0]; - }else{ + private function get_row_index( $tag ) { + if ( is_string( $tag ) && isset( $this->option[ $tag ] ) && is_array( $this->option[ $tag ] ) && isset( $this->option[ $tag ][0] ) ) { + return (int) $this->option[ $tag ][0]; + } else { return 0; } } /** * 指定されたタグが何番目に表示されるかを返す - * @param type $tag + * + * @param string $tag + * * @return int 表示されない場合は0 */ - private function get_column_index($tag){ - if(is_string($tag) && isset($this->option[$tag]) && is_array($this->option[$tag]) && isset($this->option[$tag][1])){ - return (int)$this->option[$tag][1]; - }else{ + private function get_column_index( $tag ) { + if ( is_string( $tag ) && isset( $this->option[ $tag ] ) && is_array( $this->option[ $tag ] ) && isset( $this->option[ $tag ][1] ) ) { + return (int) $this->option[ $tag ][1]; + } else { return 0; } } - + /** - * 管理画面にページを追加する + * 管理画面にページを追加する */ - public function admin_menu(){ - add_options_page('ルビ設定', 'ルビ設定', 'manage_options', 'ruby-options', array($this, 'menu_page')); + public function admin_menu() { + add_options_page( 'ルビ設定', 'ルビ設定', 'manage_options', 'ruby-options', array( $this, 'menu_page' ) ); } - + /** - * 管理画面を描画する + * 管理画面を描画する */ - public function menu_page(){ + public function menu_page() { ?>

-

ルビ設定

- option as $tag => $array){ - $index = isset($_REQUEST[$tag.'_index']) ? abs($_REQUEST[$tag.'_index']) : 0; - $column_index = isset($_REQUEST[$tag.'_column_index']) ? abs($_REQUEST[$tag.'_column_index']) : 0; - if($index){ - $this->option[$tag] = array(min($index, 4), $column_index); - }else{ - $this->option[$tag] = false; +

ルビ設定

+ option as $tag => $array ) { + $index = isset( $_REQUEST[ $tag . '_index' ] ) ? abs( $_REQUEST[ $tag . '_index' ] ) : 0; + $column_index = isset( $_REQUEST[ $tag . '_column_index' ] ) ? abs( $_REQUEST[ $tag . '_column_index' ] ) : 0; + if ( $index ) { + $this->option[ $tag ] = array( min( $index, 4 ), $column_index ); + } else { + $this->option[ $tag ] = false; } - update_option('wp_yomigana_options', $this->option); + update_option( 'wp_yomigana_options', $this->option ); } ?>

設定を更新しました

- -
- - - - option as $tag => $setting): ?> + ?> + + +
+ + option as $tag => $setting ): ?> - -
タグのボタン - get_row_index($tag); global $is_IE;?> + get_row_index( $tag ); + global $is_IE; ?> - 表示順位: + 表示順位:
- -
-

ルビをサポートしないブラウザに対して

-

- ルビをサポートしないブラウザ(Opera, Firefox)に対してはbodyタグにno-rubyクラスを付与します。お使いのテーマのstyle.cssに下記のコードを記入すれば、インラインで表示されることを防げます。
- Notice: Microsoft Wordなどからコピー&ペーストした場合は自動でrpタグが入ります。括弧が2重になるのを防ぐために、rpタグの表示をオフにした方がいいかもしれません。 -

-
-			.no-ruby rt:before{
-				content: '(';
-			}
-			.no-ruby rt:after{
-				content: ')';
-			}
-			.no-ruby rp{
-				display:none;
-			}
-		
+ + + + +

ルビをサポートしないブラウザに対して

+ +

+ ルビをサポートしないブラウザ(Opera, Firefox)に対してはhtmlタグにno-rubyクラスを付与します。 + お使いのテーマのstyle.cssに下記のコードを記入すれば、インラインで表示されることを防げます。 +

+

+ Notice: Microsoft Wordなどからコピー&ペーストした場合は自動でrpタグが入ります。 + 括弧が2重になるのを防ぐために、rpタグの表示をオフにした方がいいかもしれません。 +

+
+.no-ruby rt:before{
+	content: '(';
+}
+.no-ruby rt:after{
+	content: ')';
+}
+.no-ruby rp{
+	display:none;
+}
+
- is_ruby_disabled()){ - add_filter("mce_css", array($this, 'css_admin')); + public function init() { + // リッチエディターが有効なときだけ登録 + add_filter( "mce_external_plugins", array( $this, 'activate' ) ); + add_filter( 'mce_buttons', array( $this, 'register_buttons_1' ), 10000 ); + add_filter( 'mce_buttons_2', array( $this, 'register_buttons_2' ), 10000 ); + add_filter( 'mce_buttons_3', array( $this, 'register_buttons_3' ), 10000 ); + add_filter( 'mce_buttons_4', array( $this, 'register_buttons_4' ), 10000 ); + + // TinyMCEで実行される + add_filter( "tiny_mce_before_init", array( $this, "mce_init" ), 1000 ); + + // ルビタグをサポートしないブラウザ向けに管理画面用CSSを読み込む + if( $this->is_ruby_disabled() ){ + add_filter( "mce_css", array( $this, 'css_admin' ) ); } } - + /** * ボタンを登録する + * * @param array $buttons - * @param int $index + * @param int $index + * * @return array */ - private function register_button($buttons, $index){ - foreach($this->option as $tag => $array){ + private function register_button( $buttons, $index ) { + foreach ( $this->option as $tag => $array ) { //表示すべき列か否か - if($this->get_row_index($tag) == $index){ - $insert_index = $this->get_column_index($tag); - if($insert_index == 0){ - $new_buttons = array_merge(array($tag), $buttons); - }elseif($insert_index >= count($buttons)){ - $new_buttons = array_merge($buttons, array($tag)); - }else{ + if ( $this->get_row_index( $tag ) == $index ) { + $insert_index = $this->get_column_index( $tag ); + if ( $insert_index == 0 ) { + $new_buttons = array_merge( array( $tag ), $buttons ); + } elseif ( $insert_index >= count( $buttons ) ) { + $new_buttons = array_merge( $buttons, array( $tag ) ); + } else { $new_buttons = array(); - $counter = 1; - foreach($buttons as $button){ - if($counter == $insert_index){ + $counter = 1; + foreach ( $buttons as $button ) { + if ( $counter == $insert_index ) { $new_buttons[] = $tag; } $new_buttons[] = $button; - $counter++; + $counter ++; } } $buttons = $new_buttons; } } + return $buttons; } - - public function register_buttons_1($buttons){return $this->register_button($buttons, 1);} - public function register_buttons_2($buttons){return $this->register_button($buttons, 2);} - public function register_buttons_3($buttons){return $this->register_button($buttons, 3);} - public function register_buttons_4($buttons){return $this->register_button($buttons, 4);} + + public function register_buttons_1( $buttons ) { + return $this->register_button( $buttons, 1 ); + } + + public function register_buttons_2( $buttons ) { + return $this->register_button( $buttons, 2 ); + } + + public function register_buttons_3( $buttons ) { + return $this->register_button( $buttons, 3 ); + } + + public function register_buttons_4( $buttons ) { + return $this->register_button( $buttons, 4 ); + } /** * TinyMCE用のプラグインを登録する + * * @param array $plugin_array + * * @return array */ - function activate($plugin_array) - { - //DEBUG - $src = $_SERVER['SERVER_NAME'] == 'takahashifumiki.local' ? 'editor_plugin_src.js' : 'editor_plugin.js'; - $plugin_array['yomigana'] = plugin_dir_url(__FILE__).'/mce/'.$src; + function activate( $plugin_array ) { + $plugin_array['yomigana'] = plugin_dir_url( __FILE__ ) . 'mce/' . (WP_DEBUG ? 'editor_plugin.js' : 'editor_plugin.min.js'); return $plugin_array; } - + /** * TinyMCEを初期化するときに実行される - * @param type $init_arr - * @return string + * + * @param array $init_arr + * + * @return string */ - public function mce_init($init_arr){ - if(!empty($init_arr["extended_valid_elements"])){ + public function mce_init( $init_arr ) { + if ( isset( $init_arr["extended_valid_elements"] ) && ! empty( $init_arr["extended_valid_elements"] ) ) { $init_arr["extended_valid_elements"] .= ",ruby[id|class],rt,rp"; - }else{ - $init_arr["extended_valid_elements"] .= "ruby[id|class],rt,rp"; + } else { + $init_arr["extended_valid_elements"] = "ruby[id|class],rt,rp"; } return $init_arr; } - + + /** + * 有効なタグのリストを追加する + * + * @param string $tags + * @param string $context + * + * @return string + */ + public function kses_allowed_html( $tags, $context ) { + foreach( array( + 'ruby' => array( + 'id' => true, + 'name' => true, + 'class' => true, + 'title' => true, + ), + 'rt' => true, + 'rb' => true, + 'rp' => true, + ) as $tag_name => $setting ){ + if( !isset($tags[$tag_name]) ){ + $tags[$tag_name] = $setting; + } + } + return $tags; + } + /** * ルビタグをサポートしないブラウザ向けに、管理画面専用のCSSを読み込む - * + * * @param string $css + * * @return string */ - function css_admin($css) - { - $url = plugin_dir_url(__FILE__)."mce/css/noruby_admin.css?v=".self::VERSION; - ?> - - is_ruby_disabled()){ - $classes[] = 'no-ruby'; - } - return $classes; + public function wp_head() { + echo " + +"; + } + /** * ルビタグをサポートしないブラウザ(Opera, FF)か否か - * @global type $is_gecko - * @global type $is_opera - * @return boolean + * @global string $is_gecko + * @global string $is_opera + * @return boolean */ - private function is_ruby_disabled(){ + private function is_ruby_disabled() { // Opera, FFはサポートしていない global $is_gecko, $is_opera; - if($is_opera || $is_gecko){ + if ( $is_opera || $is_gecko ) { return true; - }else{ + } else { return false; } } } -new WP_Yomigana(); \ No newline at end of file + +new WP_Yomigana();