「sentinote」はEvernoteのノートをWordpressのエントリに投稿してくれる便利なWordpressプラグインだ。Markdownにも対応している。
しかし、残念ながら日本語に対応していない。ノートに日本語が記述されていると、そこから下はエントリに反映されない。しかも、2014年で作者がアップデートを停止してしまっている。
しかたがないので、自力でsentinoteを改造して、無理矢理日本語対応させた。
sentinoteをWordpressにインストールする
sentinoteは、自前でサーバを運営しているWordpressでのみ使用できる。Wordpress.comでは利用できない。ダッシュボードからインストールして設定する。
プラグインの追加
- ① キーワード「sentinote」で検索し、②をクリック。
プラグインを有効化
- インストールが完了したら、③をクリック。
投稿アカウントとデフォルトカテゴリを設定
- 左サイドメニューの④をクリックして、sentinoteの設定画面を表示。
- ⑤で投稿用アカウントを、⑥に投稿時のデフォルトカテゴリを設定する、
-
Markdownを使うときは、⑦にチェックを入れる。⑧はチェックを入れない。(なぜか画像の差し替えがうまくいかない…)
-
最後に⑨をクリック。
-
ちなみにAのボタン「Mark Sync now」は手動で強制的にEvernoteとWordpressを同期するときに使用する。
Evernoteのデベロッパートークンとブログ用ノートブック名を設定
- ⑩をクリックしてタブを切り替える。
-
⑪をクリックするとEvernoteのWebが開くので、そこでデベロッパートークン(Developer Token)の文字列を取得し、⑫に入力する。
-
⑬はEvernoteでブログ投稿用ノートを保存するノートブックの名前を入れる(ここでは「blog」)。⑭もチェックを入れておく。
-
最後に⑮で保存。これで設定は完了。
sentinoteを改造する。
sentinoteのソースコードを改造して、日本語対応させる。
準備
以下のページから「mb_str_replace」関数のコードを取得しておく。
https://github.com/fetus-hina/mb_str_replace/blob/master/src/mb_str_replace.function.php
mb_str_replace 関数を追加
(Wordpress設置ディレクトリ)/wp-content/plugins/sentinote/sentinote.php
の最終行にmb_str_replace関数のコードを追加
str_replace 関数をmb_str_replace 関数に書き換える
以下のファイル内の「str_replace」を「mb_str_replace」に置換する。
(Wordpress設置ディレクトリ)/wp-content/plugins/sentinote/inc/connect-evernote.php
(Wordpress設置ディレクトリ)/wp-content/plugins/sentinote/inc/process-notes.php
(Wordpress設置ディレクトリ)/wp-content/plugins/sentinote/lib/PHPMarkdownLib/Michelf/Markdown.php
クオートの置き換えを無効化する
以下のファイルをエディタで開く
(Wordpress設置ディレクトリ)/wp-content/plugins/sentinote/inc/utility-functions.php
最後から2番目の行を以下の様に書き換える
return str_replace($search, $replace, $string);
↓
//return str_replace($search, $replace, $string);
return $string;
ブログ投稿テスト
- Evernoteを開き、⑬で設定したノートブックの中に投稿用ノートを作成する。
-
ノートができたら、「published」とタグを付けて、保存。クラウドと同期する。
-
次にWordpressのsentinoteの設定画面で「Manual Sync Now」のボタンを押す。
同期が完了すると、ノートがWordpressに投稿されている(はず)。