はてなからWordPressへの移転(2) 書き換えプログラム公開

続きです。

書き換えプログラム公開

はてなからWordpressに移行する時、いくつかの障害を乗り越える必要がありました。これを自動的にエクスポートファイルを書き換えることで解決するプログラムを作りました。次の3点の機能を実装しています。

  • パーマリンクの形式がはてなとwordpressで異なるため、インポートしても記事が表示されない不具合を直す
  • はてなのブログカードがWordpressでは表示されないので、テキストリンクに変換する、またはPz-LinkCardプラグイン用のリンクに書き換える
  • はてなキーワードへのリンクを全削除する(はてなブログproを使っていない人向け)

プログラムはこちらです。Windows専用です。exeファイルが入ってるのでダウンロード時に警告が出るかもしれませんが、ウイルスは検出されませんでした。

はてな to WordPress

簡単に使い方を書いておきます。

まずはてなブログからエクスポートしたファイルを用意します。

20160925_3

次にHatenaToWP.zipファイルを解凍して、HatenaToWP.exeを起動します。

20160925_4

「選択…」を押してさっき用意したファイルを選択します。

20160925_5

「ブログカードの取り扱い」は、テキストリンクに変換するか、ブログカードにするか好きな方を選択してください。「Pz-LinkCard形式」を選択する場合は、事前にWordPressの「プラグイン」からPz-LinkCardをインストールしておいてください。

「変換」ボタンを押すと0.5秒ほどで変換が終了します。入力ファイル名に

WP_

を頭に挿入したファイルが作成されます。この例ではWP_rokujo.hatenadiary.com.export.txt という名前になりました。

20160925_6

あとはこのファイルを、Wordpress

ツール→インポート→Movable Type と TypePad

からインポートして、終わりです。

20160925_8

 

当ブログではこの機能を使って、ほぼ前のブログの体裁を保ちつつ移行することに成功しました。

20160925

20160925_2

ブログカードのソーシャルカウント機能が動作していないのが気になりますが、動作には問題ありません。いずれ修正できたらします。

このツールを使って、はてなからWordpressへ引っ越すための敷居が下がることを望んでいます。機能追加の要望や不具合があればぜひ報告してください。治します。ただし、不具合修正のためには、面倒ですがあなたのブログのエクスポートファイルをデバッグ用にメール送付してください。ブログはもともとweb上で公開しているものですから特に問題ないと考えていますが、デバッグ後は責任をもってデータを消去いたします。

 

今後の課題としては、

  • はてな上に保存されている画像の一括取得機能とリンクの置き換え
  • ブログ内リンクのアドレス自動書き換え

の機能があると便利なのですが、手間がかかるのでまだ実装していません。

レンタルサーバー、独自ドメインについて

レンタルサーバーは月500円程度、独自ドメインは年1500円程度で取得できます。独自ドメインはお名前.comというサイトで登録しましたが、ここは1年目の料金が17円~からと激安なのに、2年目以降の料金が跳ね上がったりすることがあります。

料金はこちらを参考にして下さい。.net、.org、.bizなどは2年目以降も安いですが、.websiteは1年目99円なのに2年目以降2980円、.onlineに至っては2年目以降4980円です。注意してください。


書籍レビュー:『セクシャル・マイノリティ Q&A』編著:LGBT支援法律家ネットワーク出版プロジェクト

★★★★★

Q&Aという形式をとって、セクシャル・マイノリティの人が、社会生活を送るために具体的にどのような困りごとがあるのか、どう対応していけばいいのか、ということを主に法律家の立場から解説する本です。

セクシャル・マイノリティと謳っていますが実際にはほぼLGBTの人たちへの情報集でした。「LGBTの人が、マジョリティのために作られた社会制度の上にどうやって乗っかっていくか」がメインとなっています。例えば、

  • 心の性別と体の性別が違うときにはどのような手続きを取ればよいか?
  • 修学旅行のとき寝室をどうしよう。。
  • 自分が死んだときパートナーに財産を残すにはどうしたらいい?

といった、LGBTが日本で送る生活の中で必ずぶつかるであろう、社会的圧力や法的障害に対応するためのアドバイスが書かれています。ぼくはいまパートナーと法的にいえば事実婚状態なのですが、財産や任意後見制度、信託など事実婚についても適用できるアドバイスも多く、参考になりました。

