QiitaPicks

:fork_and_knife:Qiita[キータ]に投稿された記事を “つまんで” まとめPDFを生成:fork_and_knife:

Generate PDF/HTML from articles posted on qiita.com. Uses wkhtmltopdf on the back-end which renders HTML using Webkit.

できること

まとめPDFをコマンド一発で生成

qiita_picksコマンドで、次の「まとめPDF」が生成できます。

  1. 指定URLのまとめPDF
  2. 特定のユーザが投稿した記事のまとめPDF
  3. 特定のユーザがストックした記事のまとめPDF
  4. 『先週ストックが多かった投稿ベスト20』メールに掲載された記事のまとめPDF
  5. 『今週Qiitaでストックした記事』メールに掲載された記事のまとめPDF
  6. はてなブックマークにブックマークされた記事(人気)のまとめPDF
  7. はてなブックマークにブックマークされた記事(新着)のまとめPDF

まとめPDFは、印刷・閲覧に最適化

印刷向けにスタイルシートを調整しています。

まとめPDFは、Gmailで送信可能

  • Gmailの送受信には「ruby-gmail」を利用しています。
  • メールは送受信共に、利用者自身となります。

Installation

QiitaPicks

% gem install qiita_picks

wkhtmltopdf

  1. Install by hand (recommended):

    https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDF

  2. Try using the wkhtmltopdf-binary gem (mac + linux i386)

    gem install wkhtmltopdf-binary
    

    Note: The automated installer has been removed.

Getting Started

BASIC

# 指定したURLの記事をまとめる (カンマ区切り)
% qiita_picks <URLs>

# 特定ユーザーの記事をまとめる
% qiita_picks list_user_items -u <username> -a <access_token>

# 特定ユーザーがストックした記事をまとめる
% qiita_picks list_user_stocks -u <username> -a <access_token>

# 特定のタグに関連する記事をまとめる
% qiita_picks list_tag_items -t <tag> -a <access_token>

# 『先週ストックが多かった投稿ベスト20』メールに掲載された記事をまとめる
% qiita_picks email_weekly_popular -e <email> -p <password>

# 『今週Qiitaでストックした記事』メールに掲載された記事をまとめる
% qiita_picks email_weekly_stocked -e <email> -p <password>

# はてなブックマークにブックマークされた人気の記事をまとめる
% qiita_picks list_hatena_popular -t <tag>

# はてなブックマークにブックマークされた新着の記事をまとめる
% qiita_picks list_hatena_recent -t <tag>

タグ・ユーザ名での記事の取得時に、Qiita Developer APIを利用しています。 事前にアカウントとアクセストークンを取得してください。

新しくトークンを発行する

ADVANCED

生成したPDFをメールに添付すると、デバイスを選ばずに、 いつでもオフラインで学習できるので、プログラマー生活がより快適になります。

それぞれのコマンドで生成したPDFを送信する場合は、-e <email>-p <password> のオプションを設定してください。

:warning: メールの送受信は共に、指定したGmailアカウントから実行されます

# 指定したURLの記事をまとめる (カンマ区切り) + メール送信
% qiita_picks <URLs> -e <email> -p <password>

なお、email_weekly_popularemail_weekly_stockedコマンドについては、 別途、-s <send_mail_flag>を渡す必要があります。

# 『先週ストックが多かった投稿ベスト20』メールに掲載された記事 + メール送信
% qiita_picks email_weekly_popular -e <email> -p <password> -s true

特殊な処理がしたい場合は、以下を参考にご自由にどうぞ。

require 'qiita_picks'

url = %w{http://qiita.com/baba_s/items/c8d25456c0ee4ef52f94 http://qiita.com/y_minowa/items/f12aabbae7b0048cfe64}
generator = QiitaPicks::Generator.new(email, password, access_token)

# 指定したURLの記事をまとめる
generator.generate_from_url(url)

# 指定したURLの記事をまとめて 自身のGmailアカウントに送信
generator.generate_from_url(url, deliver: true)

TIPS

クラウドサービスにアップロード

ローカルにある、Dropbox等のクラウドサービスと同期するフォルダに向けて生成するのが、最もラクかと思います。メールで送りたくない場合は、お試しください。

JenkinsやCronで定期的に自動生成

qiita_picksコマンドを定期的に実行するようスケジューリングすると、インプットが捗ります。下記のリンクを参考に設定してみてはいかがでしょうか。

Caution

  • 作成したPDFを、インターネット上で公開・配布することはご遠慮ください。
  • Qiita[キータ]へのアクセス負荷を考慮し、節度のあるご利用をお願いします。
  • Qiita[キータ]は、Increments株式会社が提供するサービスです。当スクリプトは、Increments株式会社様による提供ではございませんので、何卒ご注意ください。

Feedback

何かお気づきの点があれば、こちらのフォームよりご意見をお送りください :sunglasses:

Contributing

不具合等ありましたら、お気軽にプルリクしてください。

  1. Fork it ( https://github.com/henteco-labs/qiita_picks/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Copyright © 2015 HentecoLabs Inc. See LICENSE.txt for further details.