posting_zon 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_zon.rb +256 -63
- 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: 897a9d74a0d3100d9b8bf841ec00dfac612568d0dd1e1da7c5ffc96a3c6cdbff
|
4
|
+
data.tar.gz: 94a44744ccb896e0b48ce6910a18b4f7e0804b622a505672841e9c9ce51a19e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 704bb4cfeaf99ff69ad28b8721d87dd1639f794ab1786594c66e9848c6ffe72c890fbd3b3c6c52226bf3343069591188b5daa4cfbe37feefd161f2f64fbb2aa2
|
7
|
+
data.tar.gz: 5a403e6230e547a285f314948b5d34eea38ac65b83f1fca688e3b6fb632a68d8db80b438c7bc49e533e830cf9e2552f10435340956006a51270c811244d881c4
|
data/lib/posting_zon.rb
CHANGED
@@ -13140,51 +13140,126 @@ class Wordpress
|
|
13140
13140
|
end
|
13141
13141
|
end
|
13142
13142
|
|
13143
|
+
# ✔ 문장 정리 함수
|
13144
|
+
def clean_sentence(s, aa33)
|
13145
|
+
return '' if s.nil? || s.strip.empty?
|
13146
|
+
s.strip!
|
13147
|
+
|
13148
|
+
return '' if s.length < 10
|
13149
|
+
|
13150
|
+
# 종결어가 포함된 경우 → 종결어 기준으로 문장 잘라냄
|
13151
|
+
end_patterns = /(다|요|입니다|했습니다|하였습니다|했어요|해요|였습니다|었어요|네요|였어요|죠|시죠|되었어요|하더라고요|이랍니다|같습니다|같아요|드릴게요|드렸어요|보였습니다|느껴졌어요)/
|
13152
|
+
|
13153
|
+
if match = s.match(/(.+?#{end_patterns})(\s|$)/)
|
13154
|
+
clean = match[1]
|
13155
|
+
return clean.end_with?('.') ? clean : clean + '.'
|
13156
|
+
end
|
13157
|
+
|
13158
|
+
# 종결어 없으면 aa33 붙이기
|
13159
|
+
s + aa33.sample
|
13160
|
+
end
|
13161
|
+
|
13162
|
+
# ✔ 마지막 문장이 자연스럽게 끝나는지 보정
|
13163
|
+
def ensure_ending(text)
|
13164
|
+
text.strip!
|
13165
|
+
return text if text.match?(/(다|요)\.\s*$/)
|
13166
|
+
return text + %w[다. 요.].sample
|
13167
|
+
end
|
13168
|
+
|
13169
|
+
# ✔ 마지막 '완성된 문장'까지만 추출
|
13170
|
+
def trim_to_last_complete_sentence(text)
|
13171
|
+
sentences = text.strip.split(/(?<=\.)/)
|
13172
|
+
last_good_index = nil
|
13173
|
+
|
13174
|
+
sentences.each_with_index.reverse_each do |sentence, idx|
|
13175
|
+
if sentence.strip.match?(/(다|요)\.\s*$/)
|
13176
|
+
last_good_index = idx
|
13177
|
+
break
|
13178
|
+
end
|
13179
|
+
end
|
13180
|
+
|
13181
|
+
return sentences[0..last_good_index].join(' ').strip if last_good_index
|
13182
|
+
return sentences.first.strip
|
13183
|
+
end
|
13184
|
+
|
13185
|
+
# ✔ 본문 수집 및 생성
|
13143
13186
|
def get_naver_text(q)
|
13144
|
-
|
13145
|
-
|
13146
|
-
aa33 = '하였습니다,하였어요,하게됬어요,했답니다,했었는데요,하게되었어요,했어요,그랬답니다,그랬어요,합니다,그랬어요,그랬답니다,그랬답니다,그러합니다,좋아요,좋습니다,됬어요,되었어요,되었답니다,되었구요,되었어요,되네요,하네요,해요,할거예요,할수었이요,입니다,인데요,이예요,이랍니다,이였어요,그랬어요,그랬거든요,그랬습니다,었어요,었습니다,있었어요,하였고,하였으며,했는데,했지만,했고,그랬으며,하고,하며,좋았고,좋고,되었으며'.split(',')
|
13147
|
-
for page in 1..3
|
13148
|
-
begin
|
13149
|
-
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')
|
13150
|
-
sleep(3)
|
13151
|
-
noko = Nokogiri::HTML(http.to_s)
|
13152
|
-
for n in 1..2
|
13153
|
-
begin
|
13154
|
-
text_array << noko.xpath('//*[@id="blogItemUl"]/li['+n.to_s+']/dl/dd[2]').text.split('...').join('') + aa33.sample
|
13155
|
-
rescue
|
13187
|
+
puts '자동 글 생성을 시작합니다.......'.green
|
13188
|
+
text_array = []
|
13156
13189
|
|
13157
|
-
|
13158
|
-
|
13159
|
-
|
13160
|
-
|
13190
|
+
aa33 = '하였습니다,하였어요,하게 되었어요,했어요,그랬답니다,합니다,좋아요,좋습니다,되었어요,되었네요,하네요,해요,할 거예요,입니다,이예요,이랍니다,그랬습니다,었습니다,있었어요,했지만,했고,하고,하며,좋고,되었으며'.split(',')
|
13191
|
+
|
13192
|
+
# --- ZUM 블로그 크롤링 ---
|
13193
|
+
(1..3).each do |page|
|
13194
|
+
begin
|
13195
|
+
url = "https://search.zum.com/search.zum?method=blog&option=accu&query=#{q.gsub(' ', '')}&rd=1&page=#{page}&mm=direct"
|
13196
|
+
http = HTTP.get(url)
|
13197
|
+
sleep(2)
|
13198
|
+
noko = Nokogiri::HTML(http.to_s)
|
13199
|
+
(1..2).each do |n|
|
13200
|
+
raw = noko.xpath("//*[@id='blogItemUl']/li[#{n}]/dl/dd[2]").text
|
13201
|
+
raw.split(/[.!?]/).map(&:strip).each do |s|
|
13202
|
+
cleaned = clean_sentence(s, aa33)
|
13203
|
+
text_array << cleaned unless cleaned.empty?
|
13161
13204
|
end
|
13162
13205
|
end
|
13206
|
+
rescue
|
13207
|
+
puts 'ZUM 검색 오류 발생'
|
13208
|
+
end
|
13209
|
+
end
|
13163
13210
|
|
13164
|
-
|
13211
|
+
# --- DAUM 블로그 크롤링 ---
|
13212
|
+
(2..4).each do |page|
|
13213
|
+
begin
|
13214
|
+
http = HTTP.get("https://search.daum.net/search?w=fusion&col=blog&q=#{q.gsub(' ', '')}&DA=TWA&p=#{page}")
|
13215
|
+
sleep(2)
|
13216
|
+
noko = Nokogiri::HTML(http.to_s)
|
13217
|
+
puts '자동글 수집 및 생성 중 (약 5~30초 소요) ...'
|
13218
|
+
giri = noko.xpath('//c-contents-desc').to_s
|
13219
|
+
giri.split('</c-contents-desc>')[1..-1].each do |n|
|
13165
13220
|
begin
|
13166
|
-
|
13167
|
-
|
13168
|
-
|
13169
|
-
|
13170
|
-
|
13171
|
-
|
13172
|
-
giri = noko.xpath('//c-contents-desc').to_s #글만 또는 옆에 이미지있음 같이 블럭씌워지는곳(div class=.... 아래 xpath 의 < 빼고 첫 코드 아래와 동일 xpath)
|
13173
|
-
for n in giri.split('</c-contents-desc>')[1..-1] #div class=.... 아래 xpath 의 < 넣고 / 넣고 첫 코드
|
13174
|
-
#puts n
|
13175
|
-
begin
|
13176
|
-
text_array << n.split('\'>')[1].split('"')[0] #
|
13177
|
-
#puts n.split('>')[1].split('"')[0]
|
13178
|
-
#puts "\n"
|
13179
|
-
rescue
|
13180
|
-
end
|
13181
|
-
end
|
13221
|
+
text = n.split('>')[1].split('<')[0].strip
|
13222
|
+
next if text.length < 10
|
13223
|
+
text.split(/[.!?]/).map(&:strip).each do |s|
|
13224
|
+
cleaned = clean_sentence(s, aa33)
|
13225
|
+
text_array << cleaned unless cleaned.empty?
|
13226
|
+
end
|
13182
13227
|
rescue
|
13183
|
-
puts 'DAUM 검색 http error ...'
|
13184
13228
|
end
|
13185
13229
|
end
|
13186
|
-
|
13187
|
-
|
13230
|
+
rescue
|
13231
|
+
puts 'DAUM 검색 오류 발생'
|
13232
|
+
end
|
13233
|
+
end
|
13234
|
+
|
13235
|
+
# 중복 제거 및 필터링
|
13236
|
+
text_array.uniq!
|
13237
|
+
text_array.reject! { |s| s.length < 15 || s.count(' ') < 2 }
|
13238
|
+
|
13239
|
+
# 자연스럽게 이어붙이기
|
13240
|
+
connectors = [
|
13241
|
+
'그리고', '또한', '더불어', '한편', '그러므로', '이러한 점에서',
|
13242
|
+
'이와 함께', '이처럼', '게다가', '뿐만 아니라', '즉', '결국', '그래서',
|
13243
|
+
'하지만', '반면에', '따라서', '그에 따라', '다시 말해', '예를 들어',
|
13244
|
+
'요약하자면', '중요한 것은', '먼저', '마지막으로', '특히', '실제로',
|
13245
|
+
'사실상', '종합해 보면', '한 가지 더', '이로 인해', '말하자면'
|
13246
|
+
]
|
13247
|
+
|
13248
|
+
final_text = ''
|
13249
|
+
text_array.each_with_index do |sentence, idx|
|
13250
|
+
if idx > 0 && idx % 3 == 0
|
13251
|
+
final_text << "\n\n"
|
13252
|
+
elsif idx > 0
|
13253
|
+
final_text << "#{connectors.sample} "
|
13254
|
+
end
|
13255
|
+
final_text << sentence + ' '
|
13256
|
+
end
|
13257
|
+
|
13258
|
+
# 마지막 문장이 자연스럽게 끝나도록 정리
|
13259
|
+
trimmed = trim_to_last_complete_sentence(final_text)
|
13260
|
+
trimmed = ensure_ending(trimmed)
|
13261
|
+
|
13262
|
+
return trimmed[0..5000] # 최대 5000자 반환
|
13188
13263
|
end
|
13189
13264
|
|
13190
13265
|
|
@@ -13523,6 +13598,8 @@ class Wordpress
|
|
13523
13598
|
title_soon = 0
|
13524
13599
|
keyword_soon = 0
|
13525
13600
|
content_soon = 0
|
13601
|
+
keyword_link_soon1 = 0
|
13602
|
+
keyword_link_soon2 = 0
|
13526
13603
|
@my_ip = 'init'
|
13527
13604
|
@image_counter = 0
|
13528
13605
|
@inumber2 = 0
|
@@ -13667,6 +13744,43 @@ class Wordpress
|
|
13667
13744
|
@data['table'] << []
|
13668
13745
|
@data['table'].pop
|
13669
13746
|
|
13747
|
+
|
13748
|
+
if @data['포스트설정']['링크파일'].length == 0
|
13749
|
+
keyword_link_path1 = ''
|
13750
|
+
else
|
13751
|
+
if @data['포스트설정']['링크삽입랜덤'].checked?
|
13752
|
+
keyword_link_path1 = @data['포스트설정']['링크파일'].sample[1]
|
13753
|
+
else
|
13754
|
+
keyword_link_path1 = @data['포스트설정']['링크파일'][keyword_link_soon1][1]
|
13755
|
+
keyword_link_soon1 += 1
|
13756
|
+
if keyword_link_soon1 > @data['포스트설정']['링크파일'].length-1
|
13757
|
+
keyword_link_soon1 = 0
|
13758
|
+
end
|
13759
|
+
end
|
13760
|
+
end
|
13761
|
+
@data['table'][index][-1] = 6
|
13762
|
+
@data['table'] << []
|
13763
|
+
@data['table'].pop
|
13764
|
+
|
13765
|
+
|
13766
|
+
if @data['포스트설정']['링크파일1'].length == 0
|
13767
|
+
keyword_link_path2 = ''
|
13768
|
+
else
|
13769
|
+
if @data['포스트설정']['링크삽입랜덤1'].checked?
|
13770
|
+
keyword_link_path2 = @data['포스트설정']['링크파일1'].sample[1]
|
13771
|
+
else
|
13772
|
+
keyword_link_path2 = @data['포스트설정']['링크파일1'][keyword_link_soon2][1]
|
13773
|
+
keyword_link_soon2 += 1
|
13774
|
+
if keyword_link_soon2 > @data['포스트설정']['링크파일1'].length-1
|
13775
|
+
keyword_link_soon2 = 0
|
13776
|
+
end
|
13777
|
+
end
|
13778
|
+
end
|
13779
|
+
@data['table'][index][-1] = 7
|
13780
|
+
@data['table'] << []
|
13781
|
+
@data['table'].pop
|
13782
|
+
|
13783
|
+
|
13670
13784
|
if @data['키워드설정']['키워드'].length == 0
|
13671
13785
|
keyword = ''
|
13672
13786
|
else
|
@@ -13894,17 +14008,20 @@ class Wordpress
|
|
13894
14008
|
# if check10 == 0
|
13895
14009
|
# break
|
13896
14010
|
# end
|
13897
|
-
# end
|
13898
|
-
|
14011
|
+
# end
|
13899
14012
|
|
13900
14013
|
content3 = Array.new
|
13901
14014
|
|
14015
|
+
|
14016
|
+
|
14017
|
+
|
14018
|
+
|
13902
14019
|
if @data['포스트설정']['내용을자동생성'].checked?
|
13903
14020
|
content2.each_with_index do |con, index|
|
13904
14021
|
if position.include?(index)
|
13905
14022
|
insert_keyword_text = keyword.to_s
|
13906
|
-
if @data['포스트설정']['
|
13907
|
-
insert_keyword_text = '<a href="'
|
14023
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14024
|
+
insert_keyword_text = '<a href="'+keyword_link_path1.to_s+'" title="'+insert_keyword_text+'">'+insert_keyword_text.to_s+'</a> '
|
13908
14025
|
end
|
13909
14026
|
con2 = con.split('')
|
13910
14027
|
if con == '(자동생성글)'
|
@@ -13924,8 +14041,8 @@ class Wordpress
|
|
13924
14041
|
content2.each_with_index do |con, index|
|
13925
14042
|
if position.include?(index)
|
13926
14043
|
insert_keyword_text = keyword.to_s
|
13927
|
-
if @data['포스트설정']['
|
13928
|
-
insert_keyword_text = ' <a href="'
|
14044
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14045
|
+
insert_keyword_text = ' <a href="'+keyword_link_path1.to_s+'" title="'+insert_keyword_text+'">'+insert_keyword_text.to_s+'</a> '
|
13929
14046
|
end
|
13930
14047
|
con2 = con.split('')
|
13931
14048
|
if con == '(자동생성글)'
|
@@ -13938,7 +14055,7 @@ class Wordpress
|
|
13938
14055
|
content3 << con
|
13939
14056
|
end
|
13940
14057
|
end
|
13941
|
-
content = content.split("(자동생성글)")[0]+"\n\n"+ ' <a href="'
|
14058
|
+
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")
|
13942
14059
|
end
|
13943
14060
|
|
13944
14061
|
|
@@ -13958,8 +14075,8 @@ class Wordpress
|
|
13958
14075
|
content2.each_with_index do |con, index|
|
13959
14076
|
if position2.include?(index)
|
13960
14077
|
insert_keyword_text = keyword.to_s
|
13961
|
-
if @data['포스트설정']['
|
13962
|
-
insert_keyword_text = ' <a href="'
|
14078
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14079
|
+
insert_keyword_text = ' <a href="'+keyword_link_path1.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
13963
14080
|
end
|
13964
14081
|
con2 = con.split('')
|
13965
14082
|
content3 << con2.join('')
|
@@ -13973,8 +14090,8 @@ class Wordpress
|
|
13973
14090
|
content2.each_with_index do |con, index|
|
13974
14091
|
if position.include?(index)
|
13975
14092
|
insert_keyword_text = keyword.to_s
|
13976
|
-
if @data['포스트설정']['
|
13977
|
-
insert_keyword_text = ' <a href="'
|
14093
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
14094
|
+
insert_keyword_text = ' <a href="'+keyword_link_path1.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
13978
14095
|
end
|
13979
14096
|
con2 = con.split('')
|
13980
14097
|
content3 << con2.join('')
|
@@ -14063,15 +14180,15 @@ class Wordpress
|
|
14063
14180
|
|
14064
14181
|
content = last_text.split(" ")
|
14065
14182
|
insert_keyword_text = keyword.to_s
|
14066
|
-
if @data['포스트설정']['
|
14067
|
-
insert_keyword_text = ' <a href="'
|
14183
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14184
|
+
insert_keyword_text = ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
14068
14185
|
end
|
14069
14186
|
content.each_with_index do |con, index|
|
14070
14187
|
begin
|
14071
14188
|
if position3[1..-1].include?(index)
|
14072
14189
|
insert_keyword_text = keyword.to_s
|
14073
|
-
if @data['포스트설정']['
|
14074
|
-
insert_keyword_text = ' <a href="'
|
14190
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14191
|
+
insert_keyword_text = ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+insert_keyword_text.to_s+'</a> '
|
14075
14192
|
end
|
14076
14193
|
con2 = con.split('')
|
14077
14194
|
content333 << con2.join('')
|
@@ -14110,8 +14227,8 @@ class Wordpress
|
|
14110
14227
|
if position10.include?(index)
|
14111
14228
|
puts index
|
14112
14229
|
text99 = text9.split(' ')
|
14113
|
-
if @data['포스트설정']['
|
14114
|
-
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'
|
14230
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14231
|
+
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+@data['키워드설정']['키워드'].sample[1]+'</a> ')
|
14115
14232
|
else
|
14116
14233
|
itext = text99.insert(rand(0..(text99.length-1)), @data['키워드설정']['키워드'].sample[1])
|
14117
14234
|
end
|
@@ -14165,8 +14282,8 @@ class Wordpress
|
|
14165
14282
|
if position10.include?(index)
|
14166
14283
|
puts index
|
14167
14284
|
text99 = text9.split(' ')
|
14168
|
-
if @data['포스트설정']['
|
14169
|
-
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'
|
14285
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
14286
|
+
itext = text99.insert(rand(0..(text99.length-1)), ' <a href="'+keyword_link_path2.to_s+'" title="'+keyword.to_s+'">'+@data['키워드설정']['키워드'].sample[1]+'</a> ')
|
14170
14287
|
else
|
14171
14288
|
itext = text99.insert(rand(0..(text99.length-1)), @data['키워드설정']['키워드'].sample[1])
|
14172
14289
|
end
|
@@ -14331,6 +14448,8 @@ class Wordpress
|
|
14331
14448
|
@data['포스트설정']['내용자동변경값'] = Hash.new
|
14332
14449
|
@data['포스트설정']['막글'] = ''
|
14333
14450
|
@data['포스트설정']['프록시리스트'] = Array.new
|
14451
|
+
@data['포스트설정']['링크파일'] = Array.new
|
14452
|
+
@data['포스트설정']['링크파일1'] = Array.new
|
14334
14453
|
|
14335
14454
|
@user_login_ok = "1"
|
14336
14455
|
window('커뮤니티(게시판) 자동 포스팅 프로그램', 800, 620) {
|
@@ -15467,7 +15586,7 @@ class Wordpress
|
|
15467
15586
|
on_toggled{
|
15468
15587
|
if @data['포스트설정']['내용키워드삽입'].checked?
|
15469
15588
|
@data['포스트설정']['막글삽입2'].checked = false
|
15470
|
-
@data['포스트설정']['
|
15589
|
+
@data['포스트설정']['키워드링크삽입1'].checked = false
|
15471
15590
|
end
|
15472
15591
|
}
|
15473
15592
|
}
|
@@ -15482,15 +15601,50 @@ class Wordpress
|
|
15482
15601
|
text '최대수량'
|
15483
15602
|
}
|
15484
15603
|
|
15485
|
-
@data['포스트설정']['
|
15604
|
+
@data['포스트설정']['키워드링크삽입'] = checkbox('키워드 링크 적용'){
|
15486
15605
|
top 1
|
15487
15606
|
left 3
|
15607
|
+
on_toggled{
|
15608
|
+
if @data['포스트설정']['키워드링크삽입'].checked?
|
15609
|
+
@data['포스트설정']['막글삽입2'].checked = false
|
15610
|
+
@data['포스트설정']['키워드링크삽입1'].checked = false
|
15611
|
+
end
|
15612
|
+
}
|
15488
15613
|
}
|
15489
|
-
|
15614
|
+
button('링크 파일 불러오기'){
|
15490
15615
|
top 1
|
15491
15616
|
left 4
|
15492
|
-
|
15617
|
+
|
15618
|
+
on_clicked {
|
15619
|
+
file = open_file
|
15620
|
+
if file != nil
|
15621
|
+
file_data = File.open(file, 'r').read
|
15622
|
+
@data['포스트설정']['링크파일'] = file_data.split("\n").map { |line| ["링크", line.strip] }
|
15623
|
+
end
|
15624
|
+
}
|
15625
|
+
}
|
15626
|
+
|
15627
|
+
@data['포스트설정']['링크삽입순서'] = checkbox('링크 순서 사용'){
|
15628
|
+
top 1
|
15629
|
+
left 5
|
15630
|
+
on_toggled {
|
15631
|
+
if @data['포스트설정']['링크삽입순서'].checked?
|
15632
|
+
@data['포스트설정']['링크삽입랜덤'].checked = false
|
15633
|
+
end
|
15634
|
+
}
|
15635
|
+
|
15493
15636
|
}
|
15637
|
+
@data['포스트설정']['링크삽입랜덤'] = checkbox('링크랜덤 사용'){
|
15638
|
+
top 1
|
15639
|
+
left 6
|
15640
|
+
on_toggled {
|
15641
|
+
if @data['포스트설정']['링크삽입랜덤'].checked?
|
15642
|
+
@data['포스트설정']['링크삽입순서'].checked = false
|
15643
|
+
end
|
15644
|
+
}
|
15645
|
+
}
|
15646
|
+
|
15647
|
+
|
15494
15648
|
@data['포스트설정']['내용사진자동삽입'] = checkbox('이미지 자동 삽입 '){
|
15495
15649
|
top 2
|
15496
15650
|
left 0
|
@@ -15695,7 +15849,7 @@ class Wordpress
|
|
15695
15849
|
on_toggled{
|
15696
15850
|
if @data['포스트설정']['막글삽입2'].checked?
|
15697
15851
|
@data['포스트설정']['내용키워드삽입'].checked = false
|
15698
|
-
@data['포스트설정']['
|
15852
|
+
@data['포스트설정']['키워드링크삽입'].checked = false
|
15699
15853
|
end
|
15700
15854
|
}
|
15701
15855
|
}
|
@@ -15711,15 +15865,52 @@ class Wordpress
|
|
15711
15865
|
text '최대수량'
|
15712
15866
|
}
|
15713
15867
|
|
15714
|
-
@data['포스트설정']['
|
15868
|
+
@data['포스트설정']['키워드링크삽입1'] = checkbox('키워드 링크 적용'){
|
15715
15869
|
top 0
|
15716
15870
|
left 3
|
15871
|
+
on_toggled{
|
15872
|
+
if @data['포스트설정']['키워드링크삽입1'].checked?
|
15873
|
+
@data['포스트설정']['내용키워드삽입'].checked = false
|
15874
|
+
@data['포스트설정']['키워드링크삽입'].checked = false
|
15875
|
+
end
|
15876
|
+
}
|
15717
15877
|
}
|
15718
|
-
|
15878
|
+
|
15879
|
+
button(' 링크 파일 불러오기 '){
|
15719
15880
|
top 0
|
15720
15881
|
left 4
|
15721
|
-
|
15882
|
+
|
15883
|
+
on_clicked {
|
15884
|
+
file = open_file
|
15885
|
+
if file != nil
|
15886
|
+
file_data = File.open(file, 'r').read
|
15887
|
+
@data['포스트설정']['링크파일1'] = file_data.split("\n").map { |line| ["링크", line.strip] }
|
15888
|
+
end
|
15889
|
+
}
|
15890
|
+
}
|
15891
|
+
|
15892
|
+
@data['포스트설정']['링크삽입순서1'] = checkbox('링크 순서 사용'){
|
15893
|
+
top 0
|
15894
|
+
left 5
|
15895
|
+
on_toggled {
|
15896
|
+
if @data['포스트설정']['링크삽입순서1'].checked?
|
15897
|
+
@data['포스트설정']['링크삽입랜덤1'].checked = false
|
15898
|
+
end
|
15899
|
+
}
|
15900
|
+
|
15722
15901
|
}
|
15902
|
+
@data['포스트설정']['링크삽입랜덤1'] = checkbox('링크랜덤 사용'){
|
15903
|
+
top 0
|
15904
|
+
left 6
|
15905
|
+
on_toggled {
|
15906
|
+
if @data['포스트설정']['링크삽입랜덤1'].checked?
|
15907
|
+
@data['포스트설정']['링크삽입순서1'].checked = false
|
15908
|
+
end
|
15909
|
+
}
|
15910
|
+
}
|
15911
|
+
|
15912
|
+
|
15913
|
+
|
15723
15914
|
}
|
15724
15915
|
vertical_separator{
|
15725
15916
|
stretchy false
|
@@ -15871,6 +16062,8 @@ class Wordpress
|
|
15871
16062
|
@data['포스트설정']['원고로만포스팅'].checked = true
|
15872
16063
|
@data['포스트설정']['제목에도적용'].checked = true
|
15873
16064
|
@data['포스트설정']['제목리스트사용'].checked = true
|
16065
|
+
@data['포스트설정']['링크삽입순서'].checked = true
|
16066
|
+
@data['포스트설정']['링크삽입순서1'].checked = true
|
15874
16067
|
|
15875
16068
|
}.show
|
15876
16069
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: posting_zon
|
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: posting app
|
13
13
|
email: mymin26@naver.com
|