途中にLGBT当事者によるコラムが挟まれていますが、彼らに共通しているのは、周りがみなバカにしている・異常だと思われる・誰にも相談できないことによる疎外感です。性別違和を感じニューハーフとなった後、男性学に出会いそのまま大学→修士まで修めてしまった宮田りりぃさんのコラムが一番面白かったです。

華やかな夜の都会で働く人々とのかかわりを通して、魅力的な女性/男性のイメージや恋愛関係が意図的・計画的に演出されていく様を間近で見ることが面白くてたまらないという感じでした。

本書に書かれているアドバイスはどれも個別で具体的なものですが、どのQ&Aにも執筆者さんの根底に「相談者さんの人格を大事にしたい」という思いが感じ取れます。それは、序盤の概論で次のように書かれている箇所に凝縮されていると思いました。

仮にマジョリティの人たちの方が多いとしても、多いからといって、それが「正しい」とか「普通」だとか「自然」だということにはなりません。人が、自分のことをどの性別だと思うか、また、誰を好きになるかということは、その人にとってとても大切なことです。そして、その人がどう生きるかといった、その人の人間としての尊厳(人間が人間らしくあること)に大きく関係することです。ですので、そのことについて、周りの人たちが「正しくない」とか「変」とか「不自然」だといったり、「こうあるべき」と決めつけたりすることは許されません。(P11)

マジョリティ側からかけられる圧力は、彼らの習慣に基づいたものに過ぎません。自分と他人の習慣が異なると、自分を否定されたようにに感じる人が多いので、数をたのんで「正しくない」だの「変」だのとマイノリティを攻撃して自分を保つ、という構造をよく見かけます。

誰一人同じ人間なんていないんだから、お互いを尊重できればそれでいいのにね。

 

 

 


はてなからWordPressへの移転

2016年6月頃から、はてなブログ・はてなダイアリーでは、はてなにとって都合の悪いサイトに黙って

 <meta name="robots" content="noindex,nofollow"/>

というタグをぶち込んで、検索エンジンの検索対象外にしているそうです。

 


リンク先はアフィリエイトサイトを検索対象外にしたという記事ですが、昨日、アフィリエイトサイトでなくてもMETAタグを追加していることが分かりました。

はてなは、都合が悪いと事前警告なしで秘密裏に検索避けのタグを埋め込みます。はてなブログは誰でも簡単にレイアウトやSNS連携を行ってくれる便利なサービスでしたが、企業として信頼がおけなくなりました。独自ドメインとレンタルサーバーを使って、近日中にこのサイトも移転してしまいます。

 

以下の方法で移転します。

 

はてなブログにはエクスポート機能があります。MovableTypeという形式でテキストファイル出力ができます。

設定→上のタブの「詳細設定」→エクスポート「記事のバックアップと製本サービス」

からエクスポートできます。

MovableType形式はWordpressからインポートできるので、Wordpressへの移行は一見すると容易ですが、いくつか問題点があります。

URLを維持して移行するのが難しい→カスタムURLを使う
はてなキーワードのリンクが残る→あらかじめ消しておく
ブログカードが表示されなくなる→記事のURLを添えておく
画像がはてなフォトライフに残る→他の選択肢を使う

1~3点目は根性出して手作業で書き換えをするという手もありますが、面倒なのでエクスポートファイルを書き換えるプログラムを作ります。4点目は、はてなのアカウントを残しておくしかないでしょう。

 

作業途中の画像です。

 

はてなブログはSNSとしては優れた装置でしたが、このブログは大したアクセス数もありませんし、ドメインを取ったらこの記事に追記して終わりにします。


outlookのアイテムからヘッダ内容を読み込む

メモ

outlookをC#から操作するとき、メールのヘッダ内容だけ読み込みたいことがありますが、outlook付属のインターフェースにはヘッダを表すプロパティがありません。
長い時間をかけて調査したら、次のサイトが引っかかりました。
[Solved] Outlook add-in in C#: get message header? – CodeProject

古いバージョンのC#のコードに翻訳すると、次のようになります。
http://schemas.microsoft.com/mapi/proptag/0x007D001E
という呪文が必要だそうです。

const string PR_TRANSPORT_MESSAGE_HEADERS = "http://schemas.microsoft.com/mapi/proptag/0x007D001E";
//MailItemからヘッダ内容を得る
public static string GetHeader(Microsoft.Office.Interop.Outlook.MailItem mi)
{
Microsoft.Office.Interop.Outlook.PropertyAccessor olPA = mi.PropertyAccessor;
string header = (string)olPA.GetProperty(PR_TRANSPORT_MESSAGE_HEADERS);
System.Runtime.InteropServices.Marshal.ReleaseComObject(olPA);
return header;
}

