Swimming
Walking
J-POP
Blog Customize - menu

投稿記事作成補助「サクラエディタ」用マクロ

2020-08-22 更新:2020-09-01

スクリプト



皆さんはどうしているのでしょうか?

blogger の新メニューの[投稿エディタ]は非常に扱いづらくて困っています。


以下の不具合があります。


  1. 「作成ビュー」でないとタイトルを記載できない。
    (おまかんかも?)
  2. 「作成ビュー」でないと検索向け説明を記載できない。
    (おまかんかも?)
  3. 「作成ビュー」「HTMLビュー」の切り替えが、いったん終了しないとできない。
    (おまかんかも?)
  4. 「作成ビュー」「HTMLビュー」の切り替え時にタグが飛ぶことがある。
    (不確定)
  5. 「作成ビュー」でないと出来ないことが多すぎる。
  6. 任意の位置に画像を挿入できない。
    (2020.08.15のアップデートで「HTMLビュー」での画像と動画のアップロードと挿入がサポートされ、それにともない「HTMLビュー」でのみ出来るようになった。)
  7. トップページや関連記事のサムネイルが表示されなくなることがある。
  8. 複数画像をアップすると順番がメチャクチャ
    (2020.08.15のアップデートで「HTMLビュー」での画像と動画のアップロードと挿入がサポートされ、それにともない修正。)

いくつかは私の勘違いかもしれませんが、ほかにも何かあるような気がします。

blogger の部署の人は何を考えて新しい管理画面[投稿エディタ]に変えたのだろうと思ってしまいます。

任意の位置に画像を挿入できるようにすることだけでも早く修正してもらいたいです。


そこで、私は記事を作成するときはほとんどテキストエディタで作成して「HTMLビュー」に貼り付け、どうしようもない部分だけ「作成ビュー」で補完しています。


なので、テキストエディタが重要になってきますが、私の使っているのは「サクラエディタ」というものです。

これはとてもマクロが強力でキーボードマクロのほかWSHマクロ( JScript, VBScript )を利用できます。

このうち JScript は非常に Javascript に似ていて好んで使っています。


投稿記事作成によく使っている「pタグ挿入(選択行)」と「HTML特殊文字変換(選択行)」の2つの簡単なマクロを紹介します。

「サクラエディタ」を使っている方なら、以下のコードをファイルにしてマクロに登録して、 「キー割り当て」をすれば簡単に利用できます。



「マクロの登録」はツールバーから

「設定(O)」→「共通設定」→「マクロ」タブにて設定します。

実際の詳細はサクラエディタのヘルプを参照してください。



「キー割り当て」はツールバーから

「設定(O)」→「共通設定」→「キー割り当て」タブにて設定します。

実際の詳細はサクラエディタのヘルプを参照してください。



実際のキー割り当てはお好きな任意のキーでいいと思います。





pタグ挿入(選択行).js


// pタグ挿入(選択行) 選択行のみ以下の処理をする
// 1. 行頭に<p>・行末に</p> 追加
// 2. 空行ならば <br /> 追加
// 通常選択中ならば (0:非選択状態, 1:通常選択中, 2:矩形選択中)
if(Editor.IsTextSelected() == 1) {
// 処理するテキストの改行コード取得
var n = ['\r\n', '\r', '\n'][Editor.GetLineCode()];
var es=""; //結果用
var bln=Editor.GetSelectLineFrom(); // 選択開始行番号
var eln=Editor.GetSelectLineTo(); // 選択終了行番号
var sln=eln-bln; // 選択されている行数
for (var i=0; i < sln; i++){
// 行内容を改行コードを除いて取得
var contl=Editor.GetLineStr(bln + i).replace(/[\r\n]+$/, '');
if(contl != ""){
es+="<p>"+contl+"</p>"+n; // 空行でなければpタグ追加
} else {
es+="<br />"+n; // 空行ならば <br /> + 改行
}
}
Editor.InsText(es); // 選択範囲をesで上書き
}




HTML特殊文字変換(選択行).js


// HTML特殊文字変換(選択行)
// 選択されている文字列中の HTML の特殊文字をコード変換する
var spaceConvFlag = false; // 半角文字列を &nbsp; に変換するかどうか
var retConvFlag = false; // 改行を <br /> に変換するかどうか
var quotConvFlag = false; // ダブルクォーテーションを &quot; に変換するかどうか
var aposConvFlag = false; // アポストロフィを &#039; に変換するかどうか
// 通常選択中ならば (0:非選択状態, 1:通常選択中, 2:矩形選択中)
if(Editor.IsTextSelected() == 1) {
var SelectedText = Editor.GetSelectedString(); // 選択されている部分の文字列
SelectedText = toHtml( SelectedText );
Editor.InsText(SelectedText);
}
// HTML特殊文字変換
function toHtml(str){
var n = ['\r\n', '\r', '\n'][Editor.GetLineCode()]; // このテキストの改行コード取得
str = str.replace(/&/g, "&amp;");
str = str.replace(/</g, "&lt;");
str = str.replace(/>/g, "&gt;");
str = str.replace(/\t/g, " ");
if (aposConvFlag) str = str.replace(/'/g, "&#039;");
if (quotConvFlag) str = str.replace(/\"/g, "&quot;");
if (spaceConvFlag) str = str.replace(/ /g, "&nbsp;");
if (retConvFlag) str = str.replace(/[\r\n]+/g, "<br />"+n);
return str;
}


他のエディタを使っている方は残念ですがコードを参考にしてそのエディタのマクロを作成してください。m(_ _)m


あとタグは人によって好き嫌いがあると思いますので中身を見て好きなタグに変更してください。


HTML特殊文字変換(選択行).js は加工すればもっと便利に使えそうですね。

pタグを除去して、str の前後に <pre><code class="">...</code></pre> をつければ、 pタグ挿入(選択行).js で全行処理してからソースコード部分だけを選択処理できますね。




プロフィール


ryo

現役時代のスタイル・ワンは平泳ぎでした。 ...が、マスターズで入賞できないので バタフライ長距離(200m)に仕方なく挑んでいます。

このブログを検索

@TCOM

このブログで人気の投稿

コロナワクチン接種(ファイザー2回目)

QooQ