Qiita::Team から Export した JSON データを 個別の Markdown File に変換し、保存します #qiita
概要
Qiita::Team から Export した JSON データを 個別の Markdown File に変換し、保存します
JSON Layout
{
"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":[]
}
変換ルール
- Export した JSON のファイル名は qiita_export
- 変換した Markdown ファイルは markdowns フォルダを作成し、その中に保存する
- JSON の id をファイル名にする
- JSON の raw_body をファイル内容にする
Convert Script
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 が用意しているページ
# プロジェクトページとは
**流れていってほしくない情報を、アクセスしやすい場所に常に掲載しておける** ページです。
トップページのサイドバーに常に表示されています。
<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>