書籍レビュー: 『すぐに役立つ 少額訴訟・支払督促のしくみと手続き実践文例56』

★★★★☆

60万円までの金銭請求までしかできないけれど、1回で審理が集結してその場で判決が出る、上告もできない超スピード審理が特徴の「少額訴訟」を解説した本です。

裁判費用は最大でも1万円で弁護士も必要なし。訴状を出したら、書記官さんがこういう資料を用意してね~とかここの書き方が間違ってるよ~と親切に教えてくれます。庶民にやさしい訴訟です。勝訴すれば、判決が確定してなくても仮執行で金銭の差し押さえができちゃいます。負けても1万円損するだけ。

「支払督促」は金銭トラブルに絞った、少額訴訟よりももっと簡素な、出廷さえしなくてもよい手続きです。原則、瑕疵が無ければ主張は認められるので、相手方からの異議申し立てが無ければ仮執行~強制執行までできちゃいます。給料不払いや敷金未返還トラブルには、泣き寝入りしないでぜひこの制度を活用するべきです。

相手方が離れた地にいたとしても、次のシステムを使えば遠隔地の裁判所まで行かなくても督促出来ちゃいます。

督促手続オンラインシステム

 

よくまとまっている本でした。

 


書籍レビュー: 『さびしすぎてレズ風俗に行きましたレポ』 永田カビ

★★★★★

 

レズ風俗のレポというよりも、作者の心象風景がメインとなる作品です。

人生で一度でも挫折の経験がある人は、彼女の根底にある真っ暗なものとシンクロして、心が揺さぶられるのではないかと思います。個人的には、以前自己評価がマイナスになっていた時期の記憶が耳かきでほじくり出されるような気持ちがしました。いい作品です。

パン屋のお兄さんのシーンが見所です。

 

amazonレビューが好悪極端に割れていますね

関連リンク

連載中。こちらの方が苦しいです

前の家の長女は一人暮らしできたのかな。


近況

6月末からパートナーにとって辛い出来事がいくつも押し寄せ、滝のように毎日が流れていきました。2か月間ずっと、パートナーは体調がよくなったり極端に悪くなったりを繰り返しています。彼女の病気はほとんど心因性ですので、ストレスが原因です。酷いことをする人間がいかに多いのか、2か月間でたくさん知りました。今日も彼女の具合は悪いです。

 

7月に元家族から嫌がらせの手紙が届きました。具合が悪いというのに、パートナーが対処してくれました。

 

7月末から8月頭にかけて、療養のために京都に旅行に行きました。繁華街の近くのウイークリーマンションに安く宿泊できたので、生活には困りませんでした。ちょうど祇園祭の終盤に重なる時期で、宵山やみたらし祭り、お寺巡りにも行くことができました。たくさんの人に会ってお話しして、お世話にもなりました。ただ京都は暑すぎて夏バテしてしまい、回復するまでに時間がかかりました。

 

京都は外食が美味しいところだらけでした。

D&DEPARTMENT KYOTO by 京都造形芸術大学 | D&DEPARTMENT

仏光寺の中にカフェがあります

 

京の甘味処|茶寮 翠泉

かき氷がおいしかった

 

京都銀閣寺 名代おめん|店舗情報

清水寺入口のおうどん屋さん

 

旅の途中で活躍した疲れを取るグッズたちです

めぐりズム 蒸気の温熱シート 16枚入

めぐりズム 蒸気の温熱シート 16枚入

 
休足時間 足すっきりシート 18枚

休足時間 足すっきりシート 18枚

 

 

2週間ほど前に、電子ピアノをローンで買いました。

YAMAHA ヤマハ Pシリーズ 電子ピアノ ブラック P-115B

YAMAHA ヤマハ Pシリーズ 電子ピアノ ブラック P-115B

 

20年ぶりに練習を再開しました。

 

ツェルニー30番練習曲  全音ピアノライブラリー

ツェルニー30番練習曲 全音ピアノライブラリー

 

20年前には弾けたはずのツェルニー30番からやりなおしです。1週間練習して1曲目を弾けるようになったものの、一昨日、楽譜指定のテンポが倍速だったことに気がつきました。

 

