tdiary 4.1.1 → 4.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +1 -1
- data/ChangeLog +42 -0
- data/Gemfile +2 -11
- data/Gemfile.lock +64 -61
- data/README.md +4 -2
- data/doc/HOWTO-authenticate-in-rack.md +96 -8
- data/doc/HOWTO-testing-tDiary.md +1 -1
- data/doc/INSTALL-paas.md +19 -54
- data/doc/README.en.md +1 -1
- data/doc/README.md +1 -1
- data/js/comment_ajax.js +1 -1
- data/lib/tdiary/application/configuration.rb +5 -9
- data/lib/tdiary/application.rb +59 -36
- data/lib/tdiary/cli.rb +9 -3
- data/lib/tdiary/core_ext.rb +1 -1
- data/lib/tdiary/diary_container.rb +55 -0
- data/lib/tdiary/environment.rb +3 -0
- data/lib/tdiary/plugin/00default.rb +4 -3
- data/lib/tdiary/plugin/05referer.rb +9 -7
- data/lib/tdiary/plugin.rb +13 -2
- data/lib/tdiary/rack/auth/basic.rb +1 -1
- data/lib/tdiary/rack/auth/omniauth/authorization.rb +64 -0
- data/lib/tdiary/rack/auth/omniauth.rb +78 -46
- data/lib/tdiary/rack/auth.rb +20 -0
- data/lib/tdiary/rack/session.rb +35 -0
- data/lib/tdiary/rack.rb +2 -5
- data/lib/tdiary/style.rb +2 -1
- data/lib/tdiary/tasks/assets.rake +1 -1
- data/lib/tdiary/tasks/release.rake +18 -7
- data/lib/tdiary/version.rb +1 -1
- data/lib/tdiary.rb +1 -0
- data/misc/paas/heroku/Gemfile.local +8 -0
- data/misc/paas/heroku/app.json +19 -0
- data/misc/paas/heroku/config.ru +6 -0
- data/misc/paas/heroku/tasks/mongodb.rake +12 -0
- data/misc/paas/heroku/tdiary.conf +14 -14
- data/misc/plugin/amazon.rb +9 -1
- data/misc/plugin/category.rb +1 -19
- data/misc/plugin/category_autocomplete.rb +2 -2
- data/misc/plugin/comment_ajax.rb +2 -0
- data/misc/plugin/comment_emoji_autocomplete.rb +2 -2
- data/misc/plugin/comment_mail-smtp.rb +23 -8
- data/misc/plugin/makerss.rb +5 -1
- data/misc/plugin/recent_comment3.rb +1 -5
- data/misc/plugin/recent_list.rb +1 -5
- data/misc/plugin/theme_online.rb +8 -2
- data/spec/acceptance/save_conf_plugin_spec.rb +2 -2
- data/spec/core/application_spec.rb +65 -0
- data/spec/core/diary_container_spec.rb +71 -0
- data/spec/core/plugin_spec.rb +13 -0
- data/spec/fixtures/tdiary.conf.gem +2 -2
- data/spec/fixtures/tdiary.conf.rack +2 -2
- data/spec/fixtures/tdiary.conf.secure +2 -2
- data/spec/fixtures/tdiary.conf.webrick +2 -2
- data/spec/spec_helper.rb +5 -4
- metadata +15 -6
- data/lib/tdiary/application/extensions/omniauth.rb +0 -22
- data/misc/paas/heroku/Gemfile +0 -20
- data/misc/paas/heroku/Gemfile.lock +0 -74
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ff39704729d6f51707c5f7f6798b57b54a7f8f4a
|
4
|
+
data.tar.gz: b2395bd9d5f340af43d6c3f40290545053ca5ca4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c93b34dcfd979505945f036f88214c4fa7ad0562b5326d82c7a7c609bca5301f08449769868cd161e70676ea253e347cebbaf432e40ea94736c9856eede5625
|
7
|
+
data.tar.gz: fb1cf6d5f5d79fb6543709b50dd2aef2a93ab4357371818744227fd49326c072e546660206da16342ae9629b6bdde8ffeb8448f28e1da8f35ad924c27a6c0253
|
data/.travis.yml
CHANGED
data/ChangeLog
CHANGED
@@ -1,3 +1,45 @@
|
|
1
|
+
2015-03-15 MATSUOKA Kohei <kohei@machu.jp>
|
2
|
+
* use omniauth automatically if omniauth gem loaded
|
3
|
+
* support some auth providers (twitter, facebook, google, github)
|
4
|
+
|
5
|
+
2015-02-25 MATSUOKA Kohei <kohei@machu.jp>
|
6
|
+
* support ruby-2.2 and unsupport ruby-1.9.3
|
7
|
+
|
8
|
+
2015-02-19 TADA Tadashi <t@tdtds.jp>
|
9
|
+
* enable to specify multiple twitter user in OmniAuth
|
10
|
+
|
11
|
+
2015-02-02 TADA Tadashi <t@tdtds.jp>
|
12
|
+
* Gemfile: work around about rack 1.6 not separate params with ';'. see #485
|
13
|
+
|
14
|
+
2015-01-28 TADA Tadashi <t@tdtds.jp>
|
15
|
+
* use Rack::Session::Dalli automatically if dalli gem loaded
|
16
|
+
|
17
|
+
2015-01-27 TADA Tadashi <t@tdtds.jp>
|
18
|
+
* plugin/00default.rb: fix #482 by another code: bad url of og:image
|
19
|
+
|
20
|
+
2015-01-26 TADA Tadashi <t@tdtds.jp>
|
21
|
+
* accept external JavaScript or CSS URL without scheme
|
22
|
+
* plugin/theme_online.rb: support another theme site by options
|
23
|
+
|
24
|
+
2015-01-24 TADA Tadashi <t@tdtds.jp>
|
25
|
+
* plugin/comment_mail-smtp.rb: use Mail gem instead of Net::SMTP
|
26
|
+
* plugin/comment_ajax.rb: set theme_url into js
|
27
|
+
|
28
|
+
2015-01-21 MATSUOKA Kohei <kohei@machu.jp>
|
29
|
+
* add add_startup_proc plugin interface
|
30
|
+
* plugin/makerss.rb: create rdf on startup
|
31
|
+
|
32
|
+
2015-01-19 TADA Tadashi <t@tdtds.jp>
|
33
|
+
* plugin/amazon.rb: retry by returning error from rpaproxy
|
34
|
+
|
35
|
+
2015-01-10 MATSUOKA Kohei <kohei@machu.jp>
|
36
|
+
* diary_container.rb: add the model to get diary directoly without using CGI
|
37
|
+
* Gemfile: use webrick server as default (to use other server, write in Gemfile.local)
|
38
|
+
* cli.rb: add --log option to tdiary server command
|
39
|
+
|
40
|
+
2014-12-29 MATSUOKA Kohei <kohei@machu.jp>
|
41
|
+
* release 4.1.1
|
42
|
+
|
1
43
|
2014-12-27 MATSUOKA Kohei <kohei@machu.jp>
|
2
44
|
* lib/tdiary/application.rb: fix #442: call extensions setup before the core setup
|
3
45
|
* lib/tdiary/application/extensions/omniauth.rb: fix error with base_dir
|
data/Gemfile
CHANGED
@@ -1,26 +1,17 @@
|
|
1
1
|
source 'https://rubygems.org'
|
2
2
|
|
3
|
-
gem 'rack'
|
3
|
+
gem 'rack', '~> 1.5.0'
|
4
4
|
gem 'sprockets'
|
5
5
|
gem 'hikidoc'
|
6
6
|
gem 'fastimage'
|
7
7
|
gem 'gemoji'
|
8
|
+
gem 'mail'
|
8
9
|
|
9
10
|
group :coffee do
|
10
11
|
gem 'coffee-script'
|
11
12
|
gem 'therubyracer'
|
12
13
|
end
|
13
14
|
|
14
|
-
group :server do
|
15
|
-
platforms :mri do
|
16
|
-
gem 'thin'
|
17
|
-
end
|
18
|
-
|
19
|
-
platforms :jruby do
|
20
|
-
gem 'trinidad'
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
15
|
group :development do
|
25
16
|
gem 'pit', require: false
|
26
17
|
gem 'racksh', require: false
|
data/Gemfile.lock
CHANGED
@@ -1,11 +1,9 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
-
addressable (2.3.
|
5
|
-
byebug (
|
6
|
-
columnize (
|
7
|
-
debugger-linecache (~> 1.2)
|
8
|
-
slop (~> 3.6)
|
4
|
+
addressable (2.3.8)
|
5
|
+
byebug (4.0.4)
|
6
|
+
columnize (= 0.9.0)
|
9
7
|
capybara (2.4.4)
|
10
8
|
mime-types (>= 1.16)
|
11
9
|
nokogiri (>= 1.3.3)
|
@@ -18,53 +16,57 @@ GEM
|
|
18
16
|
coffee-script (2.3.0)
|
19
17
|
coffee-script-source
|
20
18
|
execjs
|
21
|
-
coffee-script-source (1.
|
19
|
+
coffee-script-source (1.9.1)
|
22
20
|
columnize (0.9.0)
|
23
|
-
coveralls (0.7.
|
24
|
-
multi_json (~> 1.
|
25
|
-
rest-client (
|
26
|
-
simplecov (
|
27
|
-
term-ansicolor (
|
28
|
-
thor (
|
29
|
-
daemons (1.1.9)
|
30
|
-
debugger-linecache (1.2.0)
|
21
|
+
coveralls (0.7.12)
|
22
|
+
multi_json (~> 1.10)
|
23
|
+
rest-client (>= 1.6.8, < 2)
|
24
|
+
simplecov (~> 0.9.1)
|
25
|
+
term-ansicolor (~> 1.3)
|
26
|
+
thor (~> 0.19.1)
|
31
27
|
diff-lcs (1.2.5)
|
32
28
|
docile (1.1.5)
|
33
|
-
|
34
|
-
|
35
|
-
|
29
|
+
domain_name (0.5.23)
|
30
|
+
unf (>= 0.0.5, < 1.0.0)
|
31
|
+
execjs (2.4.0)
|
32
|
+
fastimage (1.6.8)
|
36
33
|
addressable (~> 2.3, >= 2.3.5)
|
37
|
-
ffi (1.9.
|
34
|
+
ffi (1.9.8)
|
38
35
|
gemoji (2.1.0)
|
39
36
|
hike (1.2.3)
|
40
37
|
hikidoc (0.1.0)
|
41
|
-
|
42
|
-
|
38
|
+
http-cookie (1.0.2)
|
39
|
+
domain_name (~> 0.5)
|
40
|
+
jasmine (2.2.0)
|
41
|
+
jasmine-core (~> 2.2)
|
43
42
|
phantomjs
|
44
43
|
rack (>= 1.2.1)
|
45
44
|
rake
|
46
|
-
jasmine-core (2.
|
45
|
+
jasmine-core (2.2.0)
|
47
46
|
launchy (2.4.3)
|
48
47
|
addressable (~> 2.3)
|
49
48
|
libv8 (3.16.14.7)
|
49
|
+
mail (2.6.3)
|
50
|
+
mime-types (>= 1.16, < 3)
|
50
51
|
method_source (0.8.2)
|
51
52
|
mime-types (2.4.3)
|
52
|
-
mini_portile (0.6.
|
53
|
-
multi_json (1.
|
54
|
-
|
53
|
+
mini_portile (0.6.2)
|
54
|
+
multi_json (1.11.0)
|
55
|
+
netrc (0.10.3)
|
56
|
+
nokogiri (1.6.6.2)
|
55
57
|
mini_portile (~> 0.6.0)
|
56
|
-
phantomjs (1.9.
|
58
|
+
phantomjs (1.9.8.0)
|
57
59
|
pit (0.0.7)
|
58
|
-
power_assert (0.2.
|
60
|
+
power_assert (0.2.3)
|
59
61
|
pry (0.10.1)
|
60
62
|
coderay (~> 1.1.0)
|
61
63
|
method_source (~> 0.8.1)
|
62
64
|
slop (~> 3.4)
|
63
|
-
pry-byebug (
|
64
|
-
byebug (~>
|
65
|
+
pry-byebug (3.1.0)
|
66
|
+
byebug (~> 4.0)
|
65
67
|
pry (~> 0.10)
|
66
|
-
rack (1.
|
67
|
-
rack-test (0.6.
|
68
|
+
rack (1.5.2)
|
69
|
+
rack-test (0.6.3)
|
68
70
|
rack (>= 1.0)
|
69
71
|
racksh (1.0.0)
|
70
72
|
rack (>= 1.0)
|
@@ -72,32 +74,35 @@ GEM
|
|
72
74
|
rake (10.4.2)
|
73
75
|
redcarpet (3.2.2)
|
74
76
|
ref (1.0.5)
|
75
|
-
rest-client (1.
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
rspec-
|
81
|
-
|
82
|
-
rspec-
|
83
|
-
rspec-
|
77
|
+
rest-client (1.8.0)
|
78
|
+
http-cookie (>= 1.0.2, < 2.0)
|
79
|
+
mime-types (>= 1.16, < 3.0)
|
80
|
+
netrc (~> 0.7)
|
81
|
+
rspec (3.2.0)
|
82
|
+
rspec-core (~> 3.2.0)
|
83
|
+
rspec-expectations (~> 3.2.0)
|
84
|
+
rspec-mocks (~> 3.2.0)
|
85
|
+
rspec-core (3.2.2)
|
86
|
+
rspec-support (~> 3.2.0)
|
87
|
+
rspec-expectations (3.2.0)
|
88
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
89
|
+
rspec-support (~> 3.2.0)
|
90
|
+
rspec-mocks (3.2.1)
|
84
91
|
diff-lcs (>= 1.2.0, < 2.0)
|
85
|
-
rspec-support (~> 3.
|
86
|
-
rspec-
|
87
|
-
|
88
|
-
|
89
|
-
rubyzip (1.1.6)
|
90
|
-
selenium-webdriver (2.44.0)
|
92
|
+
rspec-support (~> 3.2.0)
|
93
|
+
rspec-support (3.2.2)
|
94
|
+
rubyzip (1.1.7)
|
95
|
+
selenium-webdriver (2.45.0)
|
91
96
|
childprocess (~> 0.5)
|
92
97
|
multi_json (~> 1.0)
|
93
98
|
rubyzip (~> 1.0)
|
94
99
|
websocket (~> 1.0)
|
95
|
-
sequel (4.
|
96
|
-
simplecov (0.9.
|
100
|
+
sequel (4.20.0)
|
101
|
+
simplecov (0.9.2)
|
97
102
|
docile (~> 1.1.0)
|
98
103
|
multi_json (~> 1.0)
|
99
|
-
simplecov-html (~> 0.
|
100
|
-
simplecov-html (0.
|
104
|
+
simplecov-html (~> 0.9.0)
|
105
|
+
simplecov-html (0.9.0)
|
101
106
|
slop (3.6.0)
|
102
107
|
sprockets (2.12.3)
|
103
108
|
hike (~> 1.2)
|
@@ -105,20 +110,19 @@ GEM
|
|
105
110
|
rack (~> 1.0)
|
106
111
|
tilt (~> 1.1, != 1.3.0)
|
107
112
|
sqlite3 (1.3.10)
|
108
|
-
term-ansicolor (1.
|
109
|
-
tins (~> 0
|
110
|
-
test-unit (3.0.
|
113
|
+
term-ansicolor (1.3.0)
|
114
|
+
tins (~> 1.0)
|
115
|
+
test-unit (3.0.9)
|
111
116
|
power_assert
|
112
117
|
therubyracer (0.12.1)
|
113
118
|
libv8 (~> 3.16.14.0)
|
114
119
|
ref
|
115
|
-
|
116
|
-
daemons (~> 1.0, >= 1.0.9)
|
117
|
-
eventmachine (~> 1.0)
|
118
|
-
rack (~> 1.0)
|
119
|
-
thor (0.18.1)
|
120
|
+
thor (0.19.1)
|
120
121
|
tilt (1.4.1)
|
121
|
-
tins (
|
122
|
+
tins (1.3.5)
|
123
|
+
unf (0.1.4)
|
124
|
+
unf_ext
|
125
|
+
unf_ext (0.0.6)
|
122
126
|
websocket (1.2.1)
|
123
127
|
xpath (2.0.0)
|
124
128
|
nokogiri (~> 1.3)
|
@@ -135,9 +139,10 @@ DEPENDENCIES
|
|
135
139
|
hikidoc
|
136
140
|
jasmine
|
137
141
|
launchy
|
142
|
+
mail
|
138
143
|
pit
|
139
144
|
pry-byebug
|
140
|
-
rack
|
145
|
+
rack (~> 1.5.0)
|
141
146
|
racksh
|
142
147
|
rake
|
143
148
|
redcarpet
|
@@ -149,5 +154,3 @@ DEPENDENCIES
|
|
149
154
|
sqlite3
|
150
155
|
test-unit
|
151
156
|
therubyracer
|
152
|
-
thin
|
153
|
-
trinidad
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# tDiary
|
2
2
|
|
3
|
+
[](https://www.heroku.com/deploy?template=https://github.com/tdiary/tdiary-core/tree/heroku)
|
4
|
+
|
3
5
|
[](https://rubygems.org/gems/tdiary) [](https://travis-ci.org/tdiary/tdiary-core) [](https://coveralls.io/r/tdiary/tdiary-core) [](https://gemnasium.com/tdiary/tdiary-core) [](https://codeclimate.com/github/tdiary/tdiary-core)
|
4
6
|
|
5
7
|
## tDiary, The TSUKKOMI-able Weblog.
|
@@ -18,7 +20,7 @@ tDiaryには以下のような特徴があります。
|
|
18
20
|
|
19
21
|
### レンタルサーバーユーザにやさしい
|
20
22
|
|
21
|
-
必要なのはRuby(
|
23
|
+
必要なのはRuby(2.0.0以降に対応)だけ。単独でCGIとして動作し、基本機能はデータベースや追加のライブラリを必要としません。
|
22
24
|
|
23
25
|
### プラグインで拡張できます
|
24
26
|
|
@@ -30,4 +32,4 @@ tDiaryには以下のような特徴があります。
|
|
30
32
|
|
31
33
|
### その他
|
32
34
|
|
33
|
-
インストールにはドキュメント(doc/INSTALL.html)を参照して下さい。動作にはruby(
|
35
|
+
インストールにはドキュメント(doc/INSTALL.html)を参照して下さい。動作にはruby(2.0.0以降)と、CGIもしくはRackをサポートするWebサーバが必要です。
|
@@ -39,24 +39,27 @@ htpasswd -cd .htpasswd username
|
|
39
39
|
|
40
40
|
### ライブラリを有効にする
|
41
41
|
|
42
|
-
|
42
|
+
利用する外部サービスに対応したライブラリを有効にします。Twitter認証では `omniauth-twitter` ライブラリを使用します。Gemfile.localにて以下の行が有効になっていることを確認してください。無ければ追加してください。
|
43
43
|
|
44
44
|
```
|
45
45
|
gem 'omniauth'
|
46
46
|
gem 'omniauth-twitter'
|
47
47
|
```
|
48
48
|
|
49
|
-
|
49
|
+
### Twitter Appsへのアプリケーションの登録
|
50
50
|
|
51
|
-
|
52
|
-
require 'tdiary/application/extensions/omniauth'
|
53
|
-
```
|
51
|
+
Twitter 認証を使うためには、Twitter のサイトにてアプリケーションを登録する必要があります。[Twitter Apps](https://dev.twitter.com/apps/new)にアクセスし、以下の情報を入力して新しいアプリケーションを登録してください。
|
54
52
|
|
55
|
-
|
53
|
+
- Name: アプリケーションの名前です。設置する日記のタイトルを設定すると分かりやすいでしょう。
|
54
|
+
- Description: アプリケーションの説明です。迷ったら「日記へログインするためのTwitter認証」などとすると良いでしょう。
|
55
|
+
- Website: アプリケーションのURLです。設置する日記のトップページを設定すると分かりやすいでしょう。
|
56
|
+
- Callback URL: 認証後に移動するURLです。Websiteと同じURLを設定してください。
|
56
57
|
|
57
|
-
|
58
|
+
Name, Description, Websiteに設定した値は、Twitterのアプリ連携画面(認証画面)に表示されます。また、Callback URLを空欄にするとTwitter認証が動作しなくなります。任意のURLで良いので設定してください。
|
58
59
|
|
59
|
-
|
60
|
+
### 鍵とパスワードの取得と環境変数への設定
|
61
|
+
|
62
|
+
Twitterのサイトから鍵とパスワードを取得したら、鍵 (Consumer key) とパスワード (Consumer secret) をそれぞれ環境変数として設定します。
|
60
63
|
|
61
64
|
```
|
62
65
|
export TWITTER_KEY="your_consumer_key"
|
@@ -74,3 +77,88 @@ export TWITTER_NAME='your_twitter_screen_name'
|
|
74
77
|
```
|
75
78
|
|
76
79
|
日記の編集画面にアクセスすると、Twitterのログイン画面が表示されるようになります。編集画面へは `your_twitter_screen_name` で指定したアカウントのみがアクセスできます。
|
80
|
+
|
81
|
+
サポートしている外部サービス認証の一覧
|
82
|
+
----
|
83
|
+
|
84
|
+
### Twitter
|
85
|
+
|
86
|
+
Gemfile.localの記述
|
87
|
+
|
88
|
+
```
|
89
|
+
gem 'omniauth'
|
90
|
+
gem 'omniauth-twitter'
|
91
|
+
```
|
92
|
+
|
93
|
+
環境変数の設定
|
94
|
+
|
95
|
+
```
|
96
|
+
export TWITTER_KEY="your_consumer_key" # Consumer Key (API Key)
|
97
|
+
export TWITTER_SECRET="your_consumer_secret" # Consumer Secret (API Secret)
|
98
|
+
export TWITTER_NAME="your_screen_name" # アクセスを許可するアカウント名
|
99
|
+
```
|
100
|
+
|
101
|
+
KeyとSecretは [Twitter Application Management](https://apps.twitter.com/) にて取得できます。
|
102
|
+
|
103
|
+
### Facebook
|
104
|
+
|
105
|
+
Gemfile.localの記述
|
106
|
+
|
107
|
+
```
|
108
|
+
gem 'omniauth'
|
109
|
+
gem 'omniauth-facebook'
|
110
|
+
```
|
111
|
+
|
112
|
+
環境変数の設定
|
113
|
+
|
114
|
+
```
|
115
|
+
export FACEBOOK_KEY="your_app_id" # App ID
|
116
|
+
export FACEBOOK_SECRET="your_app_secret" # App Secret
|
117
|
+
export FACEBOOK_EMAIL="your_email@example.com" # アクセスを許可するアカウントのメールアドレス
|
118
|
+
```
|
119
|
+
|
120
|
+
IDとSecretは [Facebook Developers](https://developers.facebook.com/) にて取得できます。
|
121
|
+
設定画面にてWebsiteの「Site URL」と「Mobile Site URL」には、設置する日記のアドレスを指定してください。
|
122
|
+
|
123
|
+
### Google
|
124
|
+
|
125
|
+
Gemfile.localの記述
|
126
|
+
|
127
|
+
```
|
128
|
+
gem 'omniauth'
|
129
|
+
gem 'omniauth-google-oauth2'
|
130
|
+
```
|
131
|
+
|
132
|
+
環境変数の設定
|
133
|
+
|
134
|
+
```
|
135
|
+
export GOOGLE_CLIENT_ID="your_client_id" # クライアント ID
|
136
|
+
export GOOGLE_CLIENT_SECRET="your_client_secret" # クライアント シークレット
|
137
|
+
export GOOGLE_EMAIL="your_email@gmail.com" # アクセスを許可するアカウントのメールアドレス
|
138
|
+
```
|
139
|
+
|
140
|
+
IDとシークレットは [Google Developers Console](https://code.google.com/apis/console/) にて取得できます。
|
141
|
+
設定画面にて「リダイレクトURL」には、設定する日記のアドレスの末尾に `update.rb/auth/google_oauth2/callback` を加えたものを指定してください。
|
142
|
+
日記のアドレスが `http://diary.example.com/` の場合、リダイレクトURLは `http://diary.example.com/update.rb/auth/google_oauth2/callback` となります。
|
143
|
+
|
144
|
+
また、Google Developers Consoleの「APIと認証」にて、Google+ APIのステータスをonにしてください。
|
145
|
+
|
146
|
+
### GitHub
|
147
|
+
|
148
|
+
Gemfile.localの記述
|
149
|
+
|
150
|
+
```
|
151
|
+
gem 'omniauth'
|
152
|
+
gem 'omniauth-github'
|
153
|
+
```
|
154
|
+
|
155
|
+
環境変数の設定
|
156
|
+
|
157
|
+
```
|
158
|
+
export GITHUB_KEY="your_client_id" # Cliend ID
|
159
|
+
export GITHUB_SECRET="your_client_secret" # Cliend Secret
|
160
|
+
export GITHUB_NAME="your_github_nickname" # アクセスを許可するアカウント名
|
161
|
+
```
|
162
|
+
|
163
|
+
Cliend ID と Cliend Secret は、 [New OAuth Application](https://github.com/settings/applications/new) にて取得できます。
|
164
|
+
設定画面にて「Authorization callback URL」には、設置する日記のアドレスを指定してください。
|
data/doc/HOWTO-testing-tDiary.md
CHANGED
data/doc/INSTALL-paas.md
CHANGED
@@ -6,74 +6,39 @@ Install to PaaS
|
|
6
6
|
|
7
7
|
tDiary-3.1.3 以降のバージョンでは tDiary を [Heroku](http://www.heroku.com) や [sqale](http://sqale.jp) のような PasS で動かすことが可能です。PaaS を利用することで、3.1.3 以前のバージョンで必要とされていた Apache のような http サーバーの用意や CGI として動作させるための環境設定を行う事なく、 tDiary を動かして日記を書くことが可能となります。
|
8
8
|
|
9
|
-
必要なもの
|
10
|
-
-----
|
11
|
-
|
12
|
-
tDiary を PaaS で動作させるためには以下のツールが必要となります。
|
13
|
-
|
14
|
-
- [git](http://git-scm.com)
|
15
|
-
- Ruby 1.9.2 以降
|
16
|
-
- RubyGems 1.3.7 以降
|
17
|
-
- Bundler 1.0.0 以降
|
18
|
-
|
19
|
-
また、よくわからない場合は Heroku が配布している [heroku toolbelt](https://toolbelt.heroku.com) を用いると簡単に上記のツールをインストールすることができます。
|
20
|
-
|
21
9
|
動かし方 - Heroku の場合
|
22
10
|
----
|
23
11
|
|
24
|
-
|
25
|
-
|
26
|
-
```
|
27
|
-
git clone git://github.com/tdiary/tdiary-core.git
|
28
|
-
```
|
29
|
-
|
30
|
-
続いて、依存するライブラリをインストールするために bundle install コマンドを実行します。
|
12
|
+
Webブラウザだけあれば動作させることが可能です。
|
31
13
|
|
32
|
-
|
33
|
-
% cd tdiary-core
|
34
|
-
% bundle install
|
35
|
-
```
|
14
|
+
日記の更新時にTwitterのOAuthを使って認証するようになっています。あらかじめ[Twitter Application Management](https://apps.twitter.com/)にてアプリケーションを作成し、Consumer Key (API Key) と Consumer Secret (API Secret) を取得しておきます。
|
36
15
|
|
37
|
-
|
16
|
+
続いて GitHub 上にある[tDiaryのリポジトリ](https://github.com/tdiary/tdiary-core)から、Herokuボタンを使ってデプロイしてください(トップページ下部のREADMEにあります)。
|
38
17
|
|
39
|
-
|
40
|
-
% heroku apps:create [アプリケーション名]
|
41
|
-
```
|
18
|
+
Heroku の New App ページになったら、下記の情報を入力して、Deploy for Free ボタンを押します。
|
42
19
|
|
43
|
-
|
20
|
+
* App Name (任意)
|
21
|
+
* TWITTER_KEY: Twitter の Consumer Key (API Key)
|
22
|
+
* TWITTER_SECRET: Twitter の Consumer Secret (API Secret)
|
23
|
+
* TWITTER_NAME: 認証に使う Twitter のユーザ名
|
44
24
|
|
45
|
-
|
46
|
-
% git checkout -b deploy
|
47
|
-
```
|
25
|
+
「Deployed to Heroku」まで進めば利用可能です。「View it」のリンクから日記に飛んで下さい。
|
48
26
|
|
49
|
-
|
27
|
+
【注意】View itから飛んだ先のURLは https://~ になっています。いったん http://~ にしないと認証が通らないので注意してください。なお、設定画面で「日記のURL」を https://~ に変更することで https での利用が可能です。
|
50
28
|
|
51
|
-
|
52
|
-
|
53
|
-
```
|
54
|
-
|
55
|
-
続いて .gitignore の 2 行目の .htpasswd と 9 行目の tdiary.conf を削除します。
|
56
|
-
|
57
|
-
日記更新時に必要となるユーザー名とパスワードを保存する .htpasswd ファイルを作成します。この情報は重要なので、外部には公開しないでください。
|
58
|
-
|
59
|
-
```
|
60
|
-
% bundle exec bin/tdiary htpasswd
|
61
|
-
```
|
29
|
+
動かし方 - sqale の場合
|
30
|
+
----
|
62
31
|
|
63
|
-
|
32
|
+
tDiary を sqale で動作させるためには以下のツールが必要となります。
|
64
33
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
```
|
70
|
-
|
71
|
-
これで http://mydiary.herokuapp.com にアクセスして日記を書くことができます。
|
34
|
+
- [git](http://git-scm.com)
|
35
|
+
- Ruby 2.0.0 以降
|
36
|
+
- RubyGems 1.3.7 以降
|
37
|
+
- Bundler 1.0.0 以降
|
72
38
|
|
73
|
-
|
74
|
-
----
|
39
|
+
また、よくわからない場合は Heroku が配布している [heroku toolbelt](https://toolbelt.heroku.com) を用いると簡単に上記のツールをインストールすることができます。
|
75
40
|
|
76
|
-
tDiary の最新版を取得します。
|
41
|
+
git を使って tDiary の最新版を取得します。
|
77
42
|
|
78
43
|
```
|
79
44
|
git clone git://github.com/tdiary/tdiary-core.git
|
data/doc/README.en.md
CHANGED
data/doc/README.md
CHANGED
data/js/comment_ajax.js
CHANGED
@@ -12,7 +12,7 @@ $(function() {
|
|
12
12
|
$('<input type="hidden">').attr('name', 'comment').appendTo(form);
|
13
13
|
$(':submit', form).attr('disabled', 'disabled');
|
14
14
|
$('div.button input', form).hide();
|
15
|
-
$('div.button', form).append('<div id="loading-button"><img src="theme/loading.gif">')
|
15
|
+
$('div.button', form).append('<div id="loading-button"><img src="' + $tDiary.plugin.comment_ajax.theme + '/loading.gif">')
|
16
16
|
$.post(form.attr('action'), form.serialize(), function(data) {
|
17
17
|
$('#loading-button').remove();
|
18
18
|
$('div.button input', form).show();
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module TDiary
|
2
2
|
class Application
|
3
3
|
class Configuration
|
4
|
-
attr_accessor :
|
4
|
+
attr_accessor :assets_precompile, :plugin_paths, :path
|
5
5
|
|
6
6
|
def initialize
|
7
7
|
# if you need to auto compilation for CoffeeScript
|
@@ -12,16 +12,12 @@ module TDiary
|
|
12
12
|
update: '/update.rb',
|
13
13
|
assets: '/assets'
|
14
14
|
}
|
15
|
-
@builder_procs = []
|
16
|
-
@authenticate_proc = proc { }
|
17
15
|
end
|
18
16
|
|
19
|
-
def
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
def authenticate(middleware, *params, &block)
|
24
|
-
@authenticate_proc = proc { use middleware, *params, &block }
|
17
|
+
def assets_paths
|
18
|
+
TDiary::Extensions::constants.map {|extension|
|
19
|
+
TDiary::Extensions::const_get( extension ).assets_path
|
20
|
+
}.flatten.uniq
|
25
21
|
end
|
26
22
|
end
|
27
23
|
end
|