Qiitaから力技でWordPressに移行する方法

Qiitaに上げた記事を、力技で突貫工事でWordPressに移行したので、方法をざっくりお伝えします。
wgetとcurl使ってるのでまぁそういう環境でどうぞ。

(記事数が少なかったので自動化するより力技でやったほうが早かった)

# 1. cURLでMarkdownを落とす

例えば記事が https://qiita.com/mikuta0407/items/43f6e1ea92a6257295f4 だったら、末尾に`.md`をつけて、 https://qiita.com/mikuta0407/items/43f6e1ea92a6257295f4.md とするだけでMarkdownが落ちてきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/a68287bf-26c7-a6b9-b24d-5b4274d973e0.png)


なので、

```shell
curl https://qiita.com/mikuta0407/items/1a127bc21f5c2ab1fb61.md >> 任意のファイル名.md
```

で記事が保存できます。

# 2. 画像のダウンロード準備をする
必要分の記事を全部ダウンロードしたら、

```shell
cat ファイル名.md | grep qiita-image >> qiitaimage.txt
```
を全てのファイルに向かって行い、全ての画像リンクをqiitaimage.txtのようなテキストファイルに集めます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/a5eaca0e-f5b3-2224-f1da-5ad3f21f477a.png)

これをVSCodeかなんかで、正規表現とかを使って`wget <URL>`の形にします。
( `\)\n!\[.*\]\(` を`\nwget`あたりにすればだいたいそうなります。1行目に注意。)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/adbbe690-91b5-8062-6565-727ea5be3db5.png)

# 3. WordPressにプラグインを入れる
「Media from FTP」と「WP Githuber MD」を入れましょう。
有効化をもちろん忘れずに。

そしてMedia from FTPの設定で、「アップロードしたファイルを年月ベースのフォルダーに整理」の**チェックを外します**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/f2772cda-0737-e6eb-9080-de79183b0104.png)

(「Media from FTP」はサーバーのローカルストレージに置かれたデータをスキャンして登録できるプラグイン、「WP Githuber MD」はMarkdownで記事がかけるプラグインです。

# 4. 画像をダウンロードする
### 4.1 WordPressが動いてる環境のコンソールが使えない場合
先程作ったwgetコマンド羅列を使ってローカルマシンで落としてから、wp-content/uploads/ 内に(その中にフォルダ作ってもいいですが)全画像を投げます。
WordPressのアップローダでやっていたら遅いので、FTPかなんかで入れてください。

### 4.2 コンソールが使える場合
wp-content/uploads/ に行き(更にその中にフォルダ作っても問題ないです)、先程作ったwget羅列を実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/6fc633d6-8550-06ce-f11d-9ad99136326e.png)

画像をwp-content/uploads/以下に設置できたら、WordPressのMedia from FTPの項目で「検索&登録」を実行します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/654a51e9-d734-616d-5ed0-26d842943cf4.png)

全部読み込んでくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/2ad65676-6b78-e5d8-c388-4c1a894c5900.png)

# 5. Markdown内の画像リンクを書き換える
Notepad++やVSCode(やお好きなツール)で、全記事の元画像リンクのファイル名直前までを全部一括変更します。

例えば弊環境だとQiita記事が
`https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/hogehoge.png`
`https://qiita-image-store.s3.amazonaws.com/0/300863/hogehoge.png`
の2形式だったので、
これを
`<WordPressブログのURL>/wp-content/uploads/(以下の先ほど画像を置いたディレクトリ)`に書き換えます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/643b7e83-5a8e-6b88-68e5-75e8511fa9ce.png)
↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/7b4c7452-0e25-ebd6-6a60-0c0fa4a0f0a8.png)

# 6. WordPressに貼り付ける
ここからはもう人力です。もちろん自動化はあると思っていますが、このアカウントは10記事しか書いていないので手作業でやりました。
落としてきたMarkdownは、冒頭に

```markdown
---
title: ブラウザ経由でシェルスクリプト叩いてWake on LANする
tags: Wake-on-LAN Apache RaspberryPi
author: mikuta0407
slide: false
---
```

のように邪魔なものがあるのでこれを無視してコピペしていきます。
今回は冒頭にQiitaからコピーしてきたことを明記してみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/9596568d-e605-eb00-c6d3-dd94ced3b173.png)

記事数が少なくて時間がある場合は、投稿日をQiitaでの投稿日にそろえてみたり、タグ付けをカテゴリに移植してみても良いかもしれませんね。

# 7. 完成
### Qiitaでの表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/cde3ca71-e45c-cf28-a565-62d1fe49cf51.png)
### Markdown出かけるプラグインを入れたWordPressでの表示
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/300863/d1e52cf0-1765-9596-f4bd-5640f8becec0.png)

みなさん頑張っていきましょう。