あきない! ハノン ジャズ、ポップスを弾くための☆ピアノトレーニング集 (ピアノスタイル)

あきない! ハノン ジャズ、ポップスを弾くための☆ピアノトレーニング集 (ピアノスタイル)

 
米津玄師 COLLECTION ―PIANO SCORE― (ピアノ・スコア)

米津玄師 COLLECTION ―PIANO SCORE― (ピアノ・スコア)

  • 作者: シンコーミュージックスコア編集部
  • 出版社/メーカー: シンコーミュージック
  • 発売日: 2016/01/22
  • メディア: 楽譜
  • この商品を含むブログを見る
 

ついでにコード理論も勉強してしまおうという目論見でこれらも買いました。

 

一度関係が回復した親兄弟とは、再び疎遠になりました。名字を旧姓に戻すことを強く 勧めたり、ぼくの個人情報を不正な手段で抜いた弁護士に謝りに行けと言ったり、などなどうんざりすることがいくつかあったので、連絡を取ることをやめました。名字を戻すのもやる気なくなりました。

 

ぼくは水を飲まない傾向があるとわかりました。確かに、以前から水を飲むと体調が回復することがよくあります。果物をたくさん食べたら、夏バテが解消しました。パートナーは、ぼくの親が体調管理すら教えてくれなかったのかと怒っていました。そういえば、ぼくの中に親の記憶はあまりありません。

漢方薬も夏バテ解消に役立ちました。

【第2類医薬品】「クラシエ」漢方八味地黄丸料エキス錠 540錠

【第2類医薬品】「クラシエ」漢方八味地黄丸料エキス錠 540錠

 

ブシという、トリカブト(!)を熱処理したものが配合されています。飲むと熱がポカポカでてきます。

 

 

パートナーと2人で電子書籍を1冊出版しました。

お母さんが女の子のために戦う話です。

 

主に電子書籍作成支援のために、縦書きエディタを開発することにしました。まだ完成にはほぼ遠いですが、何をやればいいかはだいたい決まっています。

 

いろいろあってお金がなくなってしまったので、これから半年程度は静かに過ごします。体力が戻ってきて生活も落ち着いたので、できればもっと本のレビューを復活させたいです。去年は100冊読めたけど、今年は20冊読めるかどうか。ツイッターも半年くらいおすすめツイートくらいしか見てないし、インプットが全然足りません。


覚書

基本機能:縦書き表示、スタイルシートをリアルタイム適用、epub読み込み・書き込み

 

執筆者向け機能:表記ゆれチェック、数字の表記チェック、語句の一括変換

 

編集支援機能:チャット、強調表示、メモ

 

できたらいいな:原稿をサーバー上で一括管理、差分表示(githubでできればいいかな?)、evernoteなどからコピペしたら形式を整える


Windows + CakePHP3 でMySQLを動作させるまで

開発がしたくてフレームワークなるものを初めて触ったので、それなりにメジャーっぽいCakePHPというものをインストールしてみました。

 

ブックマークチュートリアル

公式サイトの↑に従って、

まずこれをインストールして、

 

Composer Windows Installer をダウンロードして実行した場合、インストールディレクトリ (例えば、 C:\wamp\www\dev\cakephp3) からターミナルに以下の行をタイプしてください。

composer self-update && composer create-project --prefer-dist cakephp/app bookmarker

 

上のコマンドをプロンプトにコピペしてインストールして、

インストールの確認

デフォルトホームページを確認することで、インストールが正しいことをざっと確かめることができます。 その前に、開発用サーバを起動する必要があります。

bin/cake server

Windows では、このコマンドは bin\cake server (バックスラッシュ) です。.

これで、 8765 ポートで PHP のビルドインウェブサーバーが起動します。ウェルカムページを見るために http://localhost:8765 をウェブブラウザーで開いてください。CakePHP がデータベース接続が 可能かどうか以外は、すべての確認事項がチェック済みになるべきです。そうでなければ、PHP 拡張の 追加のインストールやディレクトリのパーミッション設定が必要かもしれません。

言われるがままにプロンプトから bin\cake serverと入力した後に、http://localhost:8765とブラウザに入れると

f:id:happyholiday:20160807162400j:plain

起動できました。が、

 

f:id:happyholiday:20160807161515j:plain

 

 データベースに接続できません、と言われたので、

 

