tdiary 5.6.0 → 5.6.1
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/Gemfile.lock +11 -12
- data/doc/HOWTO-make-theme.md +3 -3
- data/js/draft.js +152 -52
- data/js/image.js +127 -28
- data/lib/tdiary/version.rb +1 -1
- data/misc/plugin/amazon.rb +37 -11
- data/misc/plugin/amazon_rakuten.rb +75 -0
- data/misc/plugin/draft.rb +75 -0
- data/misc/plugin/en/image.rb +5 -0
- data/misc/plugin/en/makerss.rb +4 -0
- data/misc/plugin/image.rb +14 -3
- data/misc/plugin/ja/makerss.rb +3 -0
- data/misc/plugin/makerss.rb +3 -2
- data/theme/default/default.css +33 -8
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/cgi/escape.so +0 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/cgi-0.5.2/gem_make.out +6 -6
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/date_core.so +0 -0
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/gem_make.out +6 -6
- data/vendor/bundle/ruby/3.4.0/extensions/x86_64-linux/3.4.0/date-3.5.1/mkmf.log +4 -4
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape/Makefile +3 -3
- data/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/lib/cgi/escape.so +0 -0
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date/Makefile +3 -3
- data/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/lib/date_core.so +0 -0
- metadata +2 -3
- data/misc/plugin/amp.rb +0 -118
- data/views/amp.rhtml +0 -34
data/misc/plugin/amazon.rb
CHANGED
|
@@ -92,11 +92,12 @@ def amazon_detail_html(item)
|
|
|
92
92
|
image = amazon_image(item)
|
|
93
93
|
@conf['amazon.imgsize'] = size_orig
|
|
94
94
|
|
|
95
|
+
size = %Q|height="#{h image[:height]}" width="#{h image[:width]}"| if image[:height]
|
|
95
96
|
url = amazon_url(item)
|
|
96
97
|
<<-HTML
|
|
97
98
|
<a class="amazon-detail" href="#{url}"><span class="amazon-detail">
|
|
98
99
|
<img class="amazon-detail left" src="#{h image[:src]}"
|
|
99
|
-
|
|
100
|
+
#{size}
|
|
100
101
|
alt="">
|
|
101
102
|
<span class="amazon-detail-desc">
|
|
102
103
|
<span class="amazon-title">#{h title}</span><br>
|
|
@@ -125,7 +126,7 @@ def amazon_to_html(item, with_image = true, label = nil, pos = 'amazon')
|
|
|
125
126
|
unless image[:src] then
|
|
126
127
|
img = ''
|
|
127
128
|
else
|
|
128
|
-
size = %Q|height="#{h image[:height]}" width="#{h image[:width]}"|
|
|
129
|
+
size = %Q|height="#{h image[:height]}" width="#{h image[:width]}"| if image[:height]
|
|
129
130
|
img = <<-HTML
|
|
130
131
|
<img class="#{h pos}" src="#{h image[:src]}"
|
|
131
132
|
#{size} alt="#{h alt}">
|
|
@@ -138,6 +139,18 @@ def amazon_to_html(item, with_image = true, label = nil, pos = 'amazon')
|
|
|
138
139
|
%Q|<a href="#{h url}">#{img}#{h label}</a>|
|
|
139
140
|
end
|
|
140
141
|
|
|
142
|
+
# Books Amazon doesn't answer for are asked of a plugin defining amazon_book_item(isbn), like amazon_rakuten.rb.
|
|
143
|
+
def amazon_book_json(item_id)
|
|
144
|
+
return nil unless defined?(amazon_book_item) && /\A(?:\d{9}[\dX]|97[89]\d{10})\z/i =~ item_id
|
|
145
|
+
item = amazon_book_item(item_id)
|
|
146
|
+
{'ItemsResult' => {'Items' => [item]}}.to_json if item
|
|
147
|
+
end
|
|
148
|
+
|
|
149
|
+
def amazon_dp_link(asin, label)
|
|
150
|
+
url = "https://www.amazon.co.jp/dp/#{asin}"
|
|
151
|
+
%Q|<a href="#{h url}">#{h(label || url)}</a>|
|
|
152
|
+
end
|
|
153
|
+
|
|
141
154
|
def amazon_get(asin, with_image = true, label = nil, pos = 'amazon')
|
|
142
155
|
asin = asin.to_s.strip.gsub(/-/, '')
|
|
143
156
|
country, item_id = asin.scan(/\A(..):(.*)/).flatten
|
|
@@ -149,16 +162,31 @@ def amazon_get(asin, with_image = true, label = nil, pos = 'amazon')
|
|
|
149
162
|
begin
|
|
150
163
|
cache = "#{@cache_path}/amazon"
|
|
151
164
|
Dir::mkdir( cache ) unless File::directory?( cache )
|
|
165
|
+
file = "#{cache}/#{country}#{item_id}.json"
|
|
152
166
|
begin
|
|
153
|
-
json = File::read(
|
|
167
|
+
json = File::read(file)
|
|
168
|
+
raise Errno::ENOENT if json.empty?
|
|
154
169
|
rescue Errno::ENOENT
|
|
155
170
|
access_key = @conf['amazon.access_key']
|
|
156
171
|
secret_key = @conf['amazon.secret_key']
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
172
|
+
if access_key && secret_key && !File::exist?(file)
|
|
173
|
+
begin
|
|
174
|
+
partner_tag = @conf['amazon.aid']
|
|
175
|
+
paapi = AWS::PAAPI.new(access_key, secret_key, partner_tag)
|
|
176
|
+
json = paapi.get_items(item_id, country.to_sym)
|
|
177
|
+
rescue Net::HTTPExceptions => e
|
|
178
|
+
# An empty cache records a 403, which PA-API keeps answering, so the item isn't asked about again until the cache is cleared
|
|
179
|
+
File::write(file, '') if e.response.code == '403'
|
|
180
|
+
json = amazon_book_json(item_id)
|
|
181
|
+
raise unless json
|
|
182
|
+
end
|
|
183
|
+
else
|
|
184
|
+
json = amazon_book_json(item_id)
|
|
185
|
+
unless json
|
|
186
|
+
return File::exist?(file) ? amazon_dp_link(asin, label) : asin
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
File::open(file, 'wb'){|f| f.write(json)}
|
|
162
190
|
end
|
|
163
191
|
item = JSON.parse(json)["ItemsResult"]["Items"][0]
|
|
164
192
|
if pos == 'detail' then
|
|
@@ -185,9 +213,7 @@ def amazon_get(asin, with_image = true, label = nil, pos = 'amazon')
|
|
|
185
213
|
message = ''
|
|
186
214
|
# Handle 429 "Too Many Requests" and 403 "Forbidden"
|
|
187
215
|
if /^429|^403/ =~ e.message then
|
|
188
|
-
|
|
189
|
-
label ||= url
|
|
190
|
-
message << %Q|<a href="#{h url}">#{h label}</a>|
|
|
216
|
+
message << amazon_dp_link(asin, label)
|
|
191
217
|
end
|
|
192
218
|
if @mode == 'preview' then
|
|
193
219
|
message << %Q|<span class="message">(#{h e.message})</span>|
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
#
|
|
2
|
+
# amazon_rakuten.rb: look books of amazon.rb up in Rakuten Books
|
|
3
|
+
#
|
|
4
|
+
# PA-API refuses Associates accounts that don't meet its eligibility
|
|
5
|
+
# requirements, which leaves amazon.rb without titles and images. With
|
|
6
|
+
# this plugin, books given by ISBN come from Rakuten Books Book Search
|
|
7
|
+
# API instead, and link to Rakuten Books as its terms require.
|
|
8
|
+
#
|
|
9
|
+
# options:
|
|
10
|
+
# @options['rakuten.app_id'] : application ID of Rakuten Web Service
|
|
11
|
+
# @options['rakuten.access_key'] : access key of the application
|
|
12
|
+
# @options['rakuten.affiliate_id'] : Rakuten Affiliate ID for the links (optional)
|
|
13
|
+
#
|
|
14
|
+
# Register the application as an API/backend service allowing the IP
|
|
15
|
+
# address of the server. Rakuten requires the credit this plugin puts in
|
|
16
|
+
# the footer.
|
|
17
|
+
#
|
|
18
|
+
# Copyright (c) 2026 Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
19
|
+
# Distributed under the GPL2 or any later version.
|
|
20
|
+
#
|
|
21
|
+
require 'json'
|
|
22
|
+
require 'net/http'
|
|
23
|
+
|
|
24
|
+
def amazon_book_item(isbn)
|
|
25
|
+
app_id = @conf['rakuten.app_id']
|
|
26
|
+
access_key = @conf['rakuten.access_key']
|
|
27
|
+
return nil unless app_id && access_key
|
|
28
|
+
|
|
29
|
+
uri = URI('https://openapi.rakuten.co.jp/services/api/BooksBook/Search/20170404')
|
|
30
|
+
params = {applicationId: app_id, accessKey: access_key, isbn: isbn, outOfStockFlag: 1, formatVersion: 2}
|
|
31
|
+
params[:affiliateId] = @conf['rakuten.affiliate_id'] if @conf['rakuten.affiliate_id']
|
|
32
|
+
uri.query = URI.encode_www_form(params)
|
|
33
|
+
# Rakuten answers 429 to more than one request a second
|
|
34
|
+
sleep 1 if @amazon_rakuten_requested
|
|
35
|
+
@amazon_rakuten_requested = true
|
|
36
|
+
response = Net::HTTP.get_response(uri)
|
|
37
|
+
response.value
|
|
38
|
+
book = JSON.parse(response.body)['Items'][0]
|
|
39
|
+
return nil unless book
|
|
40
|
+
|
|
41
|
+
{
|
|
42
|
+
'DetailPageURL' => book['affiliateUrl'].to_s.empty? ? book['itemUrl'] : book['affiliateUrl'],
|
|
43
|
+
'ItemInfo' => {
|
|
44
|
+
'Title' => {'DisplayValue' => book['title']},
|
|
45
|
+
'ByLineInfo' => {
|
|
46
|
+
'Contributors' => [{'Name' => book['author'][%r{[^/]*}]}],
|
|
47
|
+
'Manufacturer' => {'DisplayValue' => book['publisherName']}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
'Images' => {
|
|
51
|
+
'Primary' => {
|
|
52
|
+
'Small' => {'URL' => book['smallImageUrl']},
|
|
53
|
+
'Medium' => {'URL' => book['mediumImageUrl']},
|
|
54
|
+
'Large' => {'URL' => book['largeImageUrl']}
|
|
55
|
+
}
|
|
56
|
+
},
|
|
57
|
+
'OffersV2' => {
|
|
58
|
+
'Listings' => [{'Price' => {'Money' => {'DisplayAmount' => "¥#{book['itemPrice'].to_s.gsub(/(\d)(?=(\d{3})+\z)/, '\1,')}"}}}]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
rescue => e
|
|
62
|
+
@logger.error "amazon_rakuten.rb: #{e.message}"
|
|
63
|
+
nil
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
add_footer_proc do
|
|
67
|
+
%Q|<div class="footer"><a href="https://developers.rakuten.com/">Supported by Rakuten Developers</a></div>|
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Local Variables:
|
|
71
|
+
# mode: ruby
|
|
72
|
+
# indent-tabs-mode: t
|
|
73
|
+
# tab-width: 3
|
|
74
|
+
# ruby-indent-level: 3
|
|
75
|
+
# End:
|
data/misc/plugin/draft.rb
CHANGED
|
@@ -1,11 +1,85 @@
|
|
|
1
1
|
#
|
|
2
2
|
# draft.rb: save draft data to Web Storage automatically
|
|
3
|
+
# and keep a copy of them on the server
|
|
4
|
+
#
|
|
5
|
+
# options:
|
|
6
|
+
# @options['draft.sync_interval'] : seconds between uploads to the server (default 300)
|
|
3
7
|
#
|
|
4
8
|
# Copyright (c) MATSUOKA Kohei <http://www.machu.jp/>
|
|
5
9
|
# Distributed under the GPL2 or any later version.
|
|
6
10
|
#
|
|
11
|
+
require 'json'
|
|
12
|
+
|
|
13
|
+
def draft_max_count
|
|
14
|
+
10
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
def draft_restore( db )
|
|
18
|
+
%w(drafts deleted).map {|key| JSON.parse( db.get( key ) || '[]' ) }
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def draft_id?( id )
|
|
22
|
+
id.kind_of?( String ) and /\A[0-9a-z]{1,32}\z/.match?( id )
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def draft_valid?( item )
|
|
26
|
+
item.kind_of?( Hash ) and
|
|
27
|
+
draft_id?( item['id'] ) and
|
|
28
|
+
item['date'].kind_of?( Integer ) and
|
|
29
|
+
item['value'].kind_of?( String ) and !item['value'].empty?
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def draft_sync( items )
|
|
33
|
+
transaction( 'draft' ) do |db|
|
|
34
|
+
drafts, deleted = draft_restore( db )
|
|
35
|
+
items.each do |item|
|
|
36
|
+
# a draft submitted as a diary must not come back from another browser
|
|
37
|
+
next if !draft_valid?( item ) or deleted.include?( item['id'] )
|
|
38
|
+
stored = drafts.find {|d| d['id'] == item['id'] }
|
|
39
|
+
if !stored
|
|
40
|
+
drafts << item.slice( 'id', 'date', 'value' )
|
|
41
|
+
elsif stored['date'] < item['date']
|
|
42
|
+
stored.update( item.slice( 'date', 'value' ) )
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
db.set( 'drafts', drafts.sort_by {|d| d['date'] }.last( draft_max_count ).to_json )
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def draft_delete( id )
|
|
50
|
+
transaction( 'draft' ) do |db|
|
|
51
|
+
drafts, deleted = draft_restore( db )
|
|
52
|
+
db.set( 'drafts', drafts.reject {|d| d['id'] == id }.to_json )
|
|
53
|
+
db.set( 'deleted', (deleted - [id] + [id]).last( 100 ).to_json )
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
7
57
|
if /\A(form|edit|preview|showcomment)\z/ === @mode then
|
|
8
58
|
enable_js('draft.js')
|
|
59
|
+
server = nil
|
|
60
|
+
transaction( 'draft' ) do |db|
|
|
61
|
+
drafts, deleted = draft_restore( db )
|
|
62
|
+
server = { 'drafts' => drafts, 'deleted' => deleted, 'max' => draft_max_count }
|
|
63
|
+
end
|
|
64
|
+
add_js_setting( '$tDiary.plugin.draft' )
|
|
65
|
+
# keep the drafts from closing the script element
|
|
66
|
+
add_js_setting( '$tDiary.plugin.draft.server', server.to_json.gsub( '<', '\\u003c' ) )
|
|
67
|
+
add_js_setting( '$tDiary.plugin.draft.interval', (@conf['draft.sync_interval'] || 300).to_i )
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
if @mode == 'formplugin' and @cgi.params['plugin_draft_sync'][0] then
|
|
71
|
+
begin
|
|
72
|
+
items = JSON.parse( @cgi.params['plugin_draft_sync'][0] )
|
|
73
|
+
draft_sync( items ) if items.kind_of?( Array )
|
|
74
|
+
rescue JSON::ParserError
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
add_update_proc do
|
|
79
|
+
id = @cgi.params['plugin_draft_id'][0]
|
|
80
|
+
if /\A(append|replace)\z/ =~ @mode and draft_id?( id ) then
|
|
81
|
+
draft_delete( id )
|
|
82
|
+
end
|
|
9
83
|
end
|
|
10
84
|
|
|
11
85
|
add_edit_proc do
|
|
@@ -14,6 +88,7 @@ add_edit_proc do
|
|
|
14
88
|
下書き:
|
|
15
89
|
<select name="drafts"></select>
|
|
16
90
|
<button type="button" id="draft_load">読み込み</button>
|
|
91
|
+
<input type="hidden" name="plugin_draft_id" value="">
|
|
17
92
|
</div>
|
|
18
93
|
EOS
|
|
19
94
|
end
|
data/misc/plugin/en/image.rb
CHANGED
|
@@ -27,6 +27,10 @@
|
|
|
27
27
|
# URL of the image directory. Default is './images/'.
|
|
28
28
|
# @options['image.maxwidth']
|
|
29
29
|
# Max display width of image without specified 'size' parameter.
|
|
30
|
+
# @options['image.resize']
|
|
31
|
+
# Images are shrunk on upload so that the longer side fits in this
|
|
32
|
+
# many pixels. Default is 1600. Exif, including the location, is
|
|
33
|
+
# dropped at the same time (except GIF).
|
|
30
34
|
#
|
|
31
35
|
def image_error_num( max ); "You can add images upto #{h max} par a day."; end
|
|
32
36
|
def image_error_size( max ); "You can add images upto #{h max} bytes par an image."; end
|
|
@@ -38,6 +42,7 @@ def image_label_delete; 'Delete checked images'; end
|
|
|
38
42
|
def image_label_only_jpeg; 'Only JPEG'; end
|
|
39
43
|
def image_label_add_image; 'Upload the image'; end
|
|
40
44
|
def image_label_drop_here; 'Drop files here'; end
|
|
45
|
+
def image_label_upload_failed; 'Could not upload the image'; end
|
|
41
46
|
|
|
42
47
|
# Local Variables:
|
|
43
48
|
# mode: ruby
|
data/misc/plugin/en/makerss.rb
CHANGED
|
@@ -16,6 +16,10 @@ def makerss_conf_html
|
|
|
16
16
|
<option value="f"#{' selected' unless @conf['makerss.hidecontent']}>Include</option>
|
|
17
17
|
<option value="t"#{' selected' if @conf['makerss.hidecontent']}>Hide</option></select>
|
|
18
18
|
encoded contents of your diary in the feed.
|
|
19
|
+
<li><select name="makerss.hidesubtitle">
|
|
20
|
+
<option value="f"#{' selected' unless @conf['makerss.hidesubtitle']}>Include</option>
|
|
21
|
+
<option value="t"#{' selected' if @conf['makerss.hidesubtitle']}>Hide</option></select>
|
|
22
|
+
subtitles in the encoded contents.
|
|
19
23
|
<li>Include summary of your contents<select name="makerss.shortdesc">
|
|
20
24
|
<option value="f"#{' selected' unless @conf['makerss.shortdesc']}>as long as possible</option>
|
|
21
25
|
<option value="t"#{' selected' if @conf['makerss.shortdesc']}>only some portion</option></select>
|
data/misc/plugin/image.rb
CHANGED
|
@@ -36,6 +36,9 @@
|
|
|
36
36
|
# @options['image.maxwidth']
|
|
37
37
|
# sizeを指定しなかった場合に指定できる画像の最大表示幅。無指定時はnil
|
|
38
38
|
# 表示のたびにファイルアクセスが入るので、重くなるかも?
|
|
39
|
+
# @options['image.resize']
|
|
40
|
+
# アップロード時に縮小する画像の長辺のピクセル数。無指定時は1600
|
|
41
|
+
# 縮小と同時に位置情報などのExifも取り除かれます(GIFを除く)。
|
|
39
42
|
#
|
|
40
43
|
# ライセンスについて:
|
|
41
44
|
# Copyright (c) 2002,2003 Daisuke Kato <dai@kato-agri.com>
|
|
@@ -55,6 +58,7 @@ unless @resource_loaded then
|
|
|
55
58
|
def image_label_only_jpeg; 'JPEGのみ'; end
|
|
56
59
|
def image_label_add_image; 'この画像をアップロードする'; end
|
|
57
60
|
def image_label_drop_here; 'ここにファイルをドロップ'; end
|
|
61
|
+
def image_label_upload_failed; '画像をアップロードできませんでした'; end
|
|
58
62
|
end
|
|
59
63
|
|
|
60
64
|
def image( id, alt = 'image', thumbnail = nil, size = nil, place = 'photo' )
|
|
@@ -142,17 +146,22 @@ def image_list( date )
|
|
|
142
146
|
list
|
|
143
147
|
end
|
|
144
148
|
|
|
145
|
-
if /^(form|edit|formplugin|showcomment)$/ =~ @mode then
|
|
149
|
+
if /^(form|edit|formplugin|showcomment|preview)$/ =~ @mode then
|
|
146
150
|
enable_js( 'image.js' )
|
|
147
151
|
add_js_setting( '$tDiary.plugin.image' )
|
|
148
152
|
add_js_setting( '$tDiary.plugin.image.alt', %Q|'#{image_label_description}'| )
|
|
149
153
|
add_js_setting( '$tDiary.plugin.image.drop_here', %Q|'#{image_label_drop_here}'| )
|
|
154
|
+
add_js_setting( '$tDiary.plugin.image.failed', %Q|'#{image_label_upload_failed}'| )
|
|
155
|
+
add_js_setting( '$tDiary.plugin.image.date', %Q|'#{@date.strftime( '%Y%m%d' )}'| )
|
|
156
|
+
resize = @options['image.resize'].to_i
|
|
157
|
+
add_js_setting( '$tDiary.plugin.image.resize', resize > 0 ? resize : 1600 )
|
|
150
158
|
end
|
|
151
159
|
|
|
152
160
|
if /^formplugin$/ =~ @mode then
|
|
153
161
|
maxnum = @options['image.maxnum'] || 1
|
|
154
162
|
maxsize = @options['image.maxsize'] || 10000
|
|
155
163
|
|
|
164
|
+
@image_added = []
|
|
156
165
|
begin
|
|
157
166
|
date = @date.strftime( "%Y%m%d" )
|
|
158
167
|
images = image_list( date )
|
|
@@ -167,7 +176,9 @@ if /^formplugin$/ =~ @mode then
|
|
|
167
176
|
rescue NameError
|
|
168
177
|
size = file.stat.size
|
|
169
178
|
end
|
|
170
|
-
|
|
179
|
+
number = images.length + @image_added.length
|
|
180
|
+
output = "#{@image_dir}/#{date}_#{number}.#{extension}"
|
|
181
|
+
@image_added << number
|
|
171
182
|
File::umask( 022 )
|
|
172
183
|
File::open( output, "wb" ) do |f|
|
|
173
184
|
f.print file.read
|
|
@@ -204,7 +215,7 @@ add_form_proc do |date|
|
|
|
204
215
|
images.each_with_index do |img,id|
|
|
205
216
|
next unless img
|
|
206
217
|
_, img_w, img_h = image_info(File.join(@image_dir,img))
|
|
207
|
-
r << %Q[<td><img id="image-index-#{id}" class="image-img form" src="#{h @image_url}/#{h img}" alt="#{id}" width="#{h( (img_w && img_w > 160) ? 160 : (img_w ? img_w : 160) )}"></td>]
|
|
218
|
+
r << %Q[<td><img id="image-index-#{id}" class="image-img form"#{' data-added="true"' if @image_added&.include?( id )} src="#{h @image_url}/#{h img}" alt="#{id}" width="#{h( (img_w && img_w > 160) ? 160 : (img_w ? img_w : 160) )}"></td>]
|
|
208
219
|
img_info = ''
|
|
209
220
|
if img_w && img_h
|
|
210
221
|
img_info << %Q|<span class="image-width">#{img_w}</span> x <span class="image-height">#{img_h}</span>|
|
data/misc/plugin/ja/makerss.rb
CHANGED
|
@@ -14,6 +14,9 @@ def makerss_conf_html
|
|
|
14
14
|
<li>フィードに本文全体を<select name="makerss.hidecontent">
|
|
15
15
|
<option value="f"#{' selected' unless @conf['makerss.hidecontent']}>含める</option>
|
|
16
16
|
<option value="t"#{' selected' if @conf['makerss.hidecontent']}>含めない</option></select></li>
|
|
17
|
+
<li>フィードの本文にサブタイトルを<select name="makerss.hidesubtitle">
|
|
18
|
+
<option value="f"#{' selected' unless @conf['makerss.hidesubtitle']}>含める</option>
|
|
19
|
+
<option value="t"#{' selected' if @conf['makerss.hidesubtitle']}>含めない</option></select></li>
|
|
17
20
|
<li>フィードに含める説明を<select name="makerss.shortdesc">
|
|
18
21
|
<option value="f"#{' selected' unless @conf['makerss.shortdesc']}>できるだけ長くする</option>
|
|
19
22
|
<option value="t"#{' selected' if @conf['makerss.shortdesc']}>最初だけにする</option></select></li>
|
data/misc/plugin/makerss.rb
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
#
|
|
5
5
|
# options configurable through settings:
|
|
6
6
|
# @conf['makerss.hidecontent'] : hide full-text content. default: false
|
|
7
|
+
# @conf['makerss.hidesubtitle'] : hide subtitle in full-text content. default: false
|
|
7
8
|
# @conf['makerss.shortdesc'] : shorter description. default: false
|
|
8
9
|
# @conf['makerss.comment_link'] : insert tsukkomi's link. default: false
|
|
9
10
|
#
|
|
@@ -395,7 +396,7 @@ def makerss_body( uri, rdfsec )
|
|
|
395
396
|
rdf << %Q|<description>#{h makerss_desc_shorten( desc )}</description>\n|
|
|
396
397
|
unless @conf['makerss.hidecontent']
|
|
397
398
|
text = ''
|
|
398
|
-
text << '<h3>' + apply_plugin( subtitle.sub( /^(\[([^\]]+)\])+ */, '' ) ).strip + '</h3>' if subtitle and not subtitle.empty?
|
|
399
|
+
text << '<h3>' + apply_plugin( subtitle.sub( /^(\[([^\]]+)\])+ */, '' ) ).strip + '</h3>' if subtitle and not subtitle.empty? and not @conf['makerss.hidesubtitle']
|
|
399
400
|
text << body_enter
|
|
400
401
|
text << body
|
|
401
402
|
text << body_leave
|
|
@@ -451,7 +452,7 @@ add_header_proc {
|
|
|
451
452
|
|
|
452
453
|
add_conf_proc( 'makerss', @makerss_conf_label, 'update' ) do
|
|
453
454
|
if @mode == 'saveconf' then
|
|
454
|
-
%w( hidecontent shortdesc comment_link no_comments).each do |s|
|
|
455
|
+
%w( hidecontent hidesubtitle shortdesc comment_link no_comments).each do |s|
|
|
455
456
|
item = "makerss.#{s}"
|
|
456
457
|
@conf[item] = ( 't' == @cgi.params[item][0] )
|
|
457
458
|
end
|
data/theme/default/default.css
CHANGED
|
@@ -15,6 +15,11 @@ Copyright 2011 (C) TADA Tadashi <t@tdtds.jp>
|
|
|
15
15
|
padding: 0px;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
html {
|
|
19
|
+
-webkit-text-size-adjust: 100%;
|
|
20
|
+
text-size-adjust: 100%;
|
|
21
|
+
}
|
|
22
|
+
|
|
18
23
|
body {
|
|
19
24
|
text-align: center;
|
|
20
25
|
width: 100%;
|
|
@@ -107,6 +112,10 @@ div.refererlist {
|
|
|
107
112
|
margin: 16px;
|
|
108
113
|
}
|
|
109
114
|
|
|
115
|
+
div.body {
|
|
116
|
+
overflow-wrap: anywhere;
|
|
117
|
+
}
|
|
118
|
+
|
|
110
119
|
div.section {
|
|
111
120
|
margin-top: 30px;
|
|
112
121
|
}
|
|
@@ -147,6 +156,7 @@ div.section pre {
|
|
|
147
156
|
padding: 8px;
|
|
148
157
|
background-color: #eee;
|
|
149
158
|
border-radius: 8px;
|
|
159
|
+
overflow-x: auto;
|
|
150
160
|
}
|
|
151
161
|
|
|
152
162
|
div.section blockquote {
|
|
@@ -210,6 +220,8 @@ div.section img {
|
|
|
210
220
|
border-style: solid;
|
|
211
221
|
border-color: #888;
|
|
212
222
|
border-width: 1px;
|
|
223
|
+
max-width: 100%;
|
|
224
|
+
height: auto;
|
|
213
225
|
}
|
|
214
226
|
|
|
215
227
|
div.section img.photo {
|
|
@@ -554,7 +566,7 @@ div.search-navi {
|
|
|
554
566
|
div.category {
|
|
555
567
|
text-align: left;
|
|
556
568
|
margin: 0px auto;
|
|
557
|
-
width: 900px;
|
|
569
|
+
max-width: 900px;
|
|
558
570
|
}
|
|
559
571
|
|
|
560
572
|
div.category ul {
|
|
@@ -670,22 +682,37 @@ div.sidebar div.calendar {
|
|
|
670
682
|
}
|
|
671
683
|
|
|
672
684
|
|
|
685
|
+
/*
|
|
686
|
+
stack the sidebar under the main column below the width of div.whole-content
|
|
687
|
+
*/
|
|
688
|
+
@media screen and (max-width: 899px) {
|
|
689
|
+
div.main {
|
|
690
|
+
float: none;
|
|
691
|
+
max-width: none;
|
|
692
|
+
}
|
|
693
|
+
}
|
|
694
|
+
|
|
673
695
|
/*
|
|
674
696
|
design for smart phones
|
|
675
697
|
*/
|
|
676
|
-
@media screen and (max-
|
|
698
|
+
@media screen and (max-width: 480px) {
|
|
677
699
|
body {
|
|
678
700
|
box-sizing: border-box;
|
|
679
701
|
}
|
|
680
702
|
|
|
681
703
|
div.adminmenu {
|
|
682
|
-
font-size:
|
|
704
|
+
font-size: small;
|
|
683
705
|
margin: 0px;
|
|
684
706
|
padding-left: 0px;
|
|
685
707
|
padding-right: 0px;
|
|
686
708
|
width: 100%;
|
|
687
709
|
}
|
|
688
710
|
|
|
711
|
+
div.adminmenu a {
|
|
712
|
+
display: inline-block;
|
|
713
|
+
padding: 0.5em 0.75em;
|
|
714
|
+
}
|
|
715
|
+
|
|
689
716
|
h1 {
|
|
690
717
|
padding-top: 80px;
|
|
691
718
|
height: 50px;
|
|
@@ -742,12 +769,10 @@ div.sidebar div.calendar {
|
|
|
742
769
|
width: 100%;
|
|
743
770
|
}
|
|
744
771
|
|
|
772
|
+
input,
|
|
773
|
+
select,
|
|
745
774
|
textarea {
|
|
746
|
-
font-size:
|
|
747
|
-
}
|
|
748
|
-
|
|
749
|
-
div.sidebar {
|
|
750
|
-
display: none;
|
|
775
|
+
font-size: 16px;
|
|
751
776
|
}
|
|
752
777
|
}
|
|
753
778
|
|
|
Binary file
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
|
|
2
|
-
/opt/hostedtoolcache/Ruby/3.4.
|
|
2
|
+
/opt/hostedtoolcache/Ruby/3.4.11/x64/bin/ruby extconf.rb
|
|
3
3
|
creating Makefile
|
|
4
4
|
|
|
5
5
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
|
|
6
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
6
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av clean
|
|
7
7
|
|
|
8
8
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
|
|
9
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
9
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av
|
|
10
10
|
compiling escape.c
|
|
11
11
|
linking shared-object cgi/escape.so
|
|
12
12
|
|
|
13
13
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
|
|
14
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
15
|
-
/usr/bin/install -c -m 0755 escape.so ./.gem.
|
|
14
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av install
|
|
15
|
+
/usr/bin/install -c -m 0755 escape.so ./.gem.20261009-2497-urk1av/cgi
|
|
16
16
|
|
|
17
17
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/cgi-0.5.2/ext/cgi/escape
|
|
18
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
18
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urk1av sitelibdir\=./.gem.20261009-2497-urk1av clean
|
|
Binary file
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
|
|
2
|
-
/opt/hostedtoolcache/Ruby/3.4.
|
|
2
|
+
/opt/hostedtoolcache/Ruby/3.4.11/x64/bin/ruby extconf.rb
|
|
3
3
|
checking for rb_category_warn()... yes
|
|
4
4
|
checking for timezone in time.h with -Werror... yes
|
|
5
5
|
checking for altzone in time.h with -Werror... no
|
|
6
6
|
creating Makefile
|
|
7
7
|
|
|
8
8
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
|
|
9
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
9
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3 clean
|
|
10
10
|
|
|
11
11
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
|
|
12
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
12
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3
|
|
13
13
|
compiling date_core.c
|
|
14
14
|
compiling date_parse.c
|
|
15
15
|
compiling date_strftime.c
|
|
@@ -17,8 +17,8 @@ compiling date_strptime.c
|
|
|
17
17
|
linking shared-object date_core.so
|
|
18
18
|
|
|
19
19
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
|
|
20
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
21
|
-
/usr/bin/install -c -m 0755 date_core.so ./.gem.
|
|
20
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3 install
|
|
21
|
+
/usr/bin/install -c -m 0755 date_core.so ./.gem.20261009-2497-urkdo3
|
|
22
22
|
|
|
23
23
|
current directory: /home/runner/work/tdiary-core/tdiary-core/vendor/bundle/ruby/3.4.0/gems/date-3.5.1/ext/date
|
|
24
|
-
make DESTDIR\= sitearchdir\=./.gem.
|
|
24
|
+
make DESTDIR\= sitearchdir\=./.gem.20261009-2497-urkdo3 sitelibdir\=./.gem.20261009-2497-urkdo3 clean
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
have_func: checking for rb_category_warn()... -------------------- yes
|
|
2
2
|
|
|
3
|
-
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.
|
|
3
|
+
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -o conftest -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c -L. -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -lruby -lm -lpthread -lc"
|
|
4
4
|
checked program was:
|
|
5
5
|
/* begin */
|
|
6
6
|
1: #include "ruby.h"
|
|
@@ -11,7 +11,7 @@ checked program was:
|
|
|
11
11
|
6: }
|
|
12
12
|
/* end */
|
|
13
13
|
|
|
14
|
-
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.
|
|
14
|
+
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -o conftest -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC conftest.c -L. -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L. -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,--no-as-needed -Wl,-rpath,/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -L/opt/hostedtoolcache/Ruby/3.4.11/x64/lib -lruby -lm -lpthread -lc"
|
|
15
15
|
checked program was:
|
|
16
16
|
/* begin */
|
|
17
17
|
1: #include "ruby.h"
|
|
@@ -34,7 +34,7 @@ checked program was:
|
|
|
34
34
|
|
|
35
35
|
have_var: checking for timezone in time.h with -Werror... -------------------- yes
|
|
36
36
|
|
|
37
|
-
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.
|
|
37
|
+
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -Werror -c conftest.c"
|
|
38
38
|
checked program was:
|
|
39
39
|
/* begin */
|
|
40
40
|
1: #include "ruby.h"
|
|
@@ -59,7 +59,7 @@ checked program was:
|
|
|
59
59
|
|
|
60
60
|
have_var: checking for altzone in time.h with -Werror... -------------------- no
|
|
61
61
|
|
|
62
|
-
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.
|
|
62
|
+
LD_LIBRARY_PATH=.:/opt/hostedtoolcache/Ruby/3.4.11/x64/lib ASAN_OPTIONS=detect_leaks=0 "gcc -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/ruby/backward -I/opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0 -I. -DENABLE_PATH_CHECK=0 -fstack-protector-strong -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wdeprecated-declarations -Wdiv-by-zero -Wduplicated-cond -Wimplicit-function-declaration -Wimplicit-int -Wpointer-arith -Wwrite-strings -Wold-style-definition -Wimplicit-fallthrough=0 -Wmissing-noreturn -Wno-cast-function-type -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-packed-bitfield-compat -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wsuggest-attribute=format -Wsuggest-attribute=noreturn -Wunused-variable -Wmisleading-indentation -Wundef -fPIC -Werror -c conftest.c"
|
|
63
63
|
conftest.c: In function ‘t’:
|
|
64
64
|
conftest.c:16:55: error: ‘altzone’ undeclared (first use in this function)
|
|
65
65
|
16 | int t(void) { const volatile void *volatile p; p = &(&altzone)[0]; return !p; }
|
|
@@ -13,12 +13,12 @@ NULLCMD = :
|
|
|
13
13
|
#### Start of system configuration section. ####
|
|
14
14
|
|
|
15
15
|
srcdir = .
|
|
16
|
-
topdir = /opt/hostedtoolcache/Ruby/3.4.
|
|
16
|
+
topdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0
|
|
17
17
|
hdrdir = $(topdir)
|
|
18
|
-
arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.
|
|
18
|
+
arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux
|
|
19
19
|
PATH_SEPARATOR = :
|
|
20
20
|
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
|
21
|
-
prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.
|
|
21
|
+
prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.11/x64
|
|
22
22
|
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
|
|
23
23
|
rubyarchprefix = $(rubylibprefix)/$(arch)
|
|
24
24
|
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
|
Binary file
|
|
@@ -13,12 +13,12 @@ NULLCMD = :
|
|
|
13
13
|
#### Start of system configuration section. ####
|
|
14
14
|
|
|
15
15
|
srcdir = .
|
|
16
|
-
topdir = /opt/hostedtoolcache/Ruby/3.4.
|
|
16
|
+
topdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0
|
|
17
17
|
hdrdir = $(topdir)
|
|
18
|
-
arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.
|
|
18
|
+
arch_hdrdir = /opt/hostedtoolcache/Ruby/3.4.11/x64/include/ruby-3.4.0/x86_64-linux
|
|
19
19
|
PATH_SEPARATOR = :
|
|
20
20
|
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
|
|
21
|
-
prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.
|
|
21
|
+
prefix = $(DESTDIR)/opt/hostedtoolcache/Ruby/3.4.11/x64
|
|
22
22
|
rubysitearchprefix = $(rubylibprefix)/$(sitearch)
|
|
23
23
|
rubyarchprefix = $(rubylibprefix)/$(arch)
|
|
24
24
|
rubylibprefix = $(libdir)/$(RUBY_BASE_NAME)
|
|
Binary file
|