自宅のWindowsPCローカルにWordPressをインストールしている。
はてなブログをエクスポートして、WordPressにインポートした。
ブログカードは、はてなブログに依存したままになる。自分のブログ記事へのリンクをクリックすると、はてなブログの記事が開いてしまう。
自分のブログ記事へのリンクになっているブログカードの参照先を、自宅PCローカルのWordPressの自分のブログを参照するようにする。
下の形式のブログカードを、WordPressショートコードに変換する。
≪はてなブログ・ブログカード・サンプル≫
<p><iframe src="https://hatenablog-parts.com/embed?url=https%3A%2F%2F2ndart.hatenablog.com%2Fentry%2F2020%2F07%2F16%2F145622" title="タイトル" class="embed-card embed-blogcard" scrolling="no" frameborder="0" style="display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;" loading="lazy"></iframe></p>
↓↓↓↓↓
≪WordPress・ブログカード用ショートコード・サンプル≫
<p>[nmblogcard url="/wordpress/2020/07/16/2020-07-16-14562/"]</p>
■ スクリプトJScript「blogcard-chg.jse」を作成。
エクスポートファイル内の画像リンクをWordPressローカルに変えるJScriptの後で使う。
※ エクスポートファイルをこのスクリプトファイル「hatena-img-chg.jse」に、ドラッグ&ドロップして使う。
xxx.hatenablog.com.export-imgchg.txt
↓↓↓(変更後のファイル)
xxx.hatenablog.com.export-imgchg-blogcard.txt
≪blogcard-chg.jse≫
// *** ドラッグ&ドロップしたパス情報を取得 var args = WScript.Arguments; var inputFile = args(0); var adTypeText = 2; var adSaveCreateOverWrite = 2; // 上書き var adReadAll = -1; // 全行 var sr1 = new ActiveXObject("ADODB.Stream"); sr1.Type = adTypeText; sr1.charset = "utf-8"; sr1.Open(); sr1.LoadFromFile(inputFile); // はてなブログ エクスポート・ファイル var str = sr1.ReadText( adReadAll ); sr1.Close(); var stw = new ActiveXObject("ADODB.Stream"); stw.type = adTypeText; stw.charset = "utf-8"; stw.Open(); var out = ""; var lines = str.split(/\r?\n/); var card = false; for (var i=0, z=lines.length; i<z; i++) { card = false; var iframe = lines[i].match(/<iframe(.*)<\/iframe>/); if (iframe) { var src = iframe[1].match(/src="https?:\/\/hatenablog-parts.com\/embed\?url\=https?%3A%2F%2F2ndart\.hatenablog.com%2Fentry%2F(.*)" /); // 何故か "以降も入ってくる。 if (src) { var urlymd = src[1].split('"'); if (urlymd) { var spt = urlymd[0] .split('%2F'); var ymd = spt[0] + '/' + spt[1] + '/' + spt[2] + '/' + spt[0] + '-' + spt[1] + '-' + spt[2] + '-' + spt[3]; out = out + '<p>[nmblogcard url="/wordpress/' + ymd + '/"]</p>\n'; card = true; } } } if (!card) { out = out + lines[i] + "\n"; } } stw.WriteText(out); stw.SaveToFile(inputFile.slice(0,-4) + "-blogcard.txt", adSaveCreateOverWrite); stw.Close();
変換したエクスポートファイルをWordPressでインポートすることで、ブログカードがショートコードによるタイプになり、自宅PCローカルのWordPressの自分のブログを参照するようになる。