MySQL :: Download MySQL Community Server

 

ここからMySQLをインストールして、

 

f:id:happyholiday:20160807161749j:plain

ここからcake_bookmarksというデータベースを作って、

 

f:id:happyholiday:20160807162047j:plain

 

 

f:id:happyholiday:20160807162104j:plain

チュートリアルに従って、上のコマンドをコピペしてテーブルを作成しました。

さらにphp.iniの

f:id:happyholiday:20160807162653j:plain

必要なところのコメントアウトを消しました。さらに、app.phpの接続設定を編集しました。

f:id:happyholiday:20160807163414j:plain

 

でも動きませんでした。

f:id:happyholiday:20160807162730j:plain

 

わけがわからなくなったので2時間くらいここで止まりました。いろいろ調べたら、

Your php.ini indicates that you have got php_pdo_mysql.dll enabled, however it may have been that you needed to restart the CakePHP server bin/cake server.

 

サーバーを再起動しなければいけないことがわかりました。

再起動したら

f:id:happyholiday:20160807163520j:plain

やっと動きました。長かったです。

 

再起動を思いつかない人が多いかもしれないので、メモとして残しておきます。


被害者も被害者を利用する

性暴力サバイバーも他人を利用する、という事件に巻き込まれた。

 

はじまりは、被害者からの依頼で、@noiehoieの性暴力に関する7月15日発売の週刊金曜日の記事を拡散してほしい、という内容だった。パートナーは微力ながらもブログで取り上げて、大きな問題にしていこう、と言った。

ところが話が進むにつれ、被害者側の対応がおかしくなってきた。ツイッターのDMで会議をしていたところ、その場に友人だという人間を多数追加したり、パートナーが書いた記事に週刊金曜日の文字を入れろだの弁護士がこう言っているから直せだの、注文を付けた。

そのためパートナーが記事に対して全責任を負って、生命力も削りながら、書いた。

 

この記事はホットエントリ入りし、数万人の目に触れた。数万人いればバカも集まる。ブコメにもtwitterにも、暴言が殺到する。これは全てパートナーが受ける負担となった。

被害者側の人間は会議の場に次々と増えていき、まるで自分の手柄であるように、盛り上がっていた。

そして、パートナーが、虐待を受けていたため自己評価が低い、という話をしていた時に、被害者側の人間が次のような暴言を吐いた。

f:id:happyholiday:20160715182032j:plain

f:id:happyholiday:20160719113930j:plain

パートナーは傷ついて、去った。パートナーは去る前に、なぜ傷ついたか詳細に説明したが、2人は何をしたのかわからず、形式的に謝るだけだった。説明するのは、傷をほじくり返すことだから、魂を削ることなのに。

パートナーが去った後も、被害者サイドの人間は

f:id:happyholiday:20160719113940j:plain

と、自分にとって都合の良い場所に感謝し、今傷つけたばかりのパートナーを、今後もコキ使う意を明らかにした。腹が立った。

f:id:happyholiday:20160715203803j:plain

こいつもおなじ。

 

次の日、ぼくとパートナーの共通の友人が、c71だけしか頑張っていない、他にできることはある、今日は週刊金曜日が発売されるのだから制限もない、ブログ、ツイッター、増田、手段はいろいろある、と提案してくれた。

しかし、友人が話している途中で被害者側の人間はある者は逃げ、

f:id:happyholiday:20160715185310j:plain

 

ある者は暴言を吐いた。

f:id:happyholiday:20160715184959j:plain

 

 

お前らは深刻なんだろうが俺たちは知らねーよ、と言われた。友人のことも傷つけた。

 

被害者は直接パートナーに連絡を取らなかった。間に人を挟んで、その人にも大きな負担をかけた。被害者側の人間は一切責任を取らないで、外側から、安全な場所から、口だけを出した。

 

ぼくたちは利用されていた。無償の労働をやって当たり前の存在、と思われていた。

被害者も被害者を利用する。利用をする人間には利用をしている自覚がない。自覚がないから、利用された、と言われると、逃げたり弁解したり逆ギレしたりする。彼らには、利用されて、負担で潰れそうになる人間、傷つく人間が見えない。noiehoieの件と、構造は全く同じだ。

 

 

追記

友人がこの件について怒りのエントリを執筆した。

怒っている

 

追記2

グループチャットを掲載したサイトができた。

team anger

菅野完氏と係争中の事件についてのグループチャット