Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
bin
 
 
lib
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

EsaFeeder

CircleCI

esa.io のテンプレートから定期的に記事を自動作成するツールです。

Features

繰り返し作成したい記事テンプレートに#feed_xxx タグを付けることで、そのテンプレートから記事を自動作成することができます。
xxx部分は記事を作成したい曜日の短縮名、もしくはwday、'eday'です。以下のタグが使用できます。

  • #feed_sun
  • #feed_mon
  • #feed_tue
  • #feed_wed
  • #feed_thu
  • #feed_fri
  • #feed_sat
  • #feed_wday
  • #feed_eday

#feed_monを付けた記事は月曜日のみ自動記事作成の対象になります。
複数指定も可能で、#feed_mon #feed_friとすれば月曜日と金曜日に自動記事作成の対象になります。

#feed_wdayをつけることで、平日(祝日を除く月曜日から金曜日)に自動作成されるようになります。
日報などはこちらを使うと便利です。

#feed_edayをつけることで、毎日自動作成されるようになります。

なお、投稿テンプレートは通常のテンプレート(templates/以下)の他にユーザごとのテンプレート(Users/[screen_name]/templates/以下)にも対応しています。

Notify to Slack

自動作成時に、Slackの任意のChannelへ通知することができます。
#slack_xxx のようなタグを付けるとSlackの #xxx へ通知されます。 複数指定も可能です。

指定が無い場合は通知は飛びません。WebHook側の設定は上書きされます。

この機能を有効にするにはSLACK_WEBHOOK_URLの設定が必要です。

Specify created by

記事の作成ユーザは、通常次の通りになります。

  • 通常のテンプレート(templates/以下): esa_bot
  • ユーザごとのテンプレート(Users/[screen_name]/templates/以下): screen_nameのユーザ

このうち通常のテンプレートについては #me_xxx タグをつけることで作成ユーザを変更することができます。
xxxの部分にはユーザのスクリーンネームを指定してください。

How to Run

Run Locally

$ git checkout git@github.com:standfirm/esa_feeder.git
$ cd esa_feeder
$ bundle install
$ cp .env.sample .env
$ vi .env
// setup environment variable

で環境構築を行ってください。
bundle exec thor templates:feedを実行することで、記事の自動作成が行われます。
毎日実行されるようcronを設定することで、曜日に応じた記事が自動生成されるようになります。

Run on Heroku

以下のボタンからHerokuにデプロイできます。

Deploy

環境変数については、esaのチーム名とアクセストークンが指定必須です。
Slack WebHook URLは入力すると記事が自動作成されたことを通知します。空の場合は通知をスキップします。

その後、Heroku Scheduler上でbundle exec thor templates:feedが毎日実行されるよう設定を行ってください。
この際UTCでの設定になるため時差に注意してください。(0時に設定すると、日本時間9時に実行される)

Test

$ bundle exec rspec spec/

でテストを実行できます。

About

esaの記事をテンプレートから自動作成するアプリケーションです

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.