posting_duo 3.111.017 → 3.111.020
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/lib/posting_duo.rb +258 -65
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4bdef949202bd3d1d1c6f751cd55b004f9f4f9b3c56b93703bff45fa135ba9e6
|
4
|
+
data.tar.gz: cd3246a50db40d18f7ce5c82f9f6c3cb89817dcd96a41b92b5e21884c5e0bb4f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c636b99b22333593db611aeb26ef1eed40516c7e8de0668d5a01dbb4e6ae60dfc66233abef5e9798474b5220ea64daffa2a9bd0364f8ba3078045a528da38b4
|
7
|
+
data.tar.gz: 1cca995253c159633c0d38d44f7858aef2fc40fc40fe1287706438c638bc0630acf3393a987eaa3bddadb6b1421f05cb24dd2f9efb92dffe0bdb50c45e941e1c
|
data/lib/posting_duo.rb
CHANGED
@@ -13243,51 +13243,126 @@ class Wordpress
|
|
13243
13243
|
# return m.join("\n")
|
13244
13244
|
# end
|
13245
13245
|
|
13246
|
+
# ✔ 문장 정리 함수
|
13247
|
+
def clean_sentence(s, aa33)
|
13248
|
+
return '' if s.nil? || s.strip.empty?
|
13249
|
+
s.strip!
|
13250
|
+
|
13251
|
+
return '' if s.length < 10
|
13252
|
+
|
13253
|
+
# 종결어가 포함된 경우 → 종결어 기준으로 문장 잘라냄
|
13254
|
+
end_patterns = /(다|요|입니다|했습니다|하였습니다|했어요|해요|였습니다|었어요|네요|였어요|죠|시죠|되었어요|하더라고요|이랍니다|같습니다|같아요|드릴게요|드렸어요|보였습니다|느껴졌어요)/
|
13255
|
+
|
13256
|
+
if match = s.match(/(.+?#{end_patterns})(\s|$)/)
|
13257
|
+
clean = match[1]
|
13258
|
+
return clean.end_with?('.') ? clean : clean + '.'
|
13259
|
+
end
|
13260
|
+
|
13261
|
+
# 종결어 없으면 aa33 붙이기
|
13262
|
+
s + aa33.sample
|
13263
|
+
end
|
13264
|
+
|
13265
|
+
# ✔ 마지막 문장이 자연스럽게 끝나는지 보정
|
13266
|
+
def ensure_ending(text)
|
13267
|
+
text.strip!
|
13268
|
+
return text if text.match?(/(다|요)\.\s*$/)
|
13269
|
+
return text + %w[다. 요.].sample
|
13270
|
+
end
|
13271
|
+
|
13272
|
+
# ✔ 마지막 '완성된 문장'까지만 추출
|
13273
|
+
def trim_to_last_complete_sentence(text)
|
13274
|
+
sentences = text.strip.split(/(?<=\.)/)
|
13275
|
+
last_good_index = nil
|
13276
|
+
|
13277
|
+
sentences.each_with_index.reverse_each do |sentence, idx|
|
13278
|
+
if sentence.strip.match?(/(다|요)\.\s*$/)
|
13279
|
+
last_good_index = idx
|
13280
|
+
break
|
13281
|
+
end
|
13282
|
+
end
|
13283
|
+
|
13284
|
+
return sentences[0..last_good_index].join(' ').strip if last_good_index
|
13285
|
+
return sentences.first.strip
|
13286
|
+
end
|
13287
|
+
|
13288
|
+
# ✔ 본문 수집 및 생성
|
13246
13289
|
def get_naver_text(q)
|
13247
|
-
|
13248
|
-
|
13249
|
-
aa33 = '하였습니다,하였어요,하게됬어요,했답니다,했었는데요,하게되었어요,했어요,그랬답니다,그랬어요,합니다,그랬어요,그랬답니다,그랬답니다,그러합니다,좋아요,좋습니다,됬어요,되었어요,되었답니다,되었구요,되었어요,되네요,하네요,해요,할거예요,할수었이요,입니다,인데요,이예요,이랍니다,이였어요,그랬어요,그랬거든요,그랬습니다,었어요,었습니다,있었어요,하였고,하였으며,했는데,했지만,했고,그랬으며,하고,하며,좋았고,좋고,되었으며'.split(',')
|
13250
|
-
for page in 1..3
|
13251
|
-
begin
|
13252
|
-
http = HTTP.get('https://search.zum.com/search.zum?method=blog&option=accu&query='+q.to_s.split(' ').join('')+'&rd=1&page='+page.to_s+'&mm=direct')
|
13253
|
-
sleep(3)
|
13254
|
-
noko = Nokogiri::HTML(http.to_s)
|
13255
|
-
for n in 1..2
|
13256
|
-
begin
|
13257
|
-
text_array << noko.xpath('//*[@id="blogItemUl"]/li['+n.to_s+']/dl/dd[2]').text.split('...').join('') + aa33.sample
|
13258
|
-
rescue
|
13290
|
+
puts '자동 글 생성을 시작합니다.......'.green
|
13291
|
+
text_array = []
|
13259
13292
|
|
13260
|
-
|
13261
|
-
|
13262
|
-
|
13263
|
-
|
13293
|
+
aa33 = '하였습니다,하였어요,하게 되었어요,했어요,그랬답니다,합니다,좋아요,좋습니다,되었어요,되었네요,하네요,해요,할 거예요,입니다,이예요,이랍니다,그랬습니다,었습니다,있었어요,했지만,했고,하고,하며,좋고,되었으며'.split(',')
|
13294
|
+
|
13295
|
+
# --- ZUM 블로그 크롤링 ---
|
13296
|
+
(1..3).each do |page|
|
13297
|
+
begin
|
13298
|
+
url = "https://search.zum.com/search.zum?method=blog&option=accu&query=#{q.gsub(' ', '')}&rd=1&page=#{page}&mm=direct"
|
13299
|
+
http = HTTP.get(url)
|
13300
|
+
sleep(2)
|
13301
|
+
noko = Nokogiri::HTML(http.to_s)
|
13302
|
+
(1..2).each do |n|
|
13303
|
+
raw = noko.xpath("//*[@id='blogItemUl']/li[#{n}]/dl/dd[2]").text
|
13304
|
+
raw.split(/[.!?]/).map(&:strip).each do |s|
|
13305
|
+
cleaned = clean_sentence(s, aa33)
|
13306
|
+
text_array << cleaned unless cleaned.empty?
|
13264
13307
|
end
|
13265
13308
|
end
|
13309
|
+
rescue
|
13310
|
+
puts 'ZUM 검색 오류 발생'
|
13311
|
+
end
|
13312
|
+
end
|
13266
13313
|
|
13267
|
-
|
13314
|
+
# --- DAUM 블로그 크롤링 ---
|
13315
|
+
(2..4).each do |page|
|
13316
|
+
begin
|
13317
|
+
http = HTTP.get("https://search.daum.net/search?w=fusion&col=blog&q=#{q.gsub(' ', '')}&DA=TWA&p=#{page}")
|
13318
|
+
sleep(2)
|
13319
|
+
noko = Nokogiri::HTML(http.to_s)
|
13320
|
+
puts '자동글 수집 및 생성 중 (약 5~30초 소요) ...'
|
13321
|
+
giri = noko.xpath('//c-contents-desc').to_s
|
13322
|
+
giri.split('</c-contents-desc>')[1..-1].each do |n|
|
13268
13323
|
begin
|
13269
|
-
|
13270
|
-
|
13271
|
-
|
13272
|
-
|
13273
|
-
|
13274
|
-
|
13275
|
-
giri = noko.xpath('//c-contents-desc').to_s #글만 또는 옆에 이미지있음 같이 블럭씌워지는곳(div class=.... 아래 xpath 의 < 빼고 첫 코드 아래와 동일 xpath)
|
13276
|
-
for n in giri.split('</c-contents-desc>')[1..-1] #div class=.... 아래 xpath 의 < 넣고 / 넣고 첫 코드
|
13277
|
-
#puts n
|
13278
|
-
begin
|
13279
|
-
text_array << n.split('\'>')[1].split('"')[0] #
|
13280
|
-
#puts n.split('>')[1].split('"')[0]
|
13281
|
-
#puts "\n"
|
13282
|
-
rescue
|
13283
|
-
end
|
13284
|
-
end
|
13324
|
+
text = n.split('>')[1].split('<')[0].strip
|
13325
|
+
next if text.length < 10
|
13326
|
+
text.split(/[.!?]/).map(&:strip).each do |s|
|
13327
|
+
cleaned = clean_sentence(s, aa33)
|
13328
|
+
text_array << cleaned unless cleaned.empty?
|
13329
|
+
end
|
13285
13330
|
rescue
|
13286
|
-
puts 'DAUM 검색 http error ...'
|
13287
13331
|
end
|
13288
13332
|
end
|
13289
|
-
|
13290
|
-
|
13333
|
+
rescue
|
13334
|
+
puts 'DAUM 검색 오류 발생'
|
13335
|
+
end
|
13336
|
+
end
|
13337
|
+
|
13338
|
+
# 중복 제거 및 필터링
|
13339
|
+
text_array.uniq!
|
13340
|
+
text_array.reject! { |s| s.length < 15 || s.count(' ') < 2 }
|
13341
|
+
|
13342
|
+
# 자연스럽게 이어붙이기
|
13343
|
+
connectors = [
|
13344
|
+
'그리고', '또한', '더불어', '한편', '그러므로', '이러한 점에서',
|
13345
|
+
'이와 함께', '이처럼', '게다가', '뿐만 아니라', '즉', '결국', '그래서',
|
13346
|
+
'하지만', '반면에', '따라서', '그에 따라', '다시 말해', '예를 들어',
|
13347
|
+
'요약하자면', '중요한 것은', '먼저', '마지막으로', '특히', '실제로',
|
13348
|
+
'사실상', '종합해 보면', '한 가지 더', '이로 인해', '말하자면'
|
13349
|
+
]
|
13350
|
+
|
13351
|
+
final_text = ''
|
13352
|
+
text_array.each_with_index do |sentence, idx|
|
13353
|
+
if idx > 0 && idx % 3 == 0
|
13354
|
+
final_text << "\n\n"
|
13355
|
+
elsif idx > 0
|
13356
|
+
final_text << "#{connectors.sample} "
|
13357
|
+
end
|
13358
|
+
final_text << sentence + ' '
|
13359
|
+
end
|
13360
|
+
|
13361
|
+
# 마지막 문장이 자연스럽게 끝나도록 정리
|
13362
|
+
trimmed = trim_to_last_complete_sentence(final_text)
|
13363
|
+
trimmed = ensure_ending(trimmed)
|
13364
|
+
|
13365
|
+
return trimmed[0..5000] # 최대 5000자 반환
|
13291
13366
|
end
|
13292
13367
|
|
13293
13368
|
|
@@ -13626,6 +13701,8 @@ class Wordpress
|
|
13626
13701
|
title_soon = 0
|
13627
13702
|
keyword_soon = 0
|
13628
13703
|
content_soon = 0
|
13704
|
+
keyword_link_soon1 = 0
|
13705
|
+
keyword_link_soon2 = 0
|
13629
13706
|
@my_ip = 'init'
|
13630
13707
|
@image_counter = 0
|
13631
13708
|
@inumber2 = 0
|
@@ -13770,6 +13847,43 @@ class Wordpress
|
|
13770
13847
|
@data['table'] << []
|
13771
13848
|
@data['table'].pop
|
13772
13849
|
|
13850
|
+
|
13851
|
+
if @data['포스트설정']['링크파일'].length == 0
|
13852
|
+
keyword_link_path1 = ''
|
13853
|
+
else
|
13854
|
+
if @data['포스트설정']['링크삽입랜덤'].checked?
|
13855
|
+
keyword_link_path1 = @data['포스트설정']['링크파일'].sample[1]
|
13856
|
+
else
|
13857
|
+
keyword_link_path1 = @data['포스트설정']['링크파일'][keyword_link_soon1][1]
|
13858
|
+
keyword_link_soon1 += 1
|
13859
|
+
if keyword_link_soon1 > @data['포스트설정']['링크파일'].length-1
|
13860
|
+
keyword_link_soon1 = 0
|
13861
|
+
end
|
13862
|
+
end
|
13863
|
+
end
|
13864
|
+
@data['table'][index][-1] = 6
|
13865
|
+
@data['table'] << []
|
13866
|
+
@data['table'].pop
|
13867
|
+
|
13868
|
+
|
13869
|
+
if @data['포스트설정']['링크파일1'].length == 0
|
13870
|
+
keyword_link_path2 = ''
|
13871
|
+
else
|
13872
|
+
if @data['포스트설정']['링크삽입랜덤1'].checked?
|
13873
|
+
keyword_link_path2 = @data['포스트설정']['링크파일1'].sample[1]
|
13874
|
+
else
|
13875
|
+
keyword_link_path2 = @data['포스트설정']['링크파일1'][keyword_link_soon2][1]
|
13876
|
+
keyword_link_soon2 += 1
|
13877
|
+
if keyword_link_soon2 > @data['포스트설정']['링크파일1'].length-1
|
13878
|
+
keyword_link_soon2 = 0
|
13879
|
+
end
|
13880
|
+
end
|
13881
|
+
end
|
13882
|
+
@data['table'][index][-1] = 7
|
13883
|
+
@data['table'] << []
|
13884
|
+
@data['table'].pop
|
13885
|
+
|
13886
|
+
|
13773
13887
|
if @data['키워드설정']['키워드'].length == 0
|
13774
13888
|
keyword = ''
|
13775
13889
|
else
|
@@ -13997,17 +14111,20 @@ class Wordpress
|
|
13997
14111
|
# if check10 == 0
|
13998
14112
|
# break
|
13999
14113
|
# end
|
14000
|
-
# end
|
14001
|
-
|
14114
|
+
# end
|
14002
14115
|
|
14003
14116
|
content3 = Array.new
|
14004
14117
|
|
14118
|
+
|
14119
|
+
|
14120
|
+
|
14121
|
+
|
14005
14122
|
if @data['포스트설정']['내용을자동생성'].checked?
|
14006
14123
|
content2.each_with_index do |con, index|
|
14007
14124
|
if position.include?(index)
|
14008
14125
|
insert_keyword_text = keyword.to_s
|
14009
|
-
if @data['포스트설정']['
|
14010
|
-
insert_keyword_text = '<a href="'
|
14126
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14127
|
+
insert_keyword_text = '<a href="'+keyword_link_path1.to_s+'" title="'+insert_keyword_text+'">'+insert_keyword_text.to_s+'</a> '
|
14011
14128
|
end
|
14012
14129
|
con2 = con.split('')
|
14013
14130
|
if con == '(자동생성글)'
|
@@ -14027,8 +14144,8 @@ class Wordpress
|
|
14027
14144
|
content2.each_with_index do |con, index|
|
14028
14145
|
if position.include?(index)
|
14029
14146
|
insert_keyword_text = keyword.to_s
|
14030
|
-
if @data['포스트설정']['
|
14031
|
-
insert_keyword_text = ' <a href="'
|
14147
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14148
|
+
insert_keyword_text = ' <a href="'+keyword_link_path1.to_s+'" title="'+insert_keyword_text+'">'+insert_keyword_text.to_s+'</a> '
|
14032
14149
|
end
|
14033
14150
|
con2 = con.split('')
|
14034
14151
|
if con == '(자동생성글)'
|
@@ -14041,7 +14158,7 @@ class Wordpress
|
|
14041
14158
|
content3 << con
|
14042
14159
|
end
|
14043
14160
|
end
|
14044
|
-
content = content.split("(자동생성글)")[0]+"\n\n"+ ' <a href="'
|
14161
|
+
content = content.split("(자동생성글)")[0]+"\n\n"+ ' <a href="'+keyword_link_path1.to_s+'" title="'+keyword.to_s+'">'+keyword.to_s+'</a> ' + "\n(자동생성글)\n" + content3.join("\n")
|
14045
14162
|
end
|
14046
14163
|
|
14047
14164
|
|
@@ -14061,8 +14178,8 @@ class Wordpress
|
|
14061
14178
|
content2.each_with_index do |con, index|
|
14062
14179
|
if position2.include?(index)
|
14063
14180
|
insert_keyword_text = keyword.to_s
|
14064
|
-
if @data['포스트설정']['
|
14065
|
-
insert_keyword_text = ' <a href="'
|
14181
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14182
|
+
insert_keyword_text = ' <a href="'+keyword_link_path1.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
14066
14183
|
end
|
14067
14184
|
con2 = con.split('')
|
14068
14185
|
content3 << con2.join('')
|
@@ -14076,8 +14193,8 @@ class Wordpress
|
|
14076
14193
|
content2.each_with_index do |con, index|
|
14077
14194
|
if position.include?(index)
|
14078
14195
|
insert_keyword_text = keyword.to_s
|
14079
|
-
if @data['포스트설정']['
|
14080
|
-
insert_keyword_text = ' <a href="'
|
14196
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14197
|
+
insert_keyword_text = ' <a href="'+keyword_link_path1.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
14081
14198
|
end
|
14082
14199
|
con2 = con.split('')
|
14083
14200
|
content3 << con2.join('')
|
@@ -14166,15 +14283,15 @@ class Wordpress
|
|
14166
14283
|
|
14167
14284
|
content = last_text.split(" ")
|
14168
14285
|
insert_keyword_text = keyword.to_s
|
14169
|
-
if @data['포스트설정']['
|
14170
|
-
insert_keyword_text = ' <a href="'
|
14286
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14287
|
+
insert_keyword_text = ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
14171
14288
|
end
|
14172
14289
|
content.each_with_index do |con, index|
|
14173
14290
|
begin
|
14174
14291
|
if position3[1..-1].include?(index)
|
14175
14292
|
insert_keyword_text = keyword.to_s
|
14176
|
-
if @data['포스트설정']['
|
14177
|
-
insert_keyword_text = ' <a href="'
|
14293
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14294
|
+
insert_keyword_text = ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
14178
14295
|
end
|
14179
14296
|
con2 = con.split('')
|
14180
14297
|
content333 << con2.join('')
|
@@ -14213,8 +14330,8 @@ class Wordpress
|
|
14213
14330
|
if position10.include?(index)
|
14214
14331
|
puts index
|
14215
14332
|
text99 = text9.split(' ')
|
14216
|
-
if @data['포스트설정']['
|
14217
|
-
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'
|
14333
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14334
|
+
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+@data['키워드설정']['키워드'].sample[1]+'</a> ')
|
14218
14335
|
else
|
14219
14336
|
itext = text99.insert(rand(0..(text99.length-1)), @data['키워드설정']['키워드'].sample[1])
|
14220
14337
|
end
|
@@ -14268,8 +14385,8 @@ class Wordpress
|
|
14268
14385
|
if position10.include?(index)
|
14269
14386
|
puts index
|
14270
14387
|
text99 = text9.split(' ')
|
14271
|
-
if @data['포스트설정']['
|
14272
|
-
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'
|
14388
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14389
|
+
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+@data['키워드설정']['키워드'].sample[1]+'</a> ')
|
14273
14390
|
else
|
14274
14391
|
itext = text99.insert(rand(0..(text99.length-1)), @data['키워드설정']['키워드'].sample[1])
|
14275
14392
|
end
|
@@ -14434,6 +14551,8 @@ class Wordpress
|
|
14434
14551
|
@data['포스트설정']['내용자동변경값'] = Hash.new
|
14435
14552
|
@data['포스트설정']['막글'] = ''
|
14436
14553
|
@data['포스트설정']['프록시리스트'] = Array.new
|
14554
|
+
@data['포스트설정']['링크파일'] = Array.new
|
14555
|
+
@data['포스트설정']['링크파일1'] = Array.new
|
14437
14556
|
|
14438
14557
|
@user_login_ok = 4
|
14439
14558
|
window('커뮤니티(게시판) 자동 포스팅 프로그램', 800, 620) {
|
@@ -15139,7 +15258,7 @@ class Wordpress
|
|
15139
15258
|
}
|
15140
15259
|
button(' 폴더째로 불러오기 '){
|
15141
15260
|
stretchy false
|
15142
|
-
|
15261
|
+
on_clicked {
|
15143
15262
|
path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')
|
15144
15263
|
|
15145
15264
|
# 경로가 유효한지 확인
|
@@ -15576,7 +15695,7 @@ class Wordpress
|
|
15576
15695
|
on_toggled{
|
15577
15696
|
if @data['포스트설정']['내용키워드삽입'].checked?
|
15578
15697
|
@data['포스트설정']['막글삽입2'].checked = false
|
15579
|
-
@data['포스트설정']['
|
15698
|
+
@data['포스트설정']['키워드링크삽입1'].checked = false
|
15580
15699
|
end
|
15581
15700
|
}
|
15582
15701
|
}
|
@@ -15591,15 +15710,50 @@ class Wordpress
|
|
15591
15710
|
text '최대수량'
|
15592
15711
|
}
|
15593
15712
|
|
15594
|
-
@data['포스트설정']['
|
15713
|
+
@data['포스트설정']['키워드링크삽입'] = checkbox('키워드 링크 적용'){
|
15595
15714
|
top 1
|
15596
15715
|
left 3
|
15716
|
+
on_toggled{
|
15717
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
15718
|
+
@data['포스트설정']['막글삽입2'].checked = false
|
15719
|
+
@data['포스트설정']['키워드링크삽입1'].checked = false
|
15720
|
+
end
|
15721
|
+
}
|
15597
15722
|
}
|
15598
|
-
|
15723
|
+
button('링크 파일 불러오기'){
|
15599
15724
|
top 1
|
15600
15725
|
left 4
|
15601
|
-
|
15726
|
+
|
15727
|
+
on_clicked {
|
15728
|
+
file = open_file
|
15729
|
+
if file != nil
|
15730
|
+
file_data = File.open(file, 'r').read
|
15731
|
+
@data['포스트설정']['링크파일'] = file_data.split("\n").map { |line| ["링크", line.strip] }
|
15732
|
+
end
|
15733
|
+
}
|
15734
|
+
}
|
15735
|
+
|
15736
|
+
@data['포스트설정']['링크삽입순서'] = checkbox('링크 순서 사용'){
|
15737
|
+
top 1
|
15738
|
+
left 5
|
15739
|
+
on_toggled {
|
15740
|
+
if @data['포스트설정']['링크삽입순서'].checked?
|
15741
|
+
@data['포스트설정']['링크삽입랜덤'].checked = false
|
15742
|
+
end
|
15743
|
+
}
|
15744
|
+
|
15602
15745
|
}
|
15746
|
+
@data['포스트설정']['링크삽입랜덤'] = checkbox('링크랜덤 사용'){
|
15747
|
+
top 1
|
15748
|
+
left 6
|
15749
|
+
on_toggled {
|
15750
|
+
if @data['포스트설정']['링크삽입랜덤'].checked?
|
15751
|
+
@data['포스트설정']['링크삽입순서'].checked = false
|
15752
|
+
end
|
15753
|
+
}
|
15754
|
+
}
|
15755
|
+
|
15756
|
+
|
15603
15757
|
@data['포스트설정']['내용사진자동삽입'] = checkbox('이미지 자동 삽입 '){
|
15604
15758
|
top 2
|
15605
15759
|
left 0
|
@@ -15804,7 +15958,7 @@ class Wordpress
|
|
15804
15958
|
on_toggled{
|
15805
15959
|
if @data['포스트설정']['막글삽입2'].checked?
|
15806
15960
|
@data['포스트설정']['내용키워드삽입'].checked = false
|
15807
|
-
@data['포스트설정']['
|
15961
|
+
@data['포스트설정']['키워드링크삽입'].checked = false
|
15808
15962
|
end
|
15809
15963
|
}
|
15810
15964
|
}
|
@@ -15820,15 +15974,52 @@ class Wordpress
|
|
15820
15974
|
text '최대수량'
|
15821
15975
|
}
|
15822
15976
|
|
15823
|
-
@data['포스트설정']['
|
15977
|
+
@data['포스트설정']['키워드링크삽입1'] = checkbox('키워드 링크 적용'){
|
15824
15978
|
top 0
|
15825
15979
|
left 3
|
15980
|
+
on_toggled{
|
15981
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
15982
|
+
@data['포스트설정']['내용키워드삽입'].checked = false
|
15983
|
+
@data['포스트설정']['키워드링크삽입'].checked = false
|
15984
|
+
end
|
15985
|
+
}
|
15826
15986
|
}
|
15827
|
-
|
15987
|
+
|
15988
|
+
button(' 링크 파일 불러오기 '){
|
15828
15989
|
top 0
|
15829
15990
|
left 4
|
15830
|
-
|
15991
|
+
|
15992
|
+
on_clicked {
|
15993
|
+
file = open_file
|
15994
|
+
if file != nil
|
15995
|
+
file_data = File.open(file, 'r').read
|
15996
|
+
@data['포스트설정']['링크파일1'] = file_data.split("\n").map { |line| ["링크", line.strip] }
|
15997
|
+
end
|
15998
|
+
}
|
15999
|
+
}
|
16000
|
+
|
16001
|
+
@data['포스트설정']['링크삽입순서1'] = checkbox('링크 순서 사용'){
|
16002
|
+
top 0
|
16003
|
+
left 5
|
16004
|
+
on_toggled {
|
16005
|
+
if @data['포스트설정']['링크삽입순서1'].checked?
|
16006
|
+
@data['포스트설정']['링크삽입랜덤1'].checked = false
|
16007
|
+
end
|
16008
|
+
}
|
16009
|
+
|
16010
|
+
}
|
16011
|
+
@data['포스트설정']['링크삽입랜덤1'] = checkbox('링크랜덤 사용'){
|
16012
|
+
top 0
|
16013
|
+
left 6
|
16014
|
+
on_toggled {
|
16015
|
+
if @data['포스트설정']['링크삽입랜덤1'].checked?
|
16016
|
+
@data['포스트설정']['링크삽입순서1'].checked = false
|
16017
|
+
end
|
16018
|
+
}
|
15831
16019
|
}
|
16020
|
+
|
16021
|
+
|
16022
|
+
|
15832
16023
|
}
|
15833
16024
|
vertical_separator{
|
15834
16025
|
stretchy false
|
@@ -15980,7 +16171,9 @@ class Wordpress
|
|
15980
16171
|
@data['포스트설정']['원고로만포스팅'].checked = true
|
15981
16172
|
@data['포스트설정']['제목에도적용'].checked = true
|
15982
16173
|
@data['포스트설정']['제목리스트사용'].checked = true
|
15983
|
-
|
16174
|
+
@data['포스트설정']['링크삽입순서'].checked = true
|
16175
|
+
@data['포스트설정']['링크삽입순서1'].checked = true
|
16176
|
+
|
15984
16177
|
}.show
|
15985
16178
|
end
|
15986
16179
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: posting_duo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.111.
|
4
|
+
version: 3.111.020
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-07-
|
10
|
+
date: 2025-07-04 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|