Qiita::Team から Export した JSON データを 個別の Markdown File に変換し、保存します #qiita

# Qiita::Team から Export した JSON データを 個別の Markdown File に変換し、保存します #qiita
## <i class="fa fa-cubes" style="font-size:1em;"></i> 概要
Qiita::Team から Export した JSON データを 個別の Markdown File に変換し、保存します

## <i class="fa fa-file-text" style="font-size:1em;"></i> JSON Layout

~~~json
{
  "id":some_id,
  "uuid":"sim_uuid",
  "user":{
    "id":some_id,
    "url_name":"name",
    "profile_image_url":"url"
  },
  "title":"title",
  "created_at":"2014-11-07 18:29:28 +0900","updated_at":"2014-11-07 22:29:28 +0900",
  "created_at_in_words":"7日",
  "updated_at_in_words":"7日",
  "tags":[
    {
      "name":"ruby",
      "url_name":"ruby",
      "icon_url":"icons/medium/missing.png",
      "versions":[]
    }
   ],
  "stock_count":0,
  "comment_count":0,
  "url":"some_url",
  "created_at_as_seconds":9999999999,
  "lgtm_count":0,
  "private":false,
  "coediting":false,
  "raw_body":"raw body",
  "body":"body",
  "stock_users":[],
  "comments":[]
}
~~~

## <i class="fa fa-book" style="font-size:1em;"></i> 変換ルール

* Export した JSON のファイル名は qiita_export
* 変換した Markdown ファイルは markdowns フォルダを作成し、その中に保存する
* JSON の id をファイル名にする
* JSON の raw_body をファイル内容にする

## <i class="fa fa-code" style="font-size:1em;"></i> Convert Script

~~~ruby
require 'json'

output_dir = 'markdowns'
json = File.read('./qiita_export')
entries = JSON.parse(json)

Dir.mkdir(output_dir) unless Dir.exist?(output_dir)
entries.each do |entry|
  filename = entry['id']
  body = entry['raw_body']
  File.open("#{output_dir}/#{filename}.md", 'w:utf-8') { |file|file.puts body }
end
~~~

## 結果確認
* tree で出力ファイルの確認

~~~
$ tree
.
┣ markdowns
┃ ┣ 154900.md
┃ ┣ 154901.md
┃ ┣ 154902.md
┃ ┣ 154903.md
┃ ┣ 154904.md
┃ ┣ 155005.md
┃ ┣ 155027.md
┃ ┣ 155035.md
┃ ┣ 155094.md
┃ ┣ 155831.md
┃ ┣ 155935.md
┃ ┣ 156101.md
┃ ┣ 157242.md
┃ ┣ 157323.md
┃ ┣ 158294.md
┃ ┣ 158361.md
┃ ┣ 158455.md
┃ ┣ 158484.md
┃ ┣ 160590.md
┃ ┣ 167317.md
┃ ┣ 169084.md
┃ ┣ 169093.md
┃ ┣ 169100.md
┃ ┣ 169102.md
┃ ┣ 169106.md
┃ ┣ 169108.md
┃ ┣ 169110.md
┃ ┣ 169122.md
┃ ┣ 169983.md
┃ ┣ 169994.md
┃ ┣ 169996.md
┃ ┣ 170988.md
┃ ┣ 171011.md
┃ ┣ 171266.md
┃ ┗ 172613.md
┣ qiita_export
┗ qiita_json_to_markdown.rb
~~~

* 1ファイル抜粋で出力ファイル内容の確認
※下記は Qiita::Team が用意しているページ

```markdown
# プロジェクトページとは

**流れていってほしくない情報を、アクセスしやすい場所に常に掲載しておける** ページです。
トップページのサイドバーに常に表示されています。

<a href="https://qiita-image-store.s3.amazonaws.com/1/123/bc32deab-a6b4-62fa-37fc-a3117a96e569.png"><img src="https://qiita-image-store.s3.amazonaws.com/1/123/bc32deab-a6b4-62fa-37fc-a3117a96e569.png" width="500"></a>
*ヘッダメニュー「さがす」からもアクセスできます*

# どんなプロジェクトをつくればいいの？

開発プロジェクトの概要など **全員に知っておいてほしい情報** を掲載するのに向いています。
トップページで見えるので、 **新しく入ってきたメンバーにも重要な情報が分かりやすく** なります。

### 例1. 開発プロジェクトのまとめ

<a href="https://qiita-image-store.s3.amazonaws.com/1/123/ee02de2c-ff09-aa2e-2e59-96e80fb9f166.gif" targe="_blank"><img src="https://qiita-image-store.s3.amazonaws.com/1/123/ee02de2c-ff09-aa2e-2e59-96e80fb9f166.gif" width="300" /></a>

### 例2. Qiita:Teamの使い方マニュアル
少し普通の使い方とは違いますが、導入初期にはオススメの使い方です。

<a href="https://qiita-image-store.s3.amazonaws.com/1/123/3f3bc32f-98d5-754e-bf75-6cba9271c11d.png" target="_blank">
<img src="https://qiita-image-store.s3.amazonaws.com/1/123/52a180e4-cae4-db8e-c1d5-dea68e4e3e9f.jpeg" width="300"></a>
*[情報発信する文化の根付かせ方がすごい！- 株式会社リクルートジョブズさま Qiita:Teamインタビュー](http://blog.qiita.com/post/95441393299/recruit-jobs-interview#initial-projects) より引用*

# プロジェクトページを見てみる

これまでのチュートリアルの内容をまとめたサンプルプロジェクトが作成済みです。
<a href="/">トップページに戻って</a>「 **Qiita:Team普及プロジェクト** 」を確認してみましょう。

<a href="/"><img src="https://qiita-image-store.s3.amazonaws.com/1/123/bc32deab-a6b4-62fa-37fc-a3117a96e569.png" width="500"></a>
```