nblog_zon 0.0.6 → 0.0.9
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/nblog_zon.rb +1603 -1284
- metadata +2 -2
data/lib/nblog_zon.rb
CHANGED
@@ -16,7 +16,10 @@ require 'uri'
|
|
16
16
|
require 'cgi'
|
17
17
|
require 'digest'
|
18
18
|
require 'auto_click'
|
19
|
+
require 'rainbow/refinement'
|
19
20
|
include AutoClickMethods
|
21
|
+
using Rainbow
|
22
|
+
include Glimmer
|
20
23
|
|
21
24
|
class Chat
|
22
25
|
def initialize(api_key)
|
@@ -30,10 +33,11 @@ class Chat
|
|
30
33
|
'Authorization' => 'Bearer ' + @api_key
|
31
34
|
}
|
32
35
|
d = {
|
33
|
-
'model' => 'gpt-3.5-turbo',
|
36
|
+
#'model' => 'gpt-3.5-turbo',
|
37
|
+
'model' => 'gpt-4',
|
34
38
|
'messages' => [{
|
35
39
|
"role" => "assistant",
|
36
|
-
"content" => keyword.to_s+" 소개하는 글을
|
40
|
+
"content" => keyword.to_s+" 소개하는 글을 1500자에서 2500자 사이로 만들어줘"
|
37
41
|
}]
|
38
42
|
}
|
39
43
|
answer = ''
|
@@ -64,10 +68,11 @@ class Chat
|
|
64
68
|
'Authorization' => 'Bearer ' + @api_key
|
65
69
|
}
|
66
70
|
d = {
|
67
|
-
'model' => 'gpt-3.5-turbo',
|
71
|
+
#'model' => 'gpt-3.5-turbo',
|
72
|
+
'model' => 'gpt-4',
|
68
73
|
'messages' => [{
|
69
74
|
"role" => "assistant",
|
70
|
-
"content" => keyword.to_s+" 관련된 글을
|
75
|
+
"content" => keyword.to_s+" 관련된 글을 1500자에서 2500자 사이로 만들어줘"
|
71
76
|
}]
|
72
77
|
}
|
73
78
|
answer = ''
|
@@ -98,26 +103,134 @@ class Chat
|
|
98
103
|
end
|
99
104
|
end
|
100
105
|
|
106
|
+
class Chat_title
|
107
|
+
def initialize(api_key)
|
108
|
+
@api_key = api_key
|
109
|
+
end
|
110
|
+
|
111
|
+
def message(title)
|
112
|
+
url = 'https://api.openai.com/v1/chat/completions'
|
113
|
+
headers = {
|
114
|
+
'Content-Type' => 'application/json',
|
115
|
+
'Authorization' => 'Bearer ' + @api_key
|
116
|
+
}
|
117
|
+
data = {
|
118
|
+
'model' => 'gpt-4',
|
119
|
+
'messages' => [{
|
120
|
+
"role" => "system",
|
121
|
+
"content" => "너는 매우 친절하고 성의 있게 답변하는 AI 어시스턴트야."
|
122
|
+
},
|
123
|
+
{
|
124
|
+
"role" => "user",
|
125
|
+
"content" => "#{title}\n위 문장을 비슷한 길이로 ChatGPT의 멘트는 빼고 표현을 더 추가해서 하나만 만들어줘."
|
126
|
+
}]
|
127
|
+
}
|
128
|
+
|
129
|
+
begin
|
130
|
+
req = HTTP.headers(headers).post(url, json: data)
|
131
|
+
puts "HTTP Status: #{req.status}" # 상태 코드 확인
|
132
|
+
response = JSON.parse(req.body.to_s)
|
133
|
+
puts "API Response: #{response}" # 전체 응답 출력
|
134
|
+
|
135
|
+
if req.status == 429
|
136
|
+
return "API 요청 제한을 초과했습니다. 플랜 및 할당량을 확인하세요."
|
137
|
+
end
|
138
|
+
|
139
|
+
# 응답 데이터에서 안전하게 값 추출
|
140
|
+
answer = response.dig('choices', 0, 'message', 'content')
|
141
|
+
answer ||= (title) # 응답이 없을 경우 기본 메시지 설정
|
142
|
+
rescue => e
|
143
|
+
puts "Error: #{e.message}"
|
144
|
+
answer = "오류가 발생했습니다."
|
145
|
+
end
|
146
|
+
|
147
|
+
puts 'API return ==> '
|
148
|
+
puts answer
|
149
|
+
answer
|
150
|
+
end
|
151
|
+
end
|
152
|
+
|
153
|
+
class Chat_content
|
154
|
+
def initialize(api_key)
|
155
|
+
@api_key = api_key
|
156
|
+
end
|
157
|
+
|
158
|
+
def message(content)
|
159
|
+
|
160
|
+
url = 'https://api.openai.com/v1/chat/completions'
|
161
|
+
headers = {
|
162
|
+
'Content-Type' => 'application/json',
|
163
|
+
'Authorization' => 'Bearer ' + @api_key
|
164
|
+
}
|
165
|
+
data = {
|
166
|
+
'model' => 'gpt-4',
|
167
|
+
'messages' => [{
|
168
|
+
"role" => "system",
|
169
|
+
"content" => "너는 매우 친절하고 성의 있게 답변하는 AI 어시스턴트야."
|
170
|
+
},
|
171
|
+
{
|
172
|
+
"role" => "user",
|
173
|
+
"content" => "#{content}\nChatGPT의 멘트는 빼고 위 전체적인 내용의 형식을 똑같이 표현을 더 추가하고 유사어로 변경하여 하나 만들어줘! 전화번호,연락처,가격,홈페이지안내 ,상담안내 관련 문구는 유지해야해"
|
174
|
+
}]
|
175
|
+
}
|
176
|
+
|
177
|
+
begin
|
178
|
+
req = HTTP.headers(headers).post(url, json: data)
|
179
|
+
puts "HTTP Status: #{req.status}" # 상태 코드 확인
|
180
|
+
response = JSON.parse(req.body.to_s)
|
181
|
+
puts "API Response: #{response}" # 전체 응답 출력
|
182
|
+
|
183
|
+
if req.status == 429
|
184
|
+
return "API 요청 제한을 초과했습니다. 플랜 및 할당량을 확인하세요."
|
185
|
+
end
|
186
|
+
|
187
|
+
# 응답 데이터에서 안전하게 값 추출
|
188
|
+
answer = response.dig('choices', 0, 'message', 'content')
|
189
|
+
answer ||= (content) # 응답이 없을 경우 기본 메시지 설정
|
190
|
+
rescue => e
|
191
|
+
puts "Error: #{e.message}"
|
192
|
+
answer = "오류가 발생했습니다."
|
193
|
+
end
|
194
|
+
|
195
|
+
puts 'API return ==> '
|
196
|
+
puts answer
|
197
|
+
answer
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
|
202
|
+
#############################################gpt############################################
|
203
|
+
|
101
204
|
class Naver
|
102
205
|
def initialize
|
103
206
|
@seed = 1
|
104
|
-
@cookie = ''
|
105
207
|
end
|
208
|
+
def chrome_setup(user_id)
|
209
|
+
naver_cookie_dir = "C:/naver_cookie"
|
210
|
+
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
211
|
+
system(%{"C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe" https://naver.com/ --remote-debugging-port=9222 --user-data-dir=C:/naver_cookie/#{user_id}})
|
106
212
|
|
107
|
-
|
213
|
+
end
|
214
|
+
def chrome_start(proxy, user_id)
|
215
|
+
naver_cookie_dir = "C:/naver_cookie"
|
216
|
+
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
108
217
|
if proxy == ''
|
109
218
|
begin
|
110
219
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
111
220
|
options = Selenium::WebDriver::Chrome::Options.new
|
112
|
-
options.
|
113
|
-
|
114
|
-
|
221
|
+
options.page_load_strategy = :normal
|
222
|
+
options.timeouts = {page_load: 20_000}
|
223
|
+
options.page_load_strategy = 'none'
|
224
|
+
options.add_argument('--remote-debugging-port=9222')
|
225
|
+
options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
|
226
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
115
227
|
rescue
|
116
|
-
@driver = Selenium::WebDriver.for :
|
228
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
117
229
|
end
|
118
230
|
else
|
119
231
|
begin
|
120
232
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
233
|
+
options = Selenium::WebDriver::Chrome::Options.new
|
121
234
|
# profile = Selenium::WebDriver::Chrome::Profile.new
|
122
235
|
# profile['network.proxy.type'] = 1
|
123
236
|
# profile['network.proxy.http'] = proxy.split(':')[0]
|
@@ -125,213 +238,113 @@ class Naver
|
|
125
238
|
# options = Selenium::WebDriver::Chrome::Options.new
|
126
239
|
# options.profile = profile
|
127
240
|
options = Selenium::WebDriver::Chrome::Options.new
|
128
|
-
options.add_argument('--start-maximized')
|
129
241
|
options.add_argument '--proxy-server='+proxy.to_s.force_encoding('utf-8').to_s
|
130
|
-
|
242
|
+
options.page_load_strategy = :normal
|
243
|
+
options.timeouts = {page_load: 20_000}
|
244
|
+
options.page_load_strategy = 'none'
|
245
|
+
options.add_argument('--remote-debugging-port=9222')
|
246
|
+
options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
|
247
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
131
248
|
rescue => e
|
132
249
|
puts e
|
133
250
|
puts 'proxy error...'
|
134
251
|
begin
|
135
252
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
136
253
|
options = Selenium::WebDriver::Chrome::Options.new
|
137
|
-
options.
|
138
|
-
|
254
|
+
options.page_load_strategy = :normal
|
255
|
+
options.timeouts = {page_load: 20_000}
|
256
|
+
options.page_load_strategy = 'none'
|
257
|
+
options.add_argument('--remote-debugging-port=9222')
|
258
|
+
options.add_argument('user-data-dir=C:/naver_cookie/' + user_id)
|
259
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
139
260
|
rescue
|
140
|
-
@driver = Selenium::WebDriver.for :
|
261
|
+
@driver = Selenium::WebDriver.for(:chrome, capabilities: options)
|
141
262
|
end
|
142
263
|
end
|
143
264
|
end
|
144
265
|
end
|
145
266
|
|
267
|
+
|
268
|
+
|
146
269
|
def login(user_id, user_pw, proxy)
|
147
270
|
@user_id = user_id
|
148
271
|
@user_id11 = user_id
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
user_cookie_file = Array.new
|
153
|
-
begin
|
154
|
-
Dir.entries('./cookie').each do |i|
|
155
|
-
if i == '.' or i == '..'
|
272
|
+
current_dir = File.dirname(__FILE__)
|
273
|
+
naver_cookie_dir = "C:/naver_cookie"
|
274
|
+
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
156
275
|
|
157
|
-
|
158
|
-
|
159
|
-
|
276
|
+
|
277
|
+
|
278
|
+
unless File.exist?("C:/naver_cookie/" + user_id)
|
279
|
+
driverfile_src = File.join(current_dir, 'driverfile')
|
280
|
+
if Dir.exist?(driverfile_src)
|
281
|
+
FileUtils.cp_r(driverfile_src, "C:/naver_cookie/" + user_id)
|
282
|
+
|
160
283
|
end
|
161
|
-
|
284
|
+
end
|
162
285
|
|
163
|
-
|
286
|
+
# 새로운 스레드 생성 및 실행
|
287
|
+
Thread.new { chrome_setup(user_id) }
|
288
|
+
sleep(3)
|
164
289
|
|
165
|
-
@cookie4 = Hash.new
|
166
|
-
if user_cookie_file.include?(user_id+'.txt')
|
167
|
-
f = File.open('./cookie/'+user_id+'.txt', 'r')
|
168
|
-
@cookie4 = JSON.parse(f.read())
|
169
|
-
f.close
|
170
|
-
end
|
171
290
|
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
end
|
177
|
-
rescue
|
291
|
+
chrome_start(proxy, user_id)
|
292
|
+
@driver.get('https://www.naver.com')
|
293
|
+
puts'[Step.01] 계정 로그인 및 세션 확인.......'.yellow
|
294
|
+
|
178
295
|
|
179
|
-
end
|
180
296
|
sleep(1)
|
181
|
-
|
297
|
+
|
182
298
|
begin
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
@driver.find_element(:xpath, '//*[@id="account"]/div/a').click
|
299
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
300
|
+
#요소가 나타날 때까지 3초 동안 기다립니다.
|
301
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="MyView-module__link_login___HpHMW"]') }
|
302
|
+
sleep(1.5)
|
303
|
+
@driver.find_element(:xpath, '//*[@class="MyView-module__link_login___HpHMW"]').click
|
189
304
|
check_cookie_login = 0
|
305
|
+
sleep(1)
|
190
306
|
rescue
|
191
307
|
check_cookie_login = 1
|
308
|
+
puts'[Step.02] 계정 세션 확인!! 로그인 skip.......'.yellow
|
309
|
+
sleep(2.5)
|
192
310
|
end
|
193
311
|
|
194
312
|
if check_cookie_login == 0
|
313
|
+
puts'[Step.02] 계정 세션이 없거나 기간 만료로 인해 로그인 시도.......'.yellow
|
195
314
|
# @driver.find_element(:xpath, '//*[@id="right-content-area"]/div[1]/div[1]/div/a').click
|
196
|
-
|
197
|
-
wait = Selenium::WebDriver::Wait.new(:timeout =>
|
198
|
-
#요소가 나타날 때까지
|
199
|
-
wait.until { @driver.find_element(:xpath, '//*[@
|
200
|
-
|
201
|
-
|
315
|
+
sleep(3)
|
316
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
317
|
+
#요소가 나타날 때까지 3초 동안 기다립니다.
|
318
|
+
wait.until { @driver.find_element(:xpath, '//*[@for="switch"]') }
|
319
|
+
sleep(1.5)
|
320
|
+
@driver.find_element(:xpath, '//*[@id="login_keep_wrap"]/div[1]/label').click
|
321
|
+
sleep(1.5)
|
202
322
|
@driver.find_element(:xpath, '//*[@id="id"]').click
|
203
323
|
Clipboard.copy(user_id)
|
204
324
|
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
205
|
-
sleep(
|
325
|
+
sleep(1.5)
|
206
326
|
@driver.find_element(:xpath, '//*[@id="pw"]').click
|
207
327
|
Clipboard.copy(user_pw)
|
208
328
|
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
209
|
-
sleep(
|
210
|
-
@driver.find_element(:xpath, '//*[@class="switch_btn"]').click
|
211
|
-
sleep(3)
|
329
|
+
sleep(1.5)
|
212
330
|
@driver.find_element(:xpath, '//*[@id="log.login"]').click
|
213
|
-
sleep(
|
331
|
+
sleep(2.5)
|
214
332
|
|
215
|
-
|
216
333
|
else
|
217
334
|
# @driver.switch_to.default_content
|
218
335
|
end
|
219
336
|
|
220
|
-
@cookie = ''
|
221
|
-
cookie2 = Array.new
|
222
|
-
@driver.manage.all_cookies.each do |i|
|
223
|
-
puts i
|
224
|
-
@cookie += i[:name]+'='+i[:value]+'; '
|
225
|
-
cookie2 << i
|
226
|
-
end
|
227
|
-
|
228
|
-
File.open('./cookie/'+user_id+'.txt', 'w') do |ff|
|
229
|
-
ff.write(cookie2.to_json)
|
230
|
-
end
|
231
|
-
|
232
|
-
sleep(2)
|
233
337
|
begin
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
@driver.find_element(:xpath, '//*[@role="region"]')
|
239
|
-
sleep(2)
|
338
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 3)
|
339
|
+
#요소가 나타날 때까지 3초 동안 기다립니다.
|
340
|
+
wait.until { @driver.find_element(:xpath, '//*[@class="MyView-module__btn_logout___bsTOJ"]') }
|
341
|
+
|
240
342
|
rescue => e
|
241
|
-
puts '로그인
|
242
|
-
puts '로그인 실패 이유로 다음 계정을 사용합니다.'
|
343
|
+
puts '-[√] 로그인 실패!!.......'.red
|
243
344
|
puts e
|
244
345
|
@driver.close
|
245
|
-
return 0
|
246
|
-
end
|
247
|
-
=begin
|
248
|
-
|
249
|
-
sleep(2)
|
250
|
-
if @driver.current_url.include?('viewPhoneInfo')
|
251
|
-
#@driver.get('https://blog.naver.com/'+user_id)
|
252
|
-
sleep(2)
|
253
|
-
@driver.get('https://blog.naver.com/')
|
254
|
-
|
255
|
-
sleep(1)
|
256
|
-
# 타임아웃을 10초로 설정
|
257
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
258
|
-
#요소가 나타날 때까지 10초 동안 기다립니다.
|
259
|
-
wait.until { @driver.find_element(:xpath, '//*[@alt="로그아웃"]') }
|
260
|
-
@driver.find_element(:xpath, '//*[@alt="로그아웃"]')
|
261
|
-
sleep(2)
|
262
|
-
|
263
|
-
@driver.find_element(:xpath, '//*[@alt="내 블로그"]').click
|
264
|
-
sleep(1)
|
265
|
-
#@driver.find_element(:xpath, '//*[@id="account"]/div[3]/div[2]/div[1]/a[2]').click
|
266
|
-
sleep(1)
|
267
|
-
@driver.switch_to.window(@driver.window_handles[1])
|
268
|
-
@user_id = @driver.current_url.split('/')[-1]
|
269
|
-
@url = 'https://blog.naver.com/'+@user_id
|
270
|
-
@driver.close
|
271
|
-
@driver.switch_to.window(@driver.window_handles[0])
|
272
|
-
return 1
|
273
|
-
else
|
274
|
-
begin
|
275
|
-
sleep(2)
|
276
|
-
# @driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="my-iframe"]'))
|
277
|
-
# puts @driver.find_element(:xpath, '/html/body/div/div/div[1]/div[1]/a[1]').text
|
278
|
-
# @driver.find_element(:xpath, '//*[@id="account"]/div[2]/div/div/ul/li[3]/a/span').click
|
279
|
-
# sleep(1)
|
280
|
-
# @driver.find_element(:xpath, '//*[@id="account"]/div[2]/div/div/ul/li[3]/a/span')
|
281
|
-
#@driver.get('https://blog.naver.com/'+user_id)
|
282
|
-
|
283
|
-
@driver.get('https://blog.naver.com/')
|
284
|
-
|
285
|
-
sleep(1)
|
286
|
-
# 타임아웃을 10초로 설정
|
287
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
288
|
-
#요소가 나타날 때까지 10초 동안 기다립니다.
|
289
|
-
wait.until { @driver.find_element(:xpath, '//*[@alt="로그아웃"]') }
|
290
|
-
@driver.find_element(:xpath, '//*[@alt="로그아웃"]')
|
291
|
-
sleep(2)
|
292
|
-
|
293
|
-
|
294
|
-
sleep(3)
|
295
|
-
@driver.find_element(:xpath, '//*[@alt="내 블로그"]').click
|
296
|
-
sleep(1)
|
297
|
-
#@driver.find_element(:xpath, '//*[@id="account"]/div[3]/div[2]/div[1]/a[2]').click
|
298
|
-
#sleep(1)
|
299
|
-
sleep(1)
|
300
|
-
@driver.switch_to.window(@driver.window_handles[1])
|
301
|
-
@user_id = @driver.current_url.split('/')[-1]
|
302
|
-
@url = 'https://blog.naver.com/'+@user_id
|
303
|
-
@driver.close
|
304
|
-
@driver.switch_to.window(@driver.window_handles[0])
|
305
|
-
return 1
|
306
|
-
rescue => e
|
307
|
-
puts e
|
308
|
-
@driver.close
|
309
|
-
return 0
|
310
|
-
end
|
346
|
+
return 0
|
311
347
|
end
|
312
|
-
=end
|
313
|
-
end
|
314
|
-
|
315
|
-
|
316
|
-
def title_action(text)
|
317
|
-
#제목
|
318
|
-
@driver.find_element(:xpath, '/html/body/div[1]/div/div[3]/div/div/div[1]/div/div[1]/div[2]/section/article/div[1]/div[1]/div').click
|
319
|
-
Clipboard.copy(text)
|
320
|
-
@driver.action.key_down(:control).send_keys('v').key_up(:control).perform
|
321
|
-
end
|
322
|
-
|
323
|
-
def update_test
|
324
|
-
#@driver.get('https://blog.naver.com/'+@user_id+'?Redirect=Write')
|
325
|
-
@driver.get('https://blog.naver.com/GoBlogWrite.naver')
|
326
|
-
sleep(1)
|
327
|
-
wait = Selenium::WebDriver::Wait.new(:timeout => 60)
|
328
|
-
#요소가 나타날 때까지 30초 동안 기다립니다.
|
329
|
-
wait.until { @driver.find_element(:xpath, '//*[@id="mainFrame"]') }
|
330
|
-
sleep(1)
|
331
|
-
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]'))
|
332
|
-
|
333
|
-
title_action('제목 test')
|
334
|
-
|
335
348
|
end
|
336
349
|
|
337
350
|
def create_id
|
@@ -521,6 +534,7 @@ class Naver
|
|
521
534
|
puts myJSON
|
522
535
|
return myJSON
|
523
536
|
end
|
537
|
+
|
524
538
|
|
525
539
|
def update(title, content, option, soosick_1, soosick_2, dd_time)
|
526
540
|
#@driver.get(@url+'?Redirect=Write')
|
@@ -2039,6 +2053,14 @@ class Wordpress
|
|
2039
2053
|
end
|
2040
2054
|
end
|
2041
2055
|
end
|
2056
|
+
|
2057
|
+
if @data['포스트설정']['gpt제목'].checked?
|
2058
|
+
chat = Chat_title.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'))
|
2059
|
+
gpt_text1 = chat.message(title)
|
2060
|
+
title = gpt_text1.to_s
|
2061
|
+
end
|
2062
|
+
|
2063
|
+
|
2042
2064
|
@data['table'][index][-1] = 5
|
2043
2065
|
@data['table'] << []
|
2044
2066
|
@data['table'].pop
|
@@ -2076,6 +2098,25 @@ class Wordpress
|
|
2076
2098
|
end
|
2077
2099
|
end
|
2078
2100
|
end
|
2101
|
+
|
2102
|
+
|
2103
|
+
if @data['포스트설정']['gpt내용'].checked?
|
2104
|
+
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
2105
|
+
#key_change = @data['포스트설정']['특정단어키워드로변경값'].text.to_s.force_encoding('utf-8')
|
2106
|
+
#imotcon_change = @data['포스트설정']['스티커로변경단어'].text.to_s.force_encoding('utf-8')
|
2107
|
+
#template_change = @data['포스트설정']['내템플릿변경단어'].text.to_s.force_encoding('utf-8')
|
2108
|
+
#ttdanar_change = @data['포스트설정']['단어링크적용단어'].text.to_s.force_encoding('utf-8')
|
2109
|
+
#sajine_change = @data['포스트설정']['단어사진으로변경단어'].text.to_s.force_encoding('utf-8')
|
2110
|
+
#mov_change = @data['포스트설정']['영상으로변경단어'].text.to_s.force_encoding('utf-8')
|
2111
|
+
#map_change = @data['포스트설정']['지도로변경단어'].text.to_s.force_encoding('utf-8')
|
2112
|
+
#inyong9_change = @data['포스트설정']['인용구변경단어'].text.to_s.force_encoding('utf-8')
|
2113
|
+
|
2114
|
+
|
2115
|
+
chat = Chat_content.new(api_key)
|
2116
|
+
gpt_text3 = chat.message(content)
|
2117
|
+
content = gpt_text3.to_s
|
2118
|
+
end
|
2119
|
+
|
2079
2120
|
content_tag = content.split('@##@')[1]
|
2080
2121
|
content = content.split('@##@')[0]
|
2081
2122
|
@data['table'][index][-1] = 15
|
@@ -2274,7 +2315,7 @@ class Wordpress
|
|
2274
2315
|
@data['table'][index][-1] = 50
|
2275
2316
|
@data['table'] << []
|
2276
2317
|
@data['table'].pop
|
2277
|
-
if @data['포스트설정']['gpt'].checked?
|
2318
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
2278
2319
|
chat = Chat.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'))
|
2279
2320
|
gpt_text = chat.message(keyword)
|
2280
2321
|
content = content.to_s + "\n(자동생성글)\n" + gpt_text.to_s
|
@@ -2295,7 +2336,7 @@ class Wordpress
|
|
2295
2336
|
joongbok_check = 0
|
2296
2337
|
counter10 = 0
|
2297
2338
|
while joongbok_check == 0
|
2298
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2339
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2299
2340
|
content22 = content.split("(자동생성글)")[1].split("\n")
|
2300
2341
|
else
|
2301
2342
|
content22 = content.split("\n")
|
@@ -2319,12 +2360,12 @@ class Wordpress
|
|
2319
2360
|
content2 = content.split("\n")
|
2320
2361
|
end
|
2321
2362
|
|
2322
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2363
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2323
2364
|
content2 = content.split("(자동생성글)")[1].split("\n")
|
2324
2365
|
position.pop
|
2325
2366
|
end
|
2326
2367
|
|
2327
|
-
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt'].checked? == false
|
2368
|
+
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt키워드'].checked? == false
|
2328
2369
|
content2 = content.split("\n")
|
2329
2370
|
end
|
2330
2371
|
|
@@ -2370,7 +2411,7 @@ class Wordpress
|
|
2370
2411
|
content = content3.join("\n")
|
2371
2412
|
end
|
2372
2413
|
|
2373
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2414
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2374
2415
|
content2.each_with_index do |con, index|
|
2375
2416
|
if position.include?(index)
|
2376
2417
|
insert_keyword_text = keyword.to_s
|
@@ -2400,7 +2441,7 @@ class Wordpress
|
|
2400
2441
|
end
|
2401
2442
|
end
|
2402
2443
|
|
2403
|
-
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt'].checked? == false
|
2444
|
+
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt키워드'].checked? == false
|
2404
2445
|
begin
|
2405
2446
|
content2.each_with_index do |con, index|
|
2406
2447
|
if position.include?(index)
|
@@ -2495,7 +2536,7 @@ class Wordpress
|
|
2495
2536
|
end
|
2496
2537
|
end
|
2497
2538
|
|
2498
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2539
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2499
2540
|
if @data['포스트설정']['자동글 수식에 입력'].checked?
|
2500
2541
|
content5 = content.split("(자동생성글)")[0].to_s.split("\n")
|
2501
2542
|
content55 = content.split("(자동생성글)")[1].to_s
|
@@ -2526,7 +2567,7 @@ class Wordpress
|
|
2526
2567
|
end
|
2527
2568
|
|
2528
2569
|
position = position.sort
|
2529
|
-
###여기까지 이미지 순서대로 안되서 변경##-------------------------------------------------------------------------------
|
2570
|
+
###여기까지 이미지 순서대로 안되서 변경##-------------------------------------------------------------------------------
|
2530
2571
|
# if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2531
2572
|
# image_url22 = get_image_file().force_encoding('utf-8')
|
2532
2573
|
# end
|
@@ -2570,7 +2611,7 @@ class Wordpress
|
|
2570
2611
|
###여기까지 이미지 순서대로 안되서 변경##-------------------------------------------------------------------------------
|
2571
2612
|
|
2572
2613
|
##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
|
2573
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2614
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2574
2615
|
sleep(2)
|
2575
2616
|
puts '이미지 자동 세탁 중 · · · '
|
2576
2617
|
end
|
@@ -2589,7 +2630,7 @@ class Wordpress
|
|
2589
2630
|
end
|
2590
2631
|
sleep(2)
|
2591
2632
|
puts '이미지 자동 세탁 완료 · · · '
|
2592
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2633
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2593
2634
|
content = content5.join("\n")+'(자동생성글)'+content55
|
2594
2635
|
puts content
|
2595
2636
|
else
|
@@ -2611,7 +2652,7 @@ class Wordpress
|
|
2611
2652
|
content = content.split(i.force_encoding('utf-8')).join(keyword)
|
2612
2653
|
end
|
2613
2654
|
end
|
2614
|
-
|
2655
|
+
|
2615
2656
|
@data['table'][index][-1] = 75
|
2616
2657
|
@data['table'] << []
|
2617
2658
|
@data['table'].pop
|
@@ -2689,7 +2730,7 @@ class Wordpress
|
|
2689
2730
|
content = content.split(i.force_encoding('utf-8')).join("<sticker></sticker>")
|
2690
2731
|
end
|
2691
2732
|
end
|
2692
|
-
|
2733
|
+
|
2693
2734
|
|
2694
2735
|
|
2695
2736
|
if @data['포스트설정']['내템플릿사용하기'].checked?
|
@@ -2743,7 +2784,7 @@ class Wordpress
|
|
2743
2784
|
content = content
|
2744
2785
|
soosick_1 = content_end
|
2745
2786
|
else
|
2746
|
-
if @data['포스트설정']['gpt'].checked?
|
2787
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
2747
2788
|
if @data['포스트설정']['gpt상단'].checked?
|
2748
2789
|
content = content_end+"\n"+content+"\n"
|
2749
2790
|
else
|
@@ -3332,8 +3373,11 @@ class Wordpress
|
|
3332
3373
|
}
|
3333
3374
|
|
3334
3375
|
horizontal_box{
|
3335
|
-
stretchy false
|
3376
|
+
stretchy false
|
3377
|
+
grid{
|
3336
3378
|
button('전체선택'){
|
3379
|
+
top 1
|
3380
|
+
left 1
|
3337
3381
|
on_clicked{
|
3338
3382
|
for n in 0..@data['table'].length-1
|
3339
3383
|
@data['table'][n][0] = true
|
@@ -3342,7 +3386,20 @@ class Wordpress
|
|
3342
3386
|
end
|
3343
3387
|
}
|
3344
3388
|
}
|
3389
|
+
button('선택해제'){
|
3390
|
+
top 1
|
3391
|
+
left 2
|
3392
|
+
on_clicked{
|
3393
|
+
for n in 0..@data['table'].length-1
|
3394
|
+
@data['table'][n][0] = false
|
3395
|
+
@data['table'] << []
|
3396
|
+
@data['table'].pop
|
3397
|
+
end
|
3398
|
+
}
|
3399
|
+
}
|
3345
3400
|
button('계정삭제'){
|
3401
|
+
top 1
|
3402
|
+
left 3
|
3346
3403
|
on_clicked{
|
3347
3404
|
del_list_number = Array.new
|
3348
3405
|
for n in 0..@data['table'].length-1
|
@@ -3357,1216 +3414,1478 @@ class Wordpress
|
|
3357
3414
|
@data.delete(nil)
|
3358
3415
|
}
|
3359
3416
|
}
|
3360
|
-
|
3361
|
-
|
3362
|
-
|
3363
|
-
|
3364
|
-
|
3365
|
-
|
3366
|
-
|
3367
|
-
|
3368
|
-
|
3417
|
+
}
|
3418
|
+
|
3419
|
+
grid{
|
3420
|
+
stretchy false
|
3421
|
+
|
3422
|
+
@data['table_counter_input'] = entry{
|
3423
|
+
top 1
|
3424
|
+
left 4
|
3425
|
+
text '수량 ex) 3'
|
3426
|
+
}
|
3427
|
+
@data['table_delay_input'] = entry{
|
3428
|
+
top 1
|
3429
|
+
left 5
|
3430
|
+
text '딜레이 ex) 3'
|
3431
|
+
}
|
3432
|
+
@data['table_delay_input2'] = entry{
|
3433
|
+
top 1
|
3434
|
+
left 6
|
3435
|
+
text '등록전딜레이'
|
3436
|
+
}
|
3369
3437
|
|
3370
|
-
|
3371
|
-
|
3372
|
-
|
3373
|
-
|
3374
|
-
|
3375
|
-
|
3376
|
-
|
3377
|
-
|
3378
|
-
|
3379
|
-
|
3438
|
+
button('전체설정'){
|
3439
|
+
top 1
|
3440
|
+
left 7
|
3441
|
+
on_clicked{
|
3442
|
+
for n in 0..@data['table'].length-1
|
3443
|
+
@data['table'][n][7] = @data['table_counter_input'].text.to_i
|
3444
|
+
@data['table'][n][8] = @data['table_delay_input'].text.to_s
|
3445
|
+
@data['table'][n][9] = @data['table_delay_input2'].text.to_s
|
3446
|
+
@data['table'] << []
|
3447
|
+
@data['table'].pop
|
3448
|
+
end
|
3380
3449
|
}
|
3381
3450
|
}
|
3382
3451
|
}
|
3383
3452
|
}
|
3384
|
-
|
3453
|
+
}
|
3454
|
+
}
|
3455
|
+
tab_item('내용설정'){
|
3456
|
+
horizontal_box{
|
3457
|
+
vertical_box{
|
3385
3458
|
horizontal_box{
|
3386
|
-
|
3387
|
-
|
3388
|
-
|
3389
|
-
|
3390
|
-
|
3391
|
-
|
3392
|
-
|
3393
|
-
|
3394
|
-
file_data.split("\n").each do |keyword|
|
3395
|
-
if keyword.split(' ').join('').length < 2
|
3396
|
-
|
3397
|
-
else
|
3398
|
-
@data['키워드설정']['키워드'] << [false, keyword]
|
3399
|
-
@data['키워드설정']['키워드'] << [false, keyword]
|
3400
|
-
@data['키워드설정']['키워드'].pop
|
3401
|
-
end
|
3402
|
-
end
|
3403
|
-
end
|
3404
|
-
|
3405
|
-
}
|
3406
|
-
}
|
3459
|
+
stretchy false
|
3460
|
+
button('키워드불러오기'){
|
3461
|
+
on_clicked{
|
3462
|
+
file = open_file
|
3463
|
+
if file != nil
|
3464
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3465
|
+
file_data.split("\n").each do |keyword|
|
3466
|
+
if keyword.split(' ').join('').length < 2
|
3407
3467
|
|
3408
|
-
|
3409
|
-
|
3410
|
-
|
3411
|
-
button('전체선택'){
|
3412
|
-
on_clicked{
|
3413
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3414
|
-
@data['키워드설정']['키워드'][n][0] = true
|
3415
|
-
@data['키워드설정']['키워드'] << []
|
3468
|
+
else
|
3469
|
+
@data['키워드설정']['키워드'] << [false, keyword]
|
3470
|
+
@data['키워드설정']['키워드'] << [false, keyword]
|
3416
3471
|
@data['키워드설정']['키워드'].pop
|
3417
3472
|
end
|
3418
|
-
|
3419
|
-
|
3420
|
-
button('키워드삭제'){
|
3421
|
-
on_clicked{
|
3422
|
-
m = Array.new
|
3423
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3424
|
-
if @data['키워드설정']['키워드'][n][0] == true
|
3425
|
-
m << n
|
3426
|
-
end
|
3427
|
-
end
|
3428
|
-
|
3429
|
-
m.reverse.each do |i|
|
3430
|
-
@data['키워드설정']['키워드'].delete_at(i)
|
3431
|
-
end
|
3432
|
-
@data['키워드설정']['키워드'].delete(nil)
|
3433
|
-
}
|
3434
|
-
}
|
3435
|
-
@data['키워드설정']['순서사용'] = checkbox('순서사용'){
|
3436
|
-
stretchy false
|
3437
|
-
on_toggled{ |c|
|
3438
|
-
if c.checked?
|
3439
|
-
@data['키워드설정']['랜덤사용'].checked = false
|
3440
|
-
end
|
3441
|
-
}
|
3442
|
-
}
|
3443
|
-
@data['키워드설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3444
|
-
stretchy false
|
3445
|
-
on_toggled{ |c|
|
3446
|
-
if c.checked?
|
3447
|
-
@data['키워드설정']['순서사용'].checked = false
|
3448
|
-
end
|
3449
|
-
}
|
3450
|
-
}
|
3451
|
-
}
|
3452
|
-
table{
|
3453
|
-
checkbox_column('선택'){
|
3454
|
-
editable true
|
3455
|
-
}
|
3456
|
-
text_column('키워드'){
|
3457
|
-
|
3458
|
-
}
|
3473
|
+
end
|
3474
|
+
end
|
3459
3475
|
|
3460
|
-
cell_rows @data['키워드설정']['키워드']
|
3461
3476
|
}
|
3462
|
-
|
3463
|
-
}
|
3464
|
-
vertical_separator{
|
3465
|
-
stretchy false
|
3466
3477
|
}
|
3467
|
-
vertical_box{
|
3468
|
-
horizontal_box{
|
3469
|
-
stretchy false
|
3470
|
-
button('제목불러오기'){
|
3471
|
-
on_clicked{
|
3472
|
-
file = open_file
|
3473
|
-
if file != nil
|
3474
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3475
|
-
file_data.split("\n").each do |title|
|
3476
|
-
if title.split(" ").join('').length < 2
|
3477
|
-
|
3478
|
-
else
|
3479
|
-
@data['제목설정']['제목'] << [false, title]
|
3480
|
-
@data['제목설정']['제목'] << [false, title]
|
3481
|
-
@data['제목설정']['제목'].pop
|
3482
|
-
end
|
3483
|
-
end
|
3484
|
-
end
|
3485
|
-
}
|
3486
|
-
}
|
3487
3478
|
|
3479
|
+
}
|
3480
|
+
horizontal_box{
|
3481
|
+
stretchy false
|
3482
|
+
grid{
|
3483
|
+
button('전체선택'){
|
3484
|
+
top 1
|
3485
|
+
left 1
|
3486
|
+
on_clicked{
|
3487
|
+
for n in 0..@data['키워드설정']['키워드'].length-1
|
3488
|
+
@data['키워드설정']['키워드'][n][0] = true
|
3489
|
+
@data['키워드설정']['키워드'] << []
|
3490
|
+
@data['키워드설정']['키워드'].pop
|
3491
|
+
end
|
3488
3492
|
}
|
3489
|
-
|
3490
|
-
|
3491
|
-
|
3492
|
-
|
3493
|
-
|
3494
|
-
|
3495
|
-
|
3496
|
-
|
3497
|
-
|
3498
|
-
|
3499
|
-
}
|
3500
|
-
button('제목삭제'){
|
3501
|
-
on_clicked{
|
3502
|
-
m = Array.new
|
3503
|
-
for n in 0..@data['제목설정']['제목'].length-1
|
3504
|
-
if @data['제목설정']['제목'][n][0] == true
|
3505
|
-
m << n
|
3506
|
-
end
|
3507
|
-
end
|
3508
|
-
|
3509
|
-
m.reverse.each do |i|
|
3510
|
-
@data['제목설정']['제목'].delete_at(i)
|
3511
|
-
end
|
3512
|
-
@data['제목설정']['제목'].delete(nil)
|
3513
|
-
}
|
3514
|
-
}
|
3515
|
-
@data['제목설정']['순서사용'] = checkbox('순서사용'){
|
3516
|
-
stretchy false
|
3517
|
-
on_toggled{ |c|
|
3518
|
-
if c.checked?
|
3519
|
-
@data['제목설정']['랜덤사용'].checked = false
|
3520
|
-
end
|
3521
|
-
}
|
3522
|
-
}
|
3523
|
-
@data['제목설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3524
|
-
stretchy false
|
3525
|
-
on_toggled{ |c|
|
3526
|
-
if c.checked?
|
3527
|
-
@data['제목설정']['순서사용'].checked = false
|
3528
|
-
end
|
3529
|
-
}
|
3530
|
-
}
|
3493
|
+
}
|
3494
|
+
button('선택해제'){
|
3495
|
+
top 1
|
3496
|
+
left 2
|
3497
|
+
on_clicked{
|
3498
|
+
for n in 0..@data['키워드설정']['키워드'].length-1
|
3499
|
+
@data['키워드설정']['키워드'][n][0] = false
|
3500
|
+
@data['키워드설정']['키워드'] << []
|
3501
|
+
@data['키워드설정']['키워드'].pop
|
3502
|
+
end
|
3531
3503
|
}
|
3532
|
-
|
3533
|
-
|
3534
|
-
|
3535
|
-
|
3536
|
-
|
3537
|
-
|
3538
|
-
|
3504
|
+
}
|
3505
|
+
button('삭제하기'){
|
3506
|
+
top 1
|
3507
|
+
left 3
|
3508
|
+
on_clicked{
|
3509
|
+
m = Array.new
|
3510
|
+
for n in 0..@data['키워드설정']['키워드'].length-1
|
3511
|
+
if @data['키워드설정']['키워드'][n][0] == true
|
3512
|
+
m << n
|
3513
|
+
end
|
3514
|
+
end
|
3539
3515
|
|
3540
|
-
|
3516
|
+
m.reverse.each do |i|
|
3517
|
+
@data['키워드설정']['키워드'].delete_at(i)
|
3518
|
+
end
|
3519
|
+
@data['키워드설정']['키워드'].delete(nil)
|
3541
3520
|
}
|
3542
|
-
|
3543
3521
|
}
|
3544
|
-
|
3522
|
+
}
|
3523
|
+
|
3524
|
+
@data['키워드설정']['순서사용'] = checkbox('순서사용'){
|
3545
3525
|
stretchy false
|
3526
|
+
on_toggled{ |c|
|
3527
|
+
if c.checked?
|
3528
|
+
@data['키워드설정']['랜덤사용'].checked = false
|
3529
|
+
end
|
3530
|
+
}
|
3546
3531
|
}
|
3547
|
-
|
3548
|
-
|
3549
|
-
|
3550
|
-
|
3551
|
-
|
3552
|
-
|
3553
|
-
if file != nil
|
3554
|
-
file_name = file.split("\\")[-1]
|
3555
|
-
file_data = File.open(file,'r', :encoding => 'utf-8').read()
|
3556
|
-
if file_data.split("\n").length < 2
|
3557
|
-
file_data = file_data + "\n"
|
3558
|
-
end
|
3559
|
-
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3560
|
-
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3561
|
-
@data['내용설정']['내용'].pop
|
3562
|
-
end
|
3563
|
-
}
|
3564
|
-
}
|
3565
|
-
|
3532
|
+
@data['키워드설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3533
|
+
stretchy false
|
3534
|
+
on_toggled{ |c|
|
3535
|
+
if c.checked?
|
3536
|
+
@data['키워드설정']['순서사용'].checked = false
|
3537
|
+
end
|
3566
3538
|
}
|
3567
|
-
|
3568
|
-
|
3569
|
-
|
3570
|
-
|
3571
|
-
|
3572
|
-
|
3573
|
-
|
3574
|
-
|
3575
|
-
|
3576
|
-
|
3577
|
-
|
3578
|
-
|
3579
|
-
|
3580
|
-
|
3581
|
-
|
3582
|
-
|
3583
|
-
|
3584
|
-
|
3585
|
-
|
3586
|
-
|
3587
|
-
|
3588
|
-
|
3589
|
-
|
3590
|
-
|
3591
|
-
|
3592
|
-
|
3593
|
-
|
3594
|
-
|
3595
|
-
|
3596
|
-
|
3597
|
-
|
3598
|
-
|
3599
|
-
|
3600
|
-
|
3601
|
-
|
3602
|
-
|
3603
|
-
on_toggled{ |c|
|
3604
|
-
if c.checked?
|
3605
|
-
@data['내용설정']['순서사용'].checked = false
|
3606
|
-
end
|
3607
|
-
}
|
3608
|
-
}
|
3609
|
-
}
|
3610
|
-
table{
|
3611
|
-
checkbox_column('선택'){
|
3612
|
-
editable true
|
3613
|
-
}
|
3614
|
-
text_column('내용파일'){
|
3615
|
-
|
3616
|
-
}
|
3539
|
+
}
|
3540
|
+
}
|
3541
|
+
vertical_separator{
|
3542
|
+
stretchy false
|
3543
|
+
}
|
3544
|
+
horizontal_box{
|
3545
|
+
stretchy false
|
3546
|
+
grid{
|
3547
|
+
@data['포스트설정']['gpt키워드'] = checkbox('GPT 키워드 기반 글 생성'){
|
3548
|
+
top 1
|
3549
|
+
left 0
|
3550
|
+
#enabled false # 기본적으로 비활성화
|
3551
|
+
on_toggled {
|
3552
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
3553
|
+
@data['포스트설정']['gpt상단'].enabled = true # '내용투명' 활성화
|
3554
|
+
@data['포스트설정']['gpt하단'].enabled = true # '내용투명' 활성화
|
3555
|
+
else
|
3556
|
+
@data['포스트설정']['gpt상단'].checked = false # 체크 해제
|
3557
|
+
@data['포스트설정']['gpt상단'].enabled = false # 비활성화
|
3558
|
+
@data['포스트설정']['gpt하단'].checked = false # 체크 해제
|
3559
|
+
@data['포스트설정']['gpt하단'].enabled = false # 비활성화
|
3560
|
+
end
|
3561
|
+
}
|
3562
|
+
|
3563
|
+
}
|
3564
|
+
|
3565
|
+
@data['포스트설정']['gpt상단'] = checkbox('원고 위에 넣기'){
|
3566
|
+
top 1
|
3567
|
+
left 1
|
3568
|
+
enabled false # 기본적으로 비활성화
|
3569
|
+
on_toggled{
|
3570
|
+
if @data['포스트설정']['gpt상단'].checked?
|
3571
|
+
@data['포스트설정']['gpt하단'].checked = false
|
3572
|
+
end
|
3573
|
+
}
|
3574
|
+
}
|
3617
3575
|
|
3618
|
-
|
3576
|
+
@data['포스트설정']['gpt하단'] = checkbox('원고 아래 넣기'){
|
3577
|
+
top 1
|
3578
|
+
left 2
|
3579
|
+
enabled false # 기본적으로 비활성화
|
3580
|
+
on_toggled{
|
3581
|
+
if @data['포스트설정']['gpt하단'].checked?
|
3582
|
+
@data['포스트설정']['gpt상단'].checked = false
|
3583
|
+
end
|
3619
3584
|
}
|
3585
|
+
}
|
3586
|
+
} }
|
3587
|
+
horizontal_box{
|
3588
|
+
stretchy false
|
3589
|
+
grid{
|
3590
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3591
|
+
} } }
|
3592
|
+
|
3593
|
+
|
3594
|
+
table{
|
3595
|
+
checkbox_column('선택'){
|
3596
|
+
editable true
|
3597
|
+
}
|
3598
|
+
text_column('키워드'){
|
3620
3599
|
|
3621
|
-
horizontal_box{
|
3622
|
-
stretchy false
|
3623
|
-
@data['이미지설정']['폴더경로2'] = entry{
|
3624
|
-
stretchy false
|
3625
|
-
text "내용폴더경로 ex)C:\\내용\\폴더1"
|
3626
|
-
}
|
3627
|
-
button('폴더째로불러오기'){
|
3628
|
-
stretchy false
|
3629
|
-
on_clicked{
|
3630
|
-
path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3631
|
-
Dir.entries(@data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')).each do |file|
|
3632
|
-
if file == '.' or file == '..'
|
3633
|
-
|
3634
|
-
else
|
3635
|
-
file_data = File.open(path+'/'+file,'r', :encoding => 'utf-8').read()
|
3636
|
-
@data['내용설정']['내용'] << [false, file, file_data]
|
3637
|
-
end
|
3638
|
-
end
|
3639
|
-
@data['내용설정']['내용'] << []
|
3640
|
-
@data['내용설정']['내용'].pop
|
3641
|
-
}
|
3642
|
-
}
|
3643
|
-
}
|
3644
3600
|
}
|
3601
|
+
|
3602
|
+
cell_rows @data['키워드설정']['키워드']
|
3645
3603
|
}
|
3604
|
+
|
3605
|
+
|
3606
|
+
|
3607
|
+
}
|
3608
|
+
vertical_separator{
|
3609
|
+
stretchy false
|
3646
3610
|
}
|
3647
|
-
|
3611
|
+
vertical_box{
|
3648
3612
|
horizontal_box{
|
3649
|
-
|
3650
|
-
|
3651
|
-
|
3652
|
-
|
3653
|
-
|
3654
|
-
|
3655
|
-
|
3656
|
-
if
|
3657
|
-
file_name = file.split("\\")[-1]
|
3658
|
-
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3659
|
-
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3660
|
-
@data['이미지설정']['이미지'].pop
|
3661
|
-
end
|
3662
|
-
}
|
3663
|
-
}
|
3664
|
-
}
|
3665
|
-
horizontal_box{
|
3666
|
-
stretchy false
|
3667
|
-
button('전체선택'){
|
3668
|
-
on_clicked{
|
3669
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3670
|
-
@data['이미지설정']['이미지'][n][0] = true
|
3671
|
-
@data['이미지설정']['이미지'] << []
|
3672
|
-
@data['이미지설정']['이미지'].pop
|
3673
|
-
end
|
3674
|
-
}
|
3675
|
-
}
|
3676
|
-
button('이미지삭제'){
|
3677
|
-
on_clicked{
|
3678
|
-
m = Array.new
|
3679
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3680
|
-
if @data['이미지설정']['이미지'][n][0] == true
|
3681
|
-
m << n
|
3682
|
-
end
|
3683
|
-
end
|
3684
|
-
|
3685
|
-
m.reverse.each do |i|
|
3686
|
-
@data['이미지설정']['이미지'].delete_at(i)
|
3687
|
-
end
|
3613
|
+
stretchy false
|
3614
|
+
button('제목불러오기'){
|
3615
|
+
on_clicked{
|
3616
|
+
file = open_file
|
3617
|
+
if file != nil
|
3618
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3619
|
+
file_data.split("\n").each do |title|
|
3620
|
+
if title.split(" ").join('').length < 2
|
3688
3621
|
|
3689
|
-
|
3690
|
-
|
3691
|
-
|
3692
|
-
|
3693
|
-
stretchy false
|
3694
|
-
on_toggled{ |c|
|
3695
|
-
if c.checked?
|
3696
|
-
@data['이미지설정']['랜덤사용'].checked = false
|
3697
|
-
end
|
3698
|
-
}
|
3699
|
-
}
|
3700
|
-
@data['이미지설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3701
|
-
stretchy false
|
3702
|
-
on_toggled{ |c|
|
3703
|
-
if c.checked?
|
3704
|
-
@data['이미지설정']['순서사용'].checked = false
|
3622
|
+
else
|
3623
|
+
@data['제목설정']['제목'] << [false, title]
|
3624
|
+
@data['제목설정']['제목'] << [false, title]
|
3625
|
+
@data['제목설정']['제목'].pop
|
3705
3626
|
end
|
3706
|
-
|
3707
|
-
|
3627
|
+
end
|
3628
|
+
end
|
3708
3629
|
}
|
3709
|
-
|
3710
|
-
checkbox_column('선택'){
|
3711
|
-
editable true
|
3712
|
-
}
|
3713
|
-
text_column('이미지파일'){
|
3714
|
-
|
3715
|
-
}
|
3630
|
+
}
|
3716
3631
|
|
3717
|
-
|
3718
|
-
|
3719
|
-
|
3720
|
-
|
3721
|
-
|
3722
|
-
|
3723
|
-
|
3724
|
-
|
3725
|
-
|
3726
|
-
|
3727
|
-
|
3728
|
-
|
3729
|
-
|
3730
|
-
if file == '.' or file == '..'
|
3731
|
-
|
3732
|
-
else
|
3733
|
-
@data['이미지설정']['이미지'] << [false, file, path+"\\"+file.force_encoding('utf-8')]
|
3734
|
-
end
|
3735
|
-
end
|
3736
|
-
@data['이미지설정']['이미지'] << []
|
3737
|
-
@data['이미지설정']['이미지'].pop
|
3738
|
-
}
|
3739
|
-
}
|
3632
|
+
}
|
3633
|
+
horizontal_box{
|
3634
|
+
stretchy false
|
3635
|
+
grid{
|
3636
|
+
button('전체선택'){
|
3637
|
+
top 1
|
3638
|
+
left 1
|
3639
|
+
on_clicked{
|
3640
|
+
for n in 0..@data['제목설정']['제목'].length-1
|
3641
|
+
@data['제목설정']['제목'][n][0] = true
|
3642
|
+
@data['제목설정']['제목'] << []
|
3643
|
+
@data['제목설정']['제목'].pop
|
3644
|
+
end
|
3740
3645
|
}
|
3741
|
-
|
3742
3646
|
}
|
3743
|
-
|
3744
|
-
|
3647
|
+
button('선택해제'){
|
3648
|
+
top 1
|
3649
|
+
left 2
|
3650
|
+
on_clicked{
|
3651
|
+
for n in 0..@data['제목설정']['제목'].length-1
|
3652
|
+
@data['제목설정']['제목'][n][0] = false
|
3653
|
+
@data['제목설정']['제목'] << []
|
3654
|
+
@data['제목설정']['제목'].pop
|
3655
|
+
end
|
3656
|
+
}
|
3745
3657
|
}
|
3658
|
+
button('삭제하기'){
|
3659
|
+
top 1
|
3660
|
+
left 3
|
3661
|
+
on_clicked{
|
3662
|
+
m = Array.new
|
3663
|
+
for n in 0..@data['제목설정']['제목'].length-1
|
3664
|
+
if @data['제목설정']['제목'][n][0] == true
|
3665
|
+
m << n
|
3666
|
+
end
|
3667
|
+
end
|
3746
3668
|
|
3747
|
-
|
3748
|
-
|
3749
|
-
|
3750
|
-
@data['
|
3751
|
-
on_toggled{
|
3752
|
-
if @data['image_type'][0].checked?
|
3753
|
-
@data['image_type'][1].checked = false
|
3754
|
-
@data['image_type'][2].checked = false
|
3755
|
-
end
|
3756
|
-
}
|
3757
|
-
}
|
3758
|
-
@data['image_type'][1] = checkbox('색상 사진 사용'){
|
3759
|
-
on_toggled{
|
3760
|
-
if @data['image_type'][1].checked?
|
3761
|
-
@data['image_type'][0].checked = false
|
3762
|
-
@data['image_type'][2].checked = false
|
3763
|
-
end
|
3764
|
-
}
|
3765
|
-
}
|
3766
|
-
@data['image_type'][2] = checkbox('자동 다운로드 사진 사용'){
|
3767
|
-
on_toggled{
|
3768
|
-
if @data['image_type'][2].checked?
|
3769
|
-
@data['image_type'][1].checked = false
|
3770
|
-
@data['image_type'][0].checked = false
|
3771
|
-
end
|
3772
|
-
}
|
3773
|
-
}
|
3669
|
+
m.reverse.each do |i|
|
3670
|
+
@data['제목설정']['제목'].delete_at(i)
|
3671
|
+
end
|
3672
|
+
@data['제목설정']['제목'].delete(nil)
|
3774
3673
|
}
|
3775
|
-
|
3776
|
-
|
3777
|
-
|
3778
|
-
|
3779
|
-
|
3780
|
-
|
3781
|
-
|
3782
|
-
|
3783
|
-
top 0
|
3784
|
-
left 1
|
3785
|
-
on_clicked{
|
3786
|
-
file = open_file
|
3787
|
-
if file != nil
|
3788
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3789
|
-
@data['이미지설정']['이미지글자1'] = file_data.to_s.split("\n")
|
3790
|
-
end
|
3791
|
-
}
|
3792
|
-
}
|
3793
|
-
@data['이미지설정']['이미지글자1크기1'] = entry{
|
3794
|
-
top 0
|
3795
|
-
left 2
|
3796
|
-
text 'ex) 33'
|
3797
|
-
}
|
3798
|
-
label('pt'){
|
3799
|
-
top 0
|
3800
|
-
left 3
|
3801
|
-
}
|
3802
|
-
@data['이미지설정']['이미지글자1크기2'] = entry{
|
3803
|
-
top 0
|
3804
|
-
left 4
|
3805
|
-
text 'ex) 55'
|
3806
|
-
}
|
3807
|
-
label('pt'){
|
3808
|
-
top 0
|
3809
|
-
left 5
|
3810
|
-
}
|
3811
|
-
@data['이미지설정']['글자테두리'] = checkbox('글자 테두리'){
|
3812
|
-
top 0
|
3813
|
-
left 6
|
3814
|
-
}
|
3815
|
-
|
3816
|
-
@data['이미지설정']['글자삽입2'] = checkbox('글자 삽입2'){
|
3817
|
-
top 1
|
3818
|
-
left 0
|
3819
|
-
}
|
3820
|
-
button('가져오기'){
|
3821
|
-
top 1
|
3822
|
-
left 1
|
3823
|
-
on_clicked{
|
3824
|
-
file = open_file
|
3825
|
-
if file != nil
|
3826
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3827
|
-
@data['이미지설정']['이미지글자2'] = file_data.split("\n")
|
3828
|
-
end
|
3829
|
-
}
|
3830
|
-
}
|
3831
|
-
@data['이미지설정']['이미지글자2크기1'] = entry{
|
3832
|
-
top 1
|
3833
|
-
left 2
|
3834
|
-
text 'ex) 33'
|
3835
|
-
}
|
3836
|
-
label('pt'){
|
3837
|
-
top 1
|
3838
|
-
left 3
|
3839
|
-
}
|
3840
|
-
@data['이미지설정']['이미지글자2크기2'] = entry{
|
3841
|
-
top 1
|
3842
|
-
left 4
|
3843
|
-
text 'ex) 55'
|
3844
|
-
}
|
3845
|
-
label('pt'){
|
3846
|
-
top 1
|
3847
|
-
left 5
|
3848
|
-
}
|
3849
|
-
@data['이미지설정']['글자그림자'] = checkbox('글자 그림자'){
|
3850
|
-
top 1
|
3851
|
-
left 6
|
3852
|
-
}
|
3853
|
-
@data['이미지설정']['필터사용'] = checkbox('필터사용(색상 사진 적용불가)'){
|
3854
|
-
top 2
|
3855
|
-
left 0
|
3856
|
-
}
|
3857
|
-
@data['이미지설정']['테두리사용'] = checkbox('테두리 사용'){
|
3858
|
-
top 3
|
3859
|
-
left 0
|
3860
|
-
}
|
3861
|
-
@data['이미지설정']['테두리크기1'] = entry{
|
3862
|
-
top 3
|
3863
|
-
left 2
|
3864
|
-
text 'ex) 1'
|
3865
|
-
}
|
3866
|
-
label('pt'){
|
3867
|
-
top 3
|
3868
|
-
left 3
|
3869
|
-
}
|
3870
|
-
@data['이미지설정']['테두리크기2'] = entry{
|
3871
|
-
top 3
|
3872
|
-
left 4
|
3873
|
-
text 'ex) 33'
|
3874
|
-
}
|
3875
|
-
label('pt'){
|
3876
|
-
top 3
|
3877
|
-
left 5
|
3878
|
-
}
|
3879
|
-
|
3674
|
+
}
|
3675
|
+
}
|
3676
|
+
@data['제목설정']['순서사용'] = checkbox('순서사용'){
|
3677
|
+
stretchy false
|
3678
|
+
on_toggled{ |c|
|
3679
|
+
if c.checked?
|
3680
|
+
@data['제목설정']['랜덤사용'].checked = false
|
3681
|
+
end
|
3880
3682
|
}
|
3881
|
-
|
3882
|
-
|
3883
|
-
|
3884
|
-
|
3885
|
-
|
3886
|
-
|
3887
|
-
|
3888
|
-
@data['image_size'][2].checked = false
|
3889
|
-
@data['image_size'][3].checked = false
|
3890
|
-
@data['image_size'][4].checked = false
|
3891
|
-
end
|
3892
|
-
}
|
3893
|
-
}
|
3894
|
-
@data['image_size'][1] = checkbox('740 px'){
|
3895
|
-
on_toggled{
|
3896
|
-
if @data['image_size'][1].checked?
|
3897
|
-
@data['image_size'][0].checked = false
|
3898
|
-
@data['image_size'][2].checked = false
|
3899
|
-
@data['image_size'][3].checked = false
|
3900
|
-
@data['image_size'][4].checked = false
|
3901
|
-
end
|
3902
|
-
}
|
3903
|
-
}
|
3904
|
-
@data['image_size'][2] = checkbox('650 px'){
|
3905
|
-
on_toggled{
|
3906
|
-
if @data['image_size'][2].checked?
|
3907
|
-
@data['image_size'][1].checked = false
|
3908
|
-
@data['image_size'][0].checked = false
|
3909
|
-
@data['image_size'][3].checked = false
|
3910
|
-
@data['image_size'][4].checked = false
|
3911
|
-
end
|
3912
|
-
}
|
3913
|
-
}
|
3914
|
-
@data['image_size'][3] = checkbox('550 px'){
|
3915
|
-
on_toggled{
|
3916
|
-
if @data['image_size'][3].checked?
|
3917
|
-
@data['image_size'][1].checked = false
|
3918
|
-
@data['image_size'][2].checked = false
|
3919
|
-
@data['image_size'][0].checked = false
|
3920
|
-
@data['image_size'][4].checked = false
|
3921
|
-
end
|
3922
|
-
}
|
3923
|
-
}
|
3924
|
-
@data['image_size'][4] = checkbox('480 px'){
|
3925
|
-
on_toggled{
|
3926
|
-
if @data['image_size'][4].checked?
|
3927
|
-
@data['image_size'][1].checked = false
|
3928
|
-
@data['image_size'][2].checked = false
|
3929
|
-
@data['image_size'][3].checked = false
|
3930
|
-
@data['image_size'][0].checked = false
|
3931
|
-
end
|
3932
|
-
}
|
3933
|
-
}
|
3683
|
+
}
|
3684
|
+
@data['제목설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3685
|
+
stretchy false
|
3686
|
+
on_toggled{ |c|
|
3687
|
+
if c.checked?
|
3688
|
+
@data['제목설정']['순서사용'].checked = false
|
3689
|
+
end
|
3934
3690
|
}
|
3935
3691
|
}
|
3936
3692
|
}
|
3937
|
-
|
3938
|
-
|
3939
|
-
|
3693
|
+
vertical_separator{
|
3694
|
+
stretchy false
|
3695
|
+
}
|
3940
3696
|
horizontal_box{
|
3941
|
-
|
3942
|
-
|
3943
|
-
|
3944
|
-
|
3945
|
-
|
3946
|
-
|
3947
|
-
|
3948
|
-
|
3949
|
-
|
3950
|
-
|
3951
|
-
|
3952
|
-
|
3953
|
-
text '특정단어'
|
3954
|
-
}
|
3955
|
-
|
3956
|
-
# @data['포스트설정']['제목단어변경'] = checkbox('제목에 특정 단어를 변경'){
|
3957
|
-
# top 1
|
3958
|
-
# left 0
|
3959
|
-
# }
|
3960
|
-
# @data['포스트설정']['제목단어변경파일불러오기'] = button('설정 파일 불러오기'){
|
3961
|
-
# top 1
|
3962
|
-
# left 1
|
3963
|
-
# on_clicked{
|
3964
|
-
# file = open_file
|
3965
|
-
# if file != nil
|
3966
|
-
# file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3967
|
-
# file_data.split("\n").each do |i|
|
3968
|
-
# i2 = i.split('>')
|
3969
|
-
# text_key = i2[0].to_s
|
3970
|
-
# text_val = i2[1].to_s.split(',')
|
3971
|
-
# @data['포스트설정']['제목특정단어변경데이터'][text_key] = text_val
|
3972
|
-
# end
|
3973
|
-
# end
|
3974
|
-
# }
|
3975
|
-
# }
|
3976
|
-
@data['포스트설정']['제목에키워드삽입'] = checkbox('제목에 키워드 삽입'){
|
3977
|
-
top 2
|
3978
|
-
left 0
|
3979
|
-
}
|
3980
|
-
@data['포스트설정']['제목에키워드삽입숫자1'] = entry(){
|
3981
|
-
top 2
|
3982
|
-
left 1
|
3983
|
-
text '최소수량'
|
3984
|
-
}
|
3985
|
-
label('~'){
|
3986
|
-
top 2
|
3987
|
-
left 2
|
3988
|
-
}
|
3989
|
-
@data['포스트설정']['제목에키워드삽입숫자2'] = entry(){
|
3990
|
-
top 2
|
3991
|
-
left 3
|
3992
|
-
text '최대수량'
|
3993
|
-
}
|
3994
|
-
label('ㄴ'){
|
3995
|
-
top 3
|
3996
|
-
left 2
|
3997
|
-
}
|
3998
|
-
@data['포스트설정']['제목앞'] = checkbox('제목에 키워드 삽입 제목 앞'){
|
3999
|
-
top 3
|
4000
|
-
left 3
|
4001
|
-
on_toggled{
|
4002
|
-
if @data['포스트설정']['제목앞'].checked? == true
|
4003
|
-
if @data['포스트설정']['제목뒤'].checked?
|
4004
|
-
@data['포스트설정']['제목뒤'].checked = false
|
4005
|
-
end
|
4006
|
-
end
|
4007
|
-
}
|
4008
|
-
}
|
4009
|
-
label('ㄴ'){
|
4010
|
-
top 4
|
4011
|
-
left 2
|
4012
|
-
}
|
4013
|
-
@data['포스트설정']['제목뒤'] = checkbox('제목에 키워드 삽입 제목 뒤'){
|
4014
|
-
top 4
|
4015
|
-
left 3
|
4016
|
-
on_toggled{
|
4017
|
-
if @data['포스트설정']['제목뒤'].checked? == true
|
4018
|
-
if @data['포스트설정']['제목앞'].checked?
|
4019
|
-
@data['포스트설정']['제목앞'].checked = false
|
4020
|
-
end
|
4021
|
-
end
|
4022
|
-
}
|
4023
|
-
}
|
4024
|
-
@data['포스트설정']['제목내용설정'] = checkbox('내용의 첫 문장을 제목으로 설정'){
|
4025
|
-
top 4
|
4026
|
-
left 0
|
4027
|
-
}
|
4028
|
-
|
4029
|
-
@data['포스트설정']['특수문자'] = checkbox('제목에 키워드 삽입 시 특수문자 삽입'){
|
4030
|
-
top 5
|
4031
|
-
left 0
|
4032
|
-
}
|
4033
|
-
@data['포스트설정']['제목을랜덤'] = checkbox('제목을 랜덤 단어 조합으로 자동 입력'){
|
4034
|
-
top 6
|
4035
|
-
left 0
|
4036
|
-
}
|
4037
|
-
@data['포스트설정']['내용키워드삽입'] = checkbox('내용 키워드 삽입'){
|
4038
|
-
top 7
|
4039
|
-
left 0
|
4040
|
-
}
|
4041
|
-
@data['포스트설정']['키워드삽입시작숫자'] = entry(){
|
4042
|
-
top 7
|
4043
|
-
left 1
|
4044
|
-
text '최소수량'
|
4045
|
-
}
|
4046
|
-
label('~'){
|
4047
|
-
top 7
|
4048
|
-
left 2
|
4049
|
-
}
|
4050
|
-
@data['포스트설정']['키워드삽입끝숫자'] = entry(){
|
4051
|
-
top 7
|
4052
|
-
left 3
|
4053
|
-
text '최대수량'
|
4054
|
-
}
|
4055
|
-
@data['포스트설정']['키워드삽입'] = checkbox('내용 키워드 삽입시 링크 삽입'){
|
4056
|
-
top 8
|
4057
|
-
left 0
|
4058
|
-
}
|
4059
|
-
@data['포스트설정']['키워드삽입시링크'] = entry(){
|
4060
|
-
top 8
|
4061
|
-
left 1
|
4062
|
-
text 'URL'
|
4063
|
-
}
|
4064
|
-
@data['포스트설정']['내용을자동생성'] = checkbox('내용을 키워드 기반으로 자동 생성해서 포스팅'){
|
4065
|
-
top 9
|
4066
|
-
left 0
|
4067
|
-
on_toggled{
|
4068
|
-
if @data['포스트설정']['내용을자동생성'].checked?
|
4069
|
-
if @data['포스트설정']['내용과자동생성'].checked?
|
4070
|
-
@data['포스트설정']['내용과자동생성'].checked = false
|
4071
|
-
end
|
4072
|
-
end
|
4073
|
-
}
|
4074
|
-
}
|
4075
|
-
|
4076
|
-
@data['포스트설정']['gpt'] = checkbox('내용을 키워드 기반의 GPT로 생성해서 포스팅'){
|
4077
|
-
top 10
|
4078
|
-
left 0
|
4079
|
-
}
|
4080
|
-
|
4081
|
-
@data['포스트설정']['api_key'] = entry(){
|
4082
|
-
top 10
|
4083
|
-
left 1
|
4084
|
-
text 'api key'
|
4085
|
-
}
|
4086
|
-
|
4087
|
-
@data['포스트설정']['gpt상단'] = checkbox('원고내용 위에 넣기'){
|
4088
|
-
top 10
|
4089
|
-
left 3
|
4090
|
-
}
|
4091
|
-
|
4092
|
-
@data['포스트설정']['gpt하단'] = checkbox('원고내용 아래에 넣기'){
|
4093
|
-
top 11
|
4094
|
-
left 3
|
4095
|
-
}
|
3697
|
+
stretchy false
|
3698
|
+
grid{
|
3699
|
+
@data['포스트설정']['gpt제목'] = checkbox('제목을 이용해 GPT로 비슷한 제목 생성'){
|
3700
|
+
|
3701
|
+
|
3702
|
+
}}}
|
3703
|
+
horizontal_box{
|
3704
|
+
stretchy false
|
3705
|
+
grid{
|
3706
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3707
|
+
} } }
|
3708
|
+
|
4096
3709
|
|
4097
|
-
|
4098
|
-
|
4099
|
-
|
4100
|
-
|
4101
|
-
|
4102
|
-
if @data['포스트설정']['내용과자동생성'].checked?
|
4103
|
-
if @data['포스트설정']['내용을자동생성'].checked?
|
4104
|
-
@data['포스트설정']['내용을자동생성'].checked = false
|
4105
|
-
end
|
4106
|
-
end
|
4107
|
-
}
|
4108
|
-
}
|
4109
|
-
@data['포스트설정']['내용투명'] = checkbox('키워드 기반 자동 생성글 안보이게 처리'){
|
4110
|
-
top 11+ aa1
|
4111
|
-
left 0
|
4112
|
-
}
|
4113
|
-
@data['포스트설정']['내용자동변경'] = checkbox('내용에 단어들을 자동 변경'){
|
4114
|
-
top 12+ aa1
|
4115
|
-
left 0
|
4116
|
-
}
|
4117
|
-
button('설정 파일 불러오기'){
|
4118
|
-
top 12+ aa1
|
4119
|
-
left 1
|
4120
|
-
on_clicked{
|
4121
|
-
file = open_file
|
4122
|
-
if file != nil
|
4123
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4124
|
-
file_data.split("\n").each do |i|
|
4125
|
-
key = i.split('>')[0]
|
4126
|
-
v = i.split('>')[1].to_s.split(',')
|
4127
|
-
@data['포스트설정']['내용자동변경값'][key] = v
|
4128
|
-
end
|
4129
|
-
end
|
4130
|
-
}
|
4131
|
-
}
|
4132
|
-
@data['포스트설정']['제목에도적용'] = checkbox('제목에도 적용'){
|
4133
|
-
top 12+ aa1
|
4134
|
-
left 3
|
4135
|
-
}
|
3710
|
+
table{
|
3711
|
+
checkbox_column('선택'){
|
3712
|
+
editable true
|
3713
|
+
}
|
3714
|
+
text_column('제목'){
|
4136
3715
|
|
4137
|
-
|
4138
|
-
top 13+ aa1
|
4139
|
-
left 0
|
4140
|
-
}
|
4141
|
-
@data['포스트설정']['내용사진자동삽입시작숫자'] = entry(){
|
4142
|
-
top 13+ aa1
|
4143
|
-
left 1
|
4144
|
-
text '최소수량'
|
4145
|
-
}
|
4146
|
-
label('~'){
|
4147
|
-
top 13+ aa1
|
4148
|
-
left 2
|
4149
|
-
}
|
4150
|
-
@data['포스트설정']['내용사진자동삽입끝숫자'] = entry(){
|
4151
|
-
top 13+ aa1
|
4152
|
-
left 3
|
4153
|
-
text '최대수량'
|
4154
|
-
}
|
3716
|
+
}
|
4155
3717
|
|
4156
|
-
|
4157
|
-
|
4158
|
-
|
4159
|
-
}
|
3718
|
+
cell_rows @data['제목설정']['제목']
|
3719
|
+
}
|
3720
|
+
|
4160
3721
|
|
4161
|
-
|
4162
|
-
|
4163
|
-
|
4164
|
-
|
4165
|
-
|
3722
|
+
}
|
3723
|
+
vertical_separator{
|
3724
|
+
stretchy false
|
3725
|
+
}
|
3726
|
+
vertical_box{
|
3727
|
+
horizontal_box{
|
3728
|
+
stretchy false
|
3729
|
+
button('내용불러오기'){
|
3730
|
+
on_clicked{
|
3731
|
+
file = open_file
|
3732
|
+
if file != nil
|
3733
|
+
file_name = file.split("\\")[-1]
|
3734
|
+
file_data = File.open(file,'r', :encoding => 'utf-8').read()
|
3735
|
+
if file_data.split("\n").length < 2
|
3736
|
+
file_data = file_data + "\n"
|
3737
|
+
end
|
3738
|
+
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3739
|
+
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3740
|
+
@data['내용설정']['내용'].pop
|
3741
|
+
end
|
4166
3742
|
}
|
4167
3743
|
}
|
4168
3744
|
|
4169
|
-
|
4170
|
-
|
4171
|
-
|
4172
|
-
|
4173
|
-
|
3745
|
+
}
|
3746
|
+
horizontal_box{
|
3747
|
+
stretchy false
|
4174
3748
|
grid{
|
4175
|
-
|
4176
|
-
|
4177
|
-
|
3749
|
+
button('전체선택'){
|
3750
|
+
top 1
|
3751
|
+
left 1
|
3752
|
+
on_clicked{
|
3753
|
+
for n in 0..@data['내용설정']['내용'].length-1
|
3754
|
+
@data['내용설정']['내용'][n][0] = true
|
3755
|
+
@data['내용설정']['내용'] << []
|
3756
|
+
@data['내용설정']['내용'].pop
|
3757
|
+
end
|
4178
3758
|
}
|
4179
|
-
|
4180
|
-
|
4181
|
-
|
4182
|
-
|
3759
|
+
}
|
3760
|
+
button('선택해제'){
|
3761
|
+
top 1
|
3762
|
+
left 2
|
3763
|
+
on_clicked{
|
3764
|
+
for n in 0..@data['내용설정']['내용'].length-1
|
3765
|
+
@data['내용설정']['내용'][n][0] = false
|
3766
|
+
@data['내용설정']['내용'] << []
|
3767
|
+
@data['내용설정']['내용'].pop
|
3768
|
+
end
|
4183
3769
|
}
|
3770
|
+
}
|
3771
|
+
button('삭제하기'){
|
3772
|
+
top 1
|
3773
|
+
left 3
|
3774
|
+
on_clicked{
|
3775
|
+
m = Array.new
|
3776
|
+
for n in 0..@data['내용설정']['내용'].length-1
|
3777
|
+
if @data['내용설정']['내용'][n][0] == true
|
3778
|
+
m << n
|
3779
|
+
end
|
3780
|
+
end
|
4184
3781
|
|
4185
|
-
|
4186
|
-
|
4187
|
-
|
4188
|
-
|
4189
|
-
@data['포스트설정']['제외하고등록값'] = entry{
|
4190
|
-
top 1
|
4191
|
-
left 1
|
4192
|
-
text '특정단어'
|
3782
|
+
m.reverse.each do |i|
|
3783
|
+
@data['내용설정']['내용'].delete_at(i)
|
3784
|
+
end
|
3785
|
+
@data['내용설정']['내용'].delete(nil)
|
4193
3786
|
}
|
4194
|
-
|
4195
|
-
|
4196
|
-
|
4197
|
-
|
3787
|
+
}
|
3788
|
+
}
|
3789
|
+
@data['내용설정']['순서사용'] = checkbox('순서사용'){
|
3790
|
+
stretchy false
|
3791
|
+
on_toggled{ |c|
|
3792
|
+
if c.checked?
|
3793
|
+
@data['내용설정']['랜덤사용'].checked = false
|
3794
|
+
end
|
4198
3795
|
}
|
4199
|
-
|
4200
|
-
|
4201
|
-
|
4202
|
-
|
3796
|
+
}
|
3797
|
+
@data['내용설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3798
|
+
stretchy false
|
3799
|
+
on_toggled{ |c|
|
3800
|
+
if c.checked?
|
3801
|
+
@data['내용설정']['순서사용'].checked = false
|
3802
|
+
end
|
4203
3803
|
}
|
3804
|
+
}
|
3805
|
+
}
|
3806
|
+
vertical_separator{
|
3807
|
+
stretchy false
|
3808
|
+
}
|
3809
|
+
horizontal_box{
|
3810
|
+
stretchy false
|
3811
|
+
grid{
|
3812
|
+
@data['포스트설정']['gpt내용'] = checkbox('내용파일을 이용해 GPT로 글 변형'){
|
3813
|
+
|
3814
|
+
|
3815
|
+
}}}
|
3816
|
+
horizontal_box{
|
3817
|
+
stretchy false
|
3818
|
+
grid{
|
3819
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3820
|
+
} } }
|
3821
|
+
|
3822
|
+
table{
|
3823
|
+
checkbox_column('선택'){
|
3824
|
+
editable true
|
3825
|
+
}
|
3826
|
+
text_column('내용파일'){
|
4204
3827
|
|
4205
|
-
|
4206
|
-
top 3
|
4207
|
-
left 0
|
4208
|
-
}
|
4209
|
-
@data['포스트설정']['단어링크적용url'] = entry{
|
4210
|
-
top 3
|
4211
|
-
left 1
|
4212
|
-
text 'URL'
|
4213
|
-
}
|
3828
|
+
}
|
4214
3829
|
|
4215
|
-
|
4216
|
-
|
4217
|
-
left 0
|
4218
|
-
}
|
4219
|
-
@data['포스트설정']['단어사진으로변경단어'] = entry{
|
4220
|
-
top 4
|
4221
|
-
left 1
|
4222
|
-
text '특정단어1,@특정단어2 (앞에@붙이면 링크적용)'
|
4223
|
-
}
|
4224
|
-
label('ㄴ적용하려는 링크 URL 입력'){
|
4225
|
-
top 5
|
4226
|
-
left 0
|
4227
|
-
}
|
3830
|
+
cell_rows @data['내용설정']['내용']
|
3831
|
+
}
|
4228
3832
|
|
4229
|
-
|
4230
|
-
|
4231
|
-
|
4232
|
-
|
4233
|
-
|
3833
|
+
horizontal_box{
|
3834
|
+
stretchy false
|
3835
|
+
@data['이미지설정']['폴더경로2'] = entry{
|
3836
|
+
stretchy false
|
3837
|
+
text "내용폴더경로 ex)C:\\내용\\폴더1"
|
3838
|
+
}
|
3839
|
+
button('폴더째로 불러오기'){
|
3840
|
+
|
3841
|
+
on_clicked{
|
3842
|
+
path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3843
|
+
Dir.entries(@data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')).each do |file|
|
3844
|
+
if file == '.' or file == '..'
|
4234
3845
|
|
4235
|
-
|
4236
|
-
|
4237
|
-
|
4238
|
-
}
|
4239
|
-
@data['포스트설정']['스티커로변경단어'] = entry{
|
4240
|
-
top 6
|
4241
|
-
left 1
|
4242
|
-
text '특정단어'
|
4243
|
-
}
|
4244
|
-
@data['포스트설정']['영상으로변경'] = checkbox('내용 특정단어를 영상으로 변경'){
|
4245
|
-
top 7
|
4246
|
-
left 0
|
4247
|
-
}
|
4248
|
-
@data['포스트설정']['영상으로변경단어'] = entry{
|
4249
|
-
top 7
|
4250
|
-
left 1
|
4251
|
-
text '특정단어'
|
4252
|
-
}
|
4253
|
-
label('ㄴ동영상만 있는 폴더 지정하기'){
|
4254
|
-
top 8
|
4255
|
-
left 0
|
4256
|
-
}
|
4257
|
-
@data['포스트설정']['동영상폴더위치'] = entry{
|
4258
|
-
top 8
|
4259
|
-
left 1
|
4260
|
-
text "영상폴더위치 ex) C:\\영상\\폴더3"
|
4261
|
-
}
|
4262
|
-
@data['포스트설정']['지도로변경'] = checkbox('내용 특정단어를 지도로 변경'){
|
4263
|
-
top 9
|
4264
|
-
left 0
|
4265
|
-
}
|
4266
|
-
@data['포스트설정']['지도로변경단어'] = entry{
|
4267
|
-
top 9
|
4268
|
-
left 1
|
4269
|
-
text '특정단어'
|
4270
|
-
}
|
4271
|
-
label('ㄴ지도 삽입경우 적용 주소 입력'){
|
4272
|
-
top 10
|
4273
|
-
left 0
|
4274
|
-
}
|
4275
|
-
@data['포스트설정']['지도주소'] = entry{
|
4276
|
-
top 10
|
4277
|
-
left 1
|
4278
|
-
text 'ex) OO시 OO구 OO동 270-68'
|
4279
|
-
}
|
4280
|
-
@data['포스트설정']['인용구변경'] = checkbox('내용 특정단어를 인용구로 적용'){
|
4281
|
-
top 11
|
4282
|
-
left 0
|
4283
|
-
}
|
4284
|
-
@data['포스트설정']['인용구변경단어'] = entry{
|
4285
|
-
top 11
|
4286
|
-
left 1
|
4287
|
-
text '특정단어'
|
4288
|
-
}
|
4289
|
-
label('ㄴ인용구 사용시 들어갈 문구'){
|
4290
|
-
top 12
|
4291
|
-
left 0
|
4292
|
-
}
|
4293
|
-
button('설정 파일 불러오기'){
|
4294
|
-
top 12
|
4295
|
-
left 1
|
4296
|
-
on_clicked{
|
4297
|
-
file = open_file
|
4298
|
-
if file != nil
|
4299
|
-
file_data = File.open(file, 'r').read
|
4300
|
-
@data['포스트설정']['인용구'] = file_data.split(',')
|
3846
|
+
else
|
3847
|
+
file_data = File.open(path+'/'+file,'r', :encoding => 'utf-8').read()
|
3848
|
+
@data['내용설정']['내용'] << [false, file, file_data]
|
4301
3849
|
end
|
4302
|
-
|
4303
|
-
|
4304
|
-
|
4305
|
-
top 13
|
4306
|
-
left 0
|
4307
|
-
}
|
4308
|
-
@data['포스트설정']['내템플릿변경단어'] = entry{
|
4309
|
-
top 13
|
4310
|
-
left 1
|
4311
|
-
text '탬플릿으로 전활시킬 특정단어'
|
3850
|
+
end
|
3851
|
+
@data['내용설정']['내용'] << []
|
3852
|
+
@data['내용설정']['내용'].pop
|
4312
3853
|
}
|
4313
3854
|
}
|
4314
3855
|
}
|
4315
3856
|
}
|
4316
|
-
|
4317
|
-
|
4318
|
-
|
4319
|
-
|
4320
|
-
|
4321
|
-
|
4322
|
-
|
4323
|
-
|
4324
|
-
|
4325
|
-
|
4326
|
-
|
4327
|
-
|
3857
|
+
}
|
3858
|
+
}
|
3859
|
+
tab_item('이미지설정'){
|
3860
|
+
horizontal_box{
|
3861
|
+
vertical_box{
|
3862
|
+
stretchy false
|
3863
|
+
horizontal_box{
|
3864
|
+
stretchy false
|
3865
|
+
button('이미지불러오기'){
|
3866
|
+
on_clicked{
|
3867
|
+
file = open_file
|
3868
|
+
if file != nil
|
3869
|
+
file_name = file.split("\\")[-1]
|
3870
|
+
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3871
|
+
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3872
|
+
@data['이미지설정']['이미지'].pop
|
3873
|
+
end
|
4328
3874
|
}
|
4329
|
-
|
4330
|
-
|
4331
|
-
|
3875
|
+
}
|
3876
|
+
}
|
3877
|
+
horizontal_box{
|
3878
|
+
stretchy false
|
3879
|
+
grid{
|
3880
|
+
button('전체선택'){
|
3881
|
+
top 1
|
3882
|
+
left 1
|
3883
|
+
on_clicked{
|
3884
|
+
for n in 0..@data['이미지설정']['이미지'].length-1
|
3885
|
+
@data['이미지설정']['이미지'][n][0] = true
|
3886
|
+
@data['이미지설정']['이미지'] << []
|
3887
|
+
@data['이미지설정']['이미지'].pop
|
3888
|
+
end
|
4332
3889
|
}
|
4333
|
-
|
4334
|
-
|
4335
|
-
|
4336
|
-
|
4337
|
-
|
4338
|
-
|
4339
|
-
|
4340
|
-
|
4341
|
-
|
3890
|
+
}
|
3891
|
+
button('선택해제'){
|
3892
|
+
top 1
|
3893
|
+
left 2
|
3894
|
+
on_clicked{
|
3895
|
+
for n in 0..@data['이미지설정']['이미지'].length-1
|
3896
|
+
@data['이미지설정']['이미지'][n][0] = false
|
3897
|
+
@data['이미지설정']['이미지'] << []
|
3898
|
+
@data['이미지설정']['이미지'].pop
|
3899
|
+
end
|
4342
3900
|
}
|
4343
|
-
|
4344
|
-
|
4345
|
-
|
4346
|
-
|
4347
|
-
|
4348
|
-
|
4349
|
-
|
3901
|
+
}
|
3902
|
+
button('삭제하기'){
|
3903
|
+
top 1
|
3904
|
+
left 3
|
3905
|
+
on_clicked{
|
3906
|
+
m = Array.new
|
3907
|
+
for n in 0..@data['이미지설정']['이미지'].length-1
|
3908
|
+
if @data['이미지설정']['이미지'][n][0] == true
|
3909
|
+
m << n
|
4350
3910
|
end
|
4351
|
-
|
3911
|
+
end
|
3912
|
+
|
3913
|
+
m.reverse.each do |i|
|
3914
|
+
@data['이미지설정']['이미지'].delete_at(i)
|
3915
|
+
end
|
3916
|
+
|
3917
|
+
@data['이미지설정']['이미지'].delete(nil)
|
4352
3918
|
}
|
4353
|
-
|
4354
|
-
|
4355
|
-
|
4356
|
-
|
4357
|
-
|
4358
|
-
|
4359
|
-
|
4360
|
-
|
4361
|
-
}
|
3919
|
+
}
|
3920
|
+
}
|
3921
|
+
@data['이미지설정']['순서사용'] = checkbox('순서사용'){
|
3922
|
+
stretchy false
|
3923
|
+
on_toggled{ |c|
|
3924
|
+
if c.checked?
|
3925
|
+
@data['이미지설정']['랜덤사용'].checked = false
|
3926
|
+
end
|
4362
3927
|
}
|
4363
|
-
|
4364
|
-
|
4365
|
-
|
3928
|
+
}
|
3929
|
+
@data['이미지설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3930
|
+
stretchy false
|
3931
|
+
on_toggled{ |c|
|
3932
|
+
if c.checked?
|
3933
|
+
@data['이미지설정']['순서사용'].checked = false
|
3934
|
+
end
|
4366
3935
|
}
|
4367
|
-
|
4368
|
-
|
4369
|
-
|
4370
|
-
|
3936
|
+
}
|
3937
|
+
}
|
3938
|
+
table{
|
3939
|
+
checkbox_column('선택'){
|
3940
|
+
editable true
|
3941
|
+
}
|
3942
|
+
text_column('이미지파일'){
|
3943
|
+
|
3944
|
+
}
|
3945
|
+
|
3946
|
+
cell_rows @data['이미지설정']['이미지']
|
3947
|
+
}
|
3948
|
+
horizontal_box{
|
3949
|
+
stretchy false
|
3950
|
+
@data['이미지설정']['폴더경로'] = entry{
|
3951
|
+
stretchy false
|
3952
|
+
text "사진폴더경로 ex)C:\\사진\\폴더2"
|
3953
|
+
}
|
3954
|
+
button('폴더째로 불러오기'){
|
3955
|
+
|
3956
|
+
on_clicked{
|
3957
|
+
path = @data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3958
|
+
Dir.entries(@data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8')).each do |file|
|
3959
|
+
if file == '.' or file == '..'
|
3960
|
+
|
3961
|
+
else
|
3962
|
+
@data['이미지설정']['이미지'] << [false, file, path+"\\"+file.force_encoding('utf-8')]
|
3963
|
+
end
|
3964
|
+
end
|
3965
|
+
@data['이미지설정']['이미지'] << []
|
3966
|
+
@data['이미지설정']['이미지'].pop
|
4371
3967
|
}
|
4372
|
-
|
4373
|
-
|
4374
|
-
|
3968
|
+
}
|
3969
|
+
}
|
3970
|
+
|
3971
|
+
}
|
3972
|
+
vertical_separator{
|
3973
|
+
stretchy false
|
3974
|
+
}
|
3975
|
+
|
3976
|
+
vertical_box{
|
3977
|
+
horizontal_box{
|
3978
|
+
stretchy false
|
3979
|
+
@data['image_type'][0] = checkbox('저장 사진 사용'){
|
3980
|
+
on_toggled{
|
3981
|
+
if @data['image_type'][0].checked?
|
3982
|
+
@data['image_type'][1].checked = false
|
3983
|
+
@data['image_type'][2].checked = false
|
3984
|
+
end
|
4375
3985
|
}
|
4376
|
-
|
4377
|
-
|
4378
|
-
|
4379
|
-
|
3986
|
+
}
|
3987
|
+
@data['image_type'][1] = checkbox('색상 사진 사용'){
|
3988
|
+
on_toggled{
|
3989
|
+
if @data['image_type'][1].checked?
|
3990
|
+
@data['image_type'][0].checked = false
|
3991
|
+
@data['image_type'][2].checked = false
|
3992
|
+
end
|
4380
3993
|
}
|
4381
|
-
|
4382
|
-
|
4383
|
-
|
4384
|
-
|
4385
|
-
|
4386
|
-
|
4387
|
-
|
4388
|
-
@data['포스트설정']['막글'] = file_data
|
4389
|
-
end
|
4390
|
-
}
|
3994
|
+
}
|
3995
|
+
@data['image_type'][2] = checkbox('자동 다운로드 사진 사용'){
|
3996
|
+
on_toggled{
|
3997
|
+
if @data['image_type'][2].checked?
|
3998
|
+
@data['image_type'][1].checked = false
|
3999
|
+
@data['image_type'][0].checked = false
|
4000
|
+
end
|
4391
4001
|
}
|
4392
|
-
|
4393
|
-
|
4394
|
-
|
4002
|
+
}
|
4003
|
+
}
|
4004
|
+
|
4005
|
+
grid{
|
4006
|
+
stretchy false
|
4007
|
+
@data['이미지설정']['글자삽입1'] = checkbox('글자 삽입1'){
|
4008
|
+
top 0
|
4009
|
+
left 0
|
4010
|
+
}
|
4011
|
+
button('가져오기'){
|
4012
|
+
top 0
|
4013
|
+
left 1
|
4014
|
+
on_clicked{
|
4015
|
+
file = open_file
|
4016
|
+
if file != nil
|
4017
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4018
|
+
@data['이미지설정']['이미지글자1'] = file_data.to_s.split("\n")
|
4019
|
+
end
|
4395
4020
|
}
|
4396
|
-
|
4397
|
-
|
4398
|
-
|
4021
|
+
}
|
4022
|
+
@data['이미지설정']['이미지글자1크기1'] = entry{
|
4023
|
+
top 0
|
4024
|
+
left 2
|
4025
|
+
text 'ex) 33'
|
4026
|
+
}
|
4027
|
+
label('pt'){
|
4028
|
+
top 0
|
4029
|
+
left 3
|
4030
|
+
}
|
4031
|
+
@data['이미지설정']['이미지글자1크기2'] = entry{
|
4032
|
+
top 0
|
4033
|
+
left 4
|
4034
|
+
text 'ex) 55'
|
4035
|
+
}
|
4036
|
+
label('pt'){
|
4037
|
+
top 0
|
4038
|
+
left 5
|
4039
|
+
}
|
4040
|
+
@data['이미지설정']['글자테두리'] = checkbox('글자 테두리'){
|
4041
|
+
top 0
|
4042
|
+
left 6
|
4043
|
+
}
|
4044
|
+
|
4045
|
+
@data['이미지설정']['글자삽입2'] = checkbox('글자 삽입2'){
|
4046
|
+
top 1
|
4047
|
+
left 0
|
4048
|
+
}
|
4049
|
+
button('가져오기'){
|
4050
|
+
top 1
|
4051
|
+
left 1
|
4052
|
+
on_clicked{
|
4053
|
+
file = open_file
|
4054
|
+
if file != nil
|
4055
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4056
|
+
@data['이미지설정']['이미지글자2'] = file_data.split("\n")
|
4057
|
+
end
|
4399
4058
|
}
|
4059
|
+
}
|
4060
|
+
@data['이미지설정']['이미지글자2크기1'] = entry{
|
4061
|
+
top 1
|
4062
|
+
left 2
|
4063
|
+
text 'ex) 33'
|
4064
|
+
}
|
4065
|
+
label('pt'){
|
4066
|
+
top 1
|
4067
|
+
left 3
|
4068
|
+
}
|
4069
|
+
@data['이미지설정']['이미지글자2크기2'] = entry{
|
4070
|
+
top 1
|
4071
|
+
left 4
|
4072
|
+
text 'ex) 55'
|
4073
|
+
}
|
4074
|
+
label('pt'){
|
4075
|
+
top 1
|
4076
|
+
left 5
|
4077
|
+
}
|
4078
|
+
@data['이미지설정']['글자그림자'] = checkbox('글자 그림자'){
|
4079
|
+
top 1
|
4080
|
+
left 6
|
4081
|
+
}
|
4082
|
+
@data['이미지설정']['필터사용'] = checkbox('필터사용(색상 사진 적용불가)'){
|
4083
|
+
top 2
|
4084
|
+
left 0
|
4085
|
+
}
|
4086
|
+
@data['이미지설정']['테두리사용'] = checkbox('테두리 사용'){
|
4087
|
+
top 3
|
4088
|
+
left 0
|
4089
|
+
}
|
4090
|
+
@data['이미지설정']['테두리크기1'] = entry{
|
4091
|
+
top 3
|
4092
|
+
left 2
|
4093
|
+
text 'ex) 1'
|
4094
|
+
}
|
4095
|
+
label('pt'){
|
4096
|
+
top 3
|
4097
|
+
left 3
|
4098
|
+
}
|
4099
|
+
@data['이미지설정']['테두리크기2'] = entry{
|
4100
|
+
top 3
|
4101
|
+
left 4
|
4102
|
+
text 'ex) 33'
|
4103
|
+
}
|
4104
|
+
label('pt'){
|
4105
|
+
top 3
|
4106
|
+
left 5
|
4107
|
+
}
|
4400
4108
|
|
4401
|
-
|
4402
|
-
|
4403
|
-
|
4109
|
+
}
|
4110
|
+
|
4111
|
+
horizontal_box{
|
4112
|
+
stretchy false
|
4113
|
+
@data['image_size'][0] = checkbox('랜덤 px'){
|
4114
|
+
on_toggled{
|
4115
|
+
if @data['image_size'][0].checked?
|
4116
|
+
@data['image_size'][1].checked = false
|
4117
|
+
@data['image_size'][2].checked = false
|
4118
|
+
@data['image_size'][3].checked = false
|
4119
|
+
@data['image_size'][4].checked = false
|
4120
|
+
end
|
4404
4121
|
}
|
4405
|
-
|
4406
|
-
|
4407
|
-
|
4408
|
-
|
4122
|
+
}
|
4123
|
+
@data['image_size'][1] = checkbox('740 px'){
|
4124
|
+
on_toggled{
|
4125
|
+
if @data['image_size'][1].checked?
|
4126
|
+
@data['image_size'][0].checked = false
|
4127
|
+
@data['image_size'][2].checked = false
|
4128
|
+
@data['image_size'][3].checked = false
|
4129
|
+
@data['image_size'][4].checked = false
|
4130
|
+
end
|
4409
4131
|
}
|
4410
|
-
|
4411
|
-
|
4412
|
-
|
4132
|
+
}
|
4133
|
+
@data['image_size'][2] = checkbox('650 px'){
|
4134
|
+
on_toggled{
|
4135
|
+
if @data['image_size'][2].checked?
|
4136
|
+
@data['image_size'][1].checked = false
|
4137
|
+
@data['image_size'][0].checked = false
|
4138
|
+
@data['image_size'][3].checked = false
|
4139
|
+
@data['image_size'][4].checked = false
|
4140
|
+
end
|
4413
4141
|
}
|
4414
|
-
|
4415
|
-
|
4416
|
-
|
4417
|
-
|
4142
|
+
}
|
4143
|
+
@data['image_size'][3] = checkbox('550 px'){
|
4144
|
+
on_toggled{
|
4145
|
+
if @data['image_size'][3].checked?
|
4146
|
+
@data['image_size'][1].checked = false
|
4147
|
+
@data['image_size'][2].checked = false
|
4148
|
+
@data['image_size'][0].checked = false
|
4149
|
+
@data['image_size'][4].checked = false
|
4150
|
+
end
|
4418
4151
|
}
|
4419
|
-
|
4420
|
-
|
4421
|
-
|
4422
|
-
|
4152
|
+
}
|
4153
|
+
@data['image_size'][4] = checkbox('480 px'){
|
4154
|
+
on_toggled{
|
4155
|
+
if @data['image_size'][4].checked?
|
4156
|
+
@data['image_size'][1].checked = false
|
4157
|
+
@data['image_size'][2].checked = false
|
4158
|
+
@data['image_size'][3].checked = false
|
4159
|
+
@data['image_size'][0].checked = false
|
4160
|
+
end
|
4423
4161
|
}
|
4162
|
+
}
|
4163
|
+
}
|
4164
|
+
}
|
4165
|
+
}
|
4166
|
+
}
|
4424
4167
|
|
4425
|
-
|
4426
|
-
|
4427
|
-
|
4428
|
-
|
4168
|
+
tab_item('포스트설정1'){
|
4169
|
+
horizontal_box{
|
4170
|
+
vertical_box{
|
4171
|
+
stretchy false
|
4172
|
+
grid{
|
4173
|
+
stretchy false
|
4174
|
+
@data['포스트설정']['제목키워드변경'] = checkbox('제목에 특정 단어를 내용에 사용할 키워드로 변경'){
|
4175
|
+
top 0
|
4176
|
+
left 0
|
4429
4177
|
|
4430
|
-
|
4178
|
+
}
|
4179
|
+
@data['포스트설정']['제목키워드변경단어'] = entry{
|
4180
|
+
top 0
|
4181
|
+
left 1
|
4182
|
+
text '특정단어'
|
4183
|
+
}
|
4431
4184
|
|
4432
|
-
|
4433
|
-
|
4434
|
-
|
4435
|
-
|
4436
|
-
|
4437
|
-
|
4438
|
-
|
4439
|
-
|
4440
|
-
|
4441
|
-
|
4442
|
-
|
4443
|
-
|
4185
|
+
# @data['포스트설정']['제목단어변경'] = checkbox('제목에 특정 단어를 변경'){
|
4186
|
+
# top 1
|
4187
|
+
# left 0
|
4188
|
+
# }
|
4189
|
+
# @data['포스트설정']['제목단어변경파일불러오기'] = button('설정 파일 불러오기'){
|
4190
|
+
# top 1
|
4191
|
+
# left 1
|
4192
|
+
# on_clicked{
|
4193
|
+
# file = open_file
|
4194
|
+
# if file != nil
|
4195
|
+
# file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4196
|
+
# file_data.split("\n").each do |i|
|
4197
|
+
# i2 = i.split('>')
|
4198
|
+
# text_key = i2[0].to_s
|
4199
|
+
# text_val = i2[1].to_s.split(',')
|
4200
|
+
# @data['포스트설정']['제목특정단어변경데이터'][text_key] = text_val
|
4201
|
+
# end
|
4202
|
+
# end
|
4203
|
+
# }
|
4204
|
+
# }
|
4205
|
+
@data['포스트설정']['제목에키워드삽입'] = checkbox('제목에 키워드 삽입'){
|
4206
|
+
top 2
|
4207
|
+
left 0
|
4208
|
+
#enabled false # 기본적으로 비활성화
|
4209
|
+
on_toggled {
|
4210
|
+
if @data['포스트설정']['제목에키워드삽입'].checked?
|
4211
|
+
@data['포스트설정']['제목앞'].enabled = true # '내용투명' 활성화
|
4212
|
+
@data['포스트설정']['제목뒤'].enabled = true # '내용투명' 활성화
|
4213
|
+
else
|
4214
|
+
@data['포스트설정']['제목앞'].checked = false # 체크 해제
|
4215
|
+
@data['포스트설정']['제목앞'].enabled = false # 비활성화
|
4216
|
+
@data['포스트설정']['제목뒤'].checked = false # 체크 해제
|
4217
|
+
@data['포스트설정']['제목뒤'].enabled = false # 비활성화
|
4218
|
+
end
|
4444
4219
|
}
|
4445
|
-
|
4446
|
-
|
4447
|
-
|
4448
|
-
|
4449
|
-
|
4450
|
-
|
4451
|
-
|
4452
|
-
|
4453
|
-
|
4454
|
-
|
4220
|
+
|
4221
|
+
}
|
4222
|
+
@data['포스트설정']['제목에키워드삽입숫자1'] = entry(){
|
4223
|
+
top 2
|
4224
|
+
left 1
|
4225
|
+
text '최소수량'
|
4226
|
+
}
|
4227
|
+
label('~'){
|
4228
|
+
top 2
|
4229
|
+
left 2
|
4230
|
+
}
|
4231
|
+
@data['포스트설정']['제목에키워드삽입숫자2'] = entry(){
|
4232
|
+
top 2
|
4233
|
+
left 3
|
4234
|
+
text '최대수량'
|
4235
|
+
}
|
4236
|
+
label('ㄴ'){
|
4237
|
+
top 3
|
4238
|
+
left 2
|
4239
|
+
}
|
4240
|
+
@data['포스트설정']['제목앞'] = checkbox('제목에 키워드 삽입 제목 앞'){
|
4241
|
+
top 3
|
4242
|
+
left 3
|
4243
|
+
enabled false # 기본적으로 비활성화
|
4244
|
+
on_toggled{
|
4245
|
+
if @data['포스트설정']['제목앞'].checked? == true
|
4246
|
+
if @data['포스트설정']['제목뒤'].checked?
|
4247
|
+
@data['포스트설정']['제목뒤'].checked = false
|
4455
4248
|
end
|
4456
|
-
|
4249
|
+
end
|
4457
4250
|
}
|
4458
|
-
|
4459
|
-
|
4460
|
-
|
4461
|
-
|
4462
|
-
|
4463
|
-
|
4464
|
-
|
4465
|
-
|
4466
|
-
|
4467
|
-
|
4251
|
+
}
|
4252
|
+
label('ㄴ'){
|
4253
|
+
top 4
|
4254
|
+
left 2
|
4255
|
+
}
|
4256
|
+
@data['포스트설정']['제목뒤'] = checkbox('제목에 키워드 삽입 제목 뒤'){
|
4257
|
+
top 4
|
4258
|
+
left 3
|
4259
|
+
enabled false # 기본적으로 비활성화
|
4260
|
+
on_toggled{
|
4261
|
+
if @data['포스트설정']['제목뒤'].checked? == true
|
4262
|
+
if @data['포스트설정']['제목앞'].checked?
|
4263
|
+
@data['포스트설정']['제목앞'].checked = false
|
4468
4264
|
end
|
4469
|
-
|
4265
|
+
end
|
4470
4266
|
}
|
4471
|
-
|
4472
|
-
|
4473
|
-
|
4474
|
-
|
4475
|
-
|
4476
|
-
|
4477
|
-
|
4478
|
-
|
4479
|
-
|
4480
|
-
|
4481
|
-
|
4267
|
+
}
|
4268
|
+
|
4269
|
+
@data['포스트설정']['특수문자'] = checkbox('제목에 키워드 삽입 시 특수문자 삽입'){
|
4270
|
+
top 4
|
4271
|
+
left 0
|
4272
|
+
}
|
4273
|
+
@data['포스트설정']['제목을랜덤'] = checkbox('제목을 랜덤 단어 조합으로 자동 입력'){
|
4274
|
+
top 5
|
4275
|
+
left 0
|
4276
|
+
on_toggled{
|
4277
|
+
if @data['포스트설정']['제목을랜덤'].checked? == true
|
4278
|
+
if @data['포스트설정']['제목내용설정'].checked?
|
4279
|
+
@data['포스트설정']['제목내용설정'].checked = false
|
4482
4280
|
end
|
4483
|
-
|
4484
|
-
}
|
4485
|
-
|
4486
|
-
|
4487
|
-
|
4488
|
-
@data['포스트설정']['댓글허용'] = checkbox('댓글허용'){
|
4489
|
-
top 12
|
4490
|
-
left 0
|
4491
|
-
}
|
4492
|
-
@data['포스트설정']['블로그,카페 공유허용'] = checkbox('블로그,카페 공유허용'){
|
4493
|
-
top 12
|
4494
|
-
left 1
|
4281
|
+
end
|
4495
4282
|
}
|
4496
|
-
|
4497
|
-
|
4498
|
-
|
4283
|
+
}
|
4284
|
+
@data['포스트설정']['제목내용설정'] = checkbox('내용의 첫 문장을 제목으로 설정'){
|
4285
|
+
top 6
|
4286
|
+
left 0
|
4287
|
+
on_toggled{
|
4288
|
+
if @data['포스트설정']['제목내용설정'].checked? == true
|
4289
|
+
if @data['포스트설정']['제목을랜덤'].checked?
|
4290
|
+
@data['포스트설정']['제목을랜덤'].checked = false
|
4291
|
+
end
|
4292
|
+
end
|
4499
4293
|
}
|
4500
|
-
|
4501
|
-
|
4502
|
-
|
4294
|
+
}
|
4295
|
+
@data['포스트설정']['내용키워드삽입'] = checkbox('내용 키워드 삽입'){
|
4296
|
+
top 7
|
4297
|
+
left 0
|
4298
|
+
on_toggled {
|
4299
|
+
if @data['포스트설정']['내용키워드삽입'].checked?
|
4300
|
+
@data['포스트설정']['키워드삽입'].enabled = true # '내용투명' 활성화
|
4301
|
+
@data['포스트설정']['키워드삽입시링크'].enabled = true # '내용투명' 활성화
|
4302
|
+
else
|
4303
|
+
@data['포스트설정']['키워드삽입'].checked = false # 체크 해제
|
4304
|
+
@data['포스트설정']['키워드삽입'].enabled = false # 비활성화
|
4305
|
+
@data['포스트설정']['키워드삽입시링크'].text = 'URL' # 기본 텍스트 설정
|
4306
|
+
@data['포스트설정']['키워드삽입시링크'].enabled = false # 비활성화
|
4307
|
+
end
|
4503
4308
|
}
|
4504
|
-
|
4505
|
-
|
4506
|
-
|
4309
|
+
}
|
4310
|
+
@data['포스트설정']['키워드삽입시작숫자'] = entry(){
|
4311
|
+
top 7
|
4312
|
+
left 1
|
4313
|
+
|
4314
|
+
text '최소수량'
|
4315
|
+
}
|
4316
|
+
label('~'){
|
4317
|
+
top 7
|
4318
|
+
left 2
|
4319
|
+
}
|
4320
|
+
@data['포스트설정']['키워드삽입끝숫자'] = entry(){
|
4321
|
+
top 7
|
4322
|
+
left 3
|
4323
|
+
text '최대수량'
|
4324
|
+
}
|
4325
|
+
@data['포스트설정']['키워드삽입'] = checkbox('내용 키워드 삽입시 링크 삽입'){
|
4326
|
+
enabled false # 기본적으로 비활성화
|
4327
|
+
top 8
|
4328
|
+
left 0
|
4329
|
+
|
4330
|
+
}
|
4331
|
+
@data['포스트설정']['키워드삽입시링크'] = entry(){
|
4332
|
+
enabled false # 기본적으로 비활성화
|
4333
|
+
top 8
|
4334
|
+
left 1
|
4335
|
+
text 'URL'
|
4336
|
+
}
|
4337
|
+
@data['포스트설정']['내용을자동생성'] = checkbox('키워드기반 생성으로만 등록(GPT 미 사용시 자체 생성)'){
|
4338
|
+
top 9
|
4339
|
+
left 0
|
4340
|
+
on_toggled{
|
4341
|
+
if @data['포스트설정']['내용을자동생성'].checked?
|
4342
|
+
@data['포스트설정']['내용과자동생성'].checked = false
|
4343
|
+
@data['포스트설정']['내용투명'].checked = false
|
4344
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false
|
4345
|
+
|
4346
|
+
end
|
4507
4347
|
}
|
4348
|
+
}
|
4508
4349
|
|
4509
|
-
|
4510
|
-
|
4511
|
-
|
4512
|
-
|
4513
|
-
|
4514
|
-
|
4515
|
-
|
4516
|
-
|
4517
|
-
|
4350
|
+
|
4351
|
+
aa1 = 2
|
4352
|
+
@data['포스트설정']['내용과자동생성'] = checkbox('내용파일+키워드기반 생성 등록(GPT 미 사용시 자체 생성)') {
|
4353
|
+
top 10 + aa1
|
4354
|
+
left 0
|
4355
|
+
on_toggled {
|
4356
|
+
if @data['포스트설정']['내용과자동생성'].checked?
|
4357
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4358
|
+
@data['포스트설정']['내용투명'].enabled = true # '내용투명' 활성화
|
4359
|
+
@data['포스트설정']['자동글 수식에 입력'].enabled = true # '내용투명' 활성화
|
4360
|
+
else
|
4361
|
+
@data['포스트설정']['내용투명'].checked = false # 체크 해제
|
4362
|
+
@data['포스트설정']['내용투명'].enabled = false # 비활성화
|
4363
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false # 체크 해제
|
4364
|
+
@data['포스트설정']['자동글 수식에 입력'].enabled = false # 비활성화
|
4365
|
+
end
|
4518
4366
|
}
|
4519
|
-
|
4520
|
-
|
4521
|
-
|
4522
|
-
|
4523
|
-
|
4524
|
-
|
4525
|
-
|
4526
|
-
|
4527
|
-
|
4367
|
+
}
|
4368
|
+
|
4369
|
+
@data['포스트설정']['내용투명'] = checkbox('키워드 기반 자동 생성글 안보이게 처리') {
|
4370
|
+
top 11 + aa1
|
4371
|
+
left 0
|
4372
|
+
enabled false # 기본적으로 비활성화
|
4373
|
+
on_toggled {
|
4374
|
+
if @data['포스트설정']['내용투명'].checked?
|
4375
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4376
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false
|
4377
|
+
end
|
4528
4378
|
}
|
4529
|
-
|
4530
|
-
|
4531
|
-
|
4532
|
-
|
4533
|
-
|
4534
|
-
|
4535
|
-
|
4536
|
-
|
4379
|
+
}
|
4380
|
+
@data['포스트설정']['내용자동변경'] = checkbox('내용에 단어들을 자동 변경'){
|
4381
|
+
top 12+ aa1
|
4382
|
+
left 0
|
4383
|
+
}
|
4384
|
+
button('설정 파일 불러오기'){
|
4385
|
+
top 12+ aa1
|
4386
|
+
left 1
|
4387
|
+
on_clicked{
|
4388
|
+
file = open_file
|
4389
|
+
if file != nil
|
4390
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4391
|
+
file_data.split("\n").each do |i|
|
4392
|
+
key = i.split('>')[0]
|
4393
|
+
v = i.split('>')[1].to_s.split(',')
|
4394
|
+
@data['포스트설정']['내용자동변경값'][key] = v
|
4537
4395
|
end
|
4538
|
-
|
4396
|
+
end
|
4539
4397
|
}
|
4540
|
-
|
4541
|
-
|
4542
|
-
|
4543
|
-
|
4544
|
-
|
4545
|
-
|
4546
|
-
|
4547
|
-
|
4548
|
-
|
4549
|
-
|
4550
|
-
|
4551
|
-
|
4398
|
+
}
|
4399
|
+
@data['포스트설정']['제목에도적용'] = checkbox('제목에도 적용'){
|
4400
|
+
top 12+ aa1
|
4401
|
+
left 3
|
4402
|
+
}
|
4403
|
+
|
4404
|
+
@data['포스트설정']['내용사진자동삽입'] = checkbox('내용 사진 자동 삽입'){
|
4405
|
+
top 13+ aa1
|
4406
|
+
left 0
|
4407
|
+
#enabled false # 기본적으로 비활성화
|
4408
|
+
on_toggled {
|
4409
|
+
if @data['포스트설정']['내용사진자동삽입'].checked?
|
4410
|
+
@data['포스트설정']['내용사진링크'].enabled = true # '내용투명' 활성화
|
4411
|
+
@data['포스트설정']['내용사진링크값'].enabled = true # '내용투명' 활성화
|
4412
|
+
else
|
4413
|
+
@data['포스트설정']['내용사진링크'].checked = false # 체크 해제
|
4414
|
+
@data['포스트설정']['내용사진링크'].enabled = false # 비활성화
|
4415
|
+
@data['포스트설정']['내용사진링크값'].text = 'URL' # 기본 텍스트 설정
|
4416
|
+
@data['포스트설정']['내용사진링크값'].enabled = false # 비활성화
|
4417
|
+
end
|
4552
4418
|
}
|
4553
|
-
|
4554
|
-
|
4555
|
-
|
4419
|
+
}
|
4420
|
+
@data['포스트설정']['내용사진자동삽입시작숫자'] = entry(){
|
4421
|
+
top 13+ aa1
|
4422
|
+
left 1
|
4423
|
+
text '최소수량'
|
4424
|
+
}
|
4425
|
+
label('~'){
|
4426
|
+
top 13+ aa1
|
4427
|
+
left 2
|
4428
|
+
}
|
4429
|
+
@data['포스트설정']['내용사진자동삽입끝숫자'] = entry(){
|
4430
|
+
top 13+ aa1
|
4431
|
+
left 3
|
4432
|
+
text '최대수량'
|
4433
|
+
}
|
4556
4434
|
|
4557
|
-
|
4558
|
-
|
4559
|
-
|
4560
|
-
|
4561
|
-
|
4562
|
-
|
4563
|
-
|
4564
|
-
|
4435
|
+
@data['포스트설정']['내용사진링크'] = checkbox('내용 사진 자동 삽입시 링크 삽입'){
|
4436
|
+
enabled false # 기본적으로 비활성화
|
4437
|
+
top 14+ aa1
|
4438
|
+
left 0
|
4439
|
+
}
|
4440
|
+
|
4441
|
+
@data['포스트설정']['내용사진링크값'] = entry(){
|
4442
|
+
enabled false # 기본적으로 비활성화
|
4443
|
+
top 14+ aa1
|
4444
|
+
left 1
|
4445
|
+
text 'URL'
|
4446
|
+
}
|
4447
|
+
|
4448
|
+
@data['포스트설정']['ChatGPT사용'] = checkbox('Chat GPT 사용하기'){
|
4449
|
+
top 15+ aa1
|
4450
|
+
left 0
|
4451
|
+
}
|
4452
|
+
|
4453
|
+
@data['포스트설정']['api_key'] = entry(){
|
4454
|
+
top 15+ aa1
|
4455
|
+
left 1
|
4456
|
+
text 'api key 입력 필수!!'
|
4457
|
+
}
|
4458
|
+
|
4459
|
+
}
|
4460
|
+
}
|
4461
|
+
|
4462
|
+
vertical_separator{
|
4463
|
+
stretchy false
|
4464
|
+
}
|
4465
|
+
|
4466
|
+
|
4467
|
+
grid{
|
4468
|
+
@data['포스트설정']['특정단어키워드로변경'] = checkbox('내용 특정단어를 키워드로 변경'){
|
4469
|
+
top 0
|
4470
|
+
left 0
|
4471
|
+
}
|
4472
|
+
@data['포스트설정']['특정단어키워드로변경값'] = entry{
|
4473
|
+
top 0
|
4474
|
+
left 1
|
4475
|
+
text '특정단어'
|
4476
|
+
}
|
4477
|
+
|
4478
|
+
@data['포스트설정']['제외하고등록'] = checkbox('내용 특정단어를 제외하고 등록'){
|
4479
|
+
top 1
|
4480
|
+
left 0
|
4481
|
+
}
|
4482
|
+
@data['포스트설정']['제외하고등록값'] = entry{
|
4483
|
+
top 1
|
4484
|
+
left 1
|
4485
|
+
text '특정단어'
|
4486
|
+
}
|
4487
|
+
|
4488
|
+
@data['포스트설정']['단어링크적용'] = checkbox('내용 특정단어를 링크적용 등록'){
|
4489
|
+
top 2
|
4490
|
+
left 0
|
4491
|
+
}
|
4492
|
+
@data['포스트설정']['단어링크적용단어'] = entry{
|
4493
|
+
top 2
|
4494
|
+
left 1
|
4495
|
+
text '특정단어'
|
4496
|
+
}
|
4497
|
+
|
4498
|
+
label('ㄴ적용하려는 링크 URL 입력'){
|
4499
|
+
top 3
|
4500
|
+
left 0
|
4501
|
+
}
|
4502
|
+
@data['포스트설정']['단어링크적용url'] = entry{
|
4503
|
+
top 3
|
4504
|
+
left 1
|
4505
|
+
text 'URL'
|
4506
|
+
}
|
4507
|
+
|
4508
|
+
@data['포스트설정']['단어사진으로변경'] = checkbox('내용 특정단어를 사진으로 변경'){
|
4509
|
+
top 4
|
4510
|
+
left 0
|
4511
|
+
}
|
4512
|
+
@data['포스트설정']['단어사진으로변경단어'] = entry{
|
4513
|
+
top 4
|
4514
|
+
left 1
|
4515
|
+
text '특정단어1,@특정단어2 (앞에@붙이면 링크적용)'
|
4516
|
+
}
|
4517
|
+
label('ㄴ적용하려는 링크 URL 입력'){
|
4518
|
+
top 5
|
4519
|
+
left 0
|
4520
|
+
}
|
4521
|
+
|
4522
|
+
@data['포스트설정']['단어사진으로변경URL'] = entry{
|
4523
|
+
top 5
|
4524
|
+
left 1
|
4525
|
+
text 'URL'
|
4526
|
+
}
|
4527
|
+
|
4528
|
+
@data['포스트설정']['스티커로변경'] = checkbox('내용 특정단어를 스티커로 변경'){
|
4529
|
+
top 6
|
4530
|
+
left 0
|
4531
|
+
}
|
4532
|
+
@data['포스트설정']['스티커로변경단어'] = entry{
|
4533
|
+
top 6
|
4534
|
+
left 1
|
4535
|
+
text '특정단어'
|
4536
|
+
}
|
4537
|
+
@data['포스트설정']['영상으로변경'] = checkbox('내용 특정단어를 영상으로 변경'){
|
4538
|
+
top 7
|
4539
|
+
left 0
|
4540
|
+
}
|
4541
|
+
@data['포스트설정']['영상으로변경단어'] = entry{
|
4542
|
+
top 7
|
4543
|
+
left 1
|
4544
|
+
text '특정단어'
|
4545
|
+
}
|
4546
|
+
label('ㄴ동영상만 있는 폴더 지정하기'){
|
4547
|
+
top 8
|
4548
|
+
left 0
|
4549
|
+
}
|
4550
|
+
@data['포스트설정']['동영상폴더위치'] = entry{
|
4551
|
+
top 8
|
4552
|
+
left 1
|
4553
|
+
text "영상폴더위치 ex) C:\\영상\\폴더3"
|
4554
|
+
}
|
4555
|
+
@data['포스트설정']['지도로변경'] = checkbox('내용 특정단어를 지도로 변경'){
|
4556
|
+
top 9
|
4557
|
+
left 0
|
4558
|
+
}
|
4559
|
+
@data['포스트설정']['지도로변경단어'] = entry{
|
4560
|
+
top 9
|
4561
|
+
left 1
|
4562
|
+
text '특정단어'
|
4563
|
+
}
|
4564
|
+
label('ㄴ지도 삽입경우 적용 주소 입력'){
|
4565
|
+
top 10
|
4566
|
+
left 0
|
4567
|
+
}
|
4568
|
+
@data['포스트설정']['지도주소'] = entry{
|
4569
|
+
top 10
|
4570
|
+
left 1
|
4571
|
+
text 'ex) OO시 OO구 OO동 270-68'
|
4572
|
+
}
|
4573
|
+
@data['포스트설정']['인용구변경'] = checkbox('내용 특정단어를 인용구로 적용'){
|
4574
|
+
top 11
|
4575
|
+
left 0
|
4576
|
+
}
|
4577
|
+
@data['포스트설정']['인용구변경단어'] = entry{
|
4578
|
+
top 11
|
4579
|
+
left 1
|
4580
|
+
text '특정단어'
|
4581
|
+
}
|
4582
|
+
label('ㄴ인용구 사용시 들어갈 문구'){
|
4583
|
+
top 12
|
4584
|
+
left 0
|
4585
|
+
}
|
4586
|
+
button('설정 파일 불러오기'){
|
4587
|
+
top 12
|
4588
|
+
left 1
|
4589
|
+
on_clicked{
|
4590
|
+
file = open_file
|
4591
|
+
if file != nil
|
4592
|
+
file_data = File.open(file, 'r').read
|
4593
|
+
@data['포스트설정']['인용구'] = file_data.split(',')
|
4594
|
+
end
|
4595
|
+
}
|
4596
|
+
}
|
4597
|
+
@data['포스트설정']['내템플릿사용하기'] = checkbox('내 템플릿 사용하기'){
|
4598
|
+
top 13
|
4599
|
+
left 0
|
4600
|
+
}
|
4601
|
+
@data['포스트설정']['내템플릿변경단어'] = entry{
|
4602
|
+
top 13
|
4603
|
+
left 1
|
4604
|
+
text '탬플릿으로 전활시킬 특정단어'
|
4605
|
+
}
|
4606
|
+
}
|
4607
|
+
}
|
4608
|
+
}
|
4609
|
+
tab_item('포스트설정2'){
|
4610
|
+
vertical_box{
|
4611
|
+
grid{
|
4612
|
+
stretchy false
|
4613
|
+
|
4614
|
+
@data['포스트설정']['특정단어굵기'] = checkbox('내용 특정단어 굵기 변경(적용 단어 앞 뒤에 @@삽입)'){
|
4615
|
+
top 0
|
4616
|
+
left 0
|
4617
|
+
}
|
4618
|
+
@data['포스트설정']['단어색상변경'] = checkbox('내용 특정단어 색상 변경(적용 단어 앞 뒤에 %%삽입)'){
|
4619
|
+
top 1
|
4620
|
+
left 0
|
4621
|
+
}
|
4622
|
+
@data['포스트설정']['단어크기변경'] = checkbox('내용 특정단어 크기 변경(적용 단어 앞 &30& 뒤에 &&삽입) ex) &&19&& 카페 &&&&'){
|
4623
|
+
top 2
|
4624
|
+
left 0
|
4625
|
+
}
|
4626
|
+
@data['포스트설정']['중앙정렬'] = checkbox('내용 글 중앙 정렬'){
|
4627
|
+
top 3
|
4628
|
+
left 0
|
4629
|
+
on_toggled{
|
4630
|
+
if @data['포스트설정']['중앙정렬'].checked?
|
4631
|
+
@data['포스트설정']['좌측정렬'].checked = false
|
4632
|
+
@data['포스트설정']['우측정렬'].checked = false
|
4633
|
+
end
|
4634
|
+
}
|
4635
|
+
}
|
4636
|
+
@data['포스트설정']['좌측정렬'] = checkbox('내용 글 좌측 정렬'){
|
4637
|
+
top 4
|
4638
|
+
left 0
|
4639
|
+
on_toggled{
|
4640
|
+
if @data['포스트설정']['좌측정렬'].checked?
|
4641
|
+
@data['포스트설정']['중앙정렬'].checked = false
|
4642
|
+
@data['포스트설정']['우측정렬'].checked = false
|
4643
|
+
end
|
4644
|
+
}
|
4645
|
+
}
|
4646
|
+
@data['포스트설정']['우측정렬'] = checkbox('내용 글 우측 정렬'){
|
4647
|
+
top 5
|
4648
|
+
left 0
|
4649
|
+
on_toggled{
|
4650
|
+
if @data['포스트설정']['우측정렬'].checked?
|
4651
|
+
@data['포스트설정']['좌측정렬'].checked = false
|
4652
|
+
@data['포스트설정']['중앙정렬'].checked = false
|
4653
|
+
end
|
4654
|
+
}
|
4655
|
+
}
|
4656
|
+
@data['포스트설정']['막글삽입'] = checkbox('내용 하단에 막글 삽입'){
|
4657
|
+
top 6
|
4658
|
+
left 0
|
4659
|
+
#enabled false # 기본적으로 비활성화
|
4660
|
+
on_toggled {
|
4661
|
+
if @data['포스트설정']['막글삽입'].checked?
|
4662
|
+
@data['포스트설정']['막글투명'].enabled = true # '내용투명' 활성화
|
4663
|
+
@data['포스트설정']['막글그대로'].enabled = true # '내용투명' 활성화
|
4664
|
+
@data['포스트설정']['막글 수식에 입력'].enabled = true # '내용투명' 활성화
|
4665
|
+
|
4666
|
+
else
|
4667
|
+
@data['포스트설정']['막글투명'].checked = false # 체크 해제
|
4668
|
+
@data['포스트설정']['막글투명'].enabled = false # 비활성화
|
4669
|
+
@data['포스트설정']['막글그대로'].checked = false # 체크 해제
|
4670
|
+
@data['포스트설정']['막글그대로'].enabled = false # 비활성화
|
4671
|
+
@data['포스트설정']['막글 수식에 입력'].checked = false # 체크 해제
|
4672
|
+
@data['포스트설정']['막글 수식에 입력'].enabled = false # 비활성화
|
4673
|
+
end
|
4674
|
+
}
|
4675
|
+
}
|
4676
|
+
@data['포스트설정']['막글삽입시작숫자'] = entry{
|
4677
|
+
top 6
|
4678
|
+
left 1
|
4679
|
+
text '최소수량'
|
4680
|
+
}
|
4681
|
+
label('~'){
|
4682
|
+
top 6
|
4683
|
+
left 2
|
4684
|
+
}
|
4685
|
+
@data['포스트설정']['막글삽입끝숫자'] = entry{
|
4686
|
+
top 6
|
4687
|
+
left 3
|
4688
|
+
text '최대수량'
|
4689
|
+
}
|
4690
|
+
button('막글 파일 불러오기'){
|
4691
|
+
top 6
|
4692
|
+
left 4
|
4693
|
+
on_clicked{
|
4694
|
+
file = open_file
|
4695
|
+
if file != nil
|
4696
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4697
|
+
@data['포스트설정']['막글'] = file_data
|
4698
|
+
end
|
4699
|
+
}
|
4700
|
+
}
|
4701
|
+
@data['포스트설정']['막글투명'] = checkbox('막글 안보이게 처리'){
|
4702
|
+
top 7
|
4703
|
+
left 0
|
4704
|
+
enabled false # 기본적으로 비활성화
|
4705
|
+
}
|
4706
|
+
@data['포스트설정']['막글그대로'] = checkbox('막글 그대로 입력'){
|
4707
|
+
top 7
|
4708
|
+
left 1
|
4709
|
+
enabled false # 기본적으로 비활성화
|
4710
|
+
}
|
4711
|
+
|
4712
|
+
@data['포스트설정']['태그삽입1'] = checkbox('태그삽입'){
|
4713
|
+
top 8
|
4714
|
+
left 0
|
4715
|
+
}
|
4716
|
+
@data['포스트설정']['태그삽입1시작숫자'] = entry{
|
4717
|
+
top 8
|
4718
|
+
left 1
|
4719
|
+
text '최소수량'
|
4720
|
+
}
|
4721
|
+
label('~'){
|
4722
|
+
top 8
|
4723
|
+
left 2
|
4724
|
+
}
|
4725
|
+
@data['포스트설정']['태그삽입1끝숫자'] = entry{
|
4726
|
+
top 8
|
4727
|
+
left 3
|
4728
|
+
text '최대수량'
|
4729
|
+
}
|
4730
|
+
|
4731
|
+
@data['포스트설정']['자동글 수식에 입력'] = checkbox('자동글 수식에 입력'){
|
4732
|
+
top 9
|
4733
|
+
left 0
|
4734
|
+
enabled false # 기본적으로 비활성화
|
4735
|
+
on_toggled {
|
4736
|
+
if @data['포스트설정']['자동글 수식에 입력'].checked?
|
4737
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4738
|
+
@data['포스트설정']['내용투명'].checked = false
|
4739
|
+
end
|
4565
4740
|
}
|
4741
|
+
}
|
4742
|
+
|
4743
|
+
@data['포스트설정']['막글 수식에 입력'] = checkbox('막글 수식에 입력'){
|
4744
|
+
top 9
|
4745
|
+
left 1
|
4746
|
+
enabled false # 기본적으로 비활성화
|
4747
|
+
}
|
4748
|
+
|
4749
|
+
|
4750
|
+
|
4751
|
+
@data['포스트설정']['전체공개'] = checkbox('전체공개'){
|
4752
|
+
top 10
|
4753
|
+
left 0
|
4754
|
+
on_toggled{
|
4755
|
+
if @data['포스트설정']['전체공개'].checked?
|
4756
|
+
if @data['포스트설정']['비공개'].checked? or @data['포스트설정']['서로이웃공개'].checked? or @data['포스트설정']['멤버공개'].checked?
|
4757
|
+
@data['포스트설정']['멤버공개'].checked = false
|
4758
|
+
@data['포스트설정']['서로이웃공개'].checked = false
|
4759
|
+
@data['포스트설정']['비공개'].checked = false
|
4760
|
+
end
|
4761
|
+
end
|
4762
|
+
}
|
4763
|
+
}
|
4764
|
+
@data['포스트설정']['멤버공개'] = checkbox('이웃공개'){
|
4765
|
+
top 10
|
4766
|
+
left 1
|
4767
|
+
on_toggled{
|
4768
|
+
if @data['포스트설정']['멤버공개'].checked?
|
4769
|
+
if @data['포스트설정']['전체공개'].checked? or @data['포스트설정']['서로이웃공개'].checked? or @data['포스트설정']['비공개'].checked?
|
4770
|
+
@data['포스트설정']['전체공개'].checked = false
|
4771
|
+
@data['포스트설정']['서로이웃공개'].checked = false
|
4772
|
+
@data['포스트설정']['비공개'].checked = false
|
4773
|
+
end
|
4774
|
+
end
|
4775
|
+
}
|
4776
|
+
}
|
4777
|
+
@data['포스트설정']['서로이웃공개'] = checkbox('서로이웃공개'){
|
4778
|
+
top 11
|
4779
|
+
left 0
|
4780
|
+
on_toggled{
|
4781
|
+
if @data['포스트설정']['서로이웃공개'].checked?
|
4782
|
+
if @data['포스트설정']['전체공개'].checked? or @data['포스트설정']['비공개'].checked? or @data['포스트설정']['멤버공개'].checked?
|
4783
|
+
@data['포스트설정']['전체공개'].checked = false
|
4784
|
+
@data['포스트설정']['비공개'].checked = false
|
4785
|
+
@data['포스트설정']['멤버공개'].checked = false
|
4786
|
+
end
|
4787
|
+
end
|
4788
|
+
}
|
4789
|
+
}
|
4790
|
+
|
4791
|
+
@data['포스트설정']['비공개'] = checkbox('비공개'){
|
4792
|
+
top 11
|
4793
|
+
left 1
|
4794
|
+
on_toggled{
|
4795
|
+
if @data['포스트설정']['비공개'].checked?
|
4796
|
+
if @data['포스트설정']['전체공개'].checked? or @data['포스트설정']['서로이웃공개'].checked? or @data['포스트설정']['멤버공개'].checked?
|
4797
|
+
@data['포스트설정']['전체공개'].checked = false
|
4798
|
+
@data['포스트설정']['서로이웃공개'].checked = false
|
4799
|
+
@data['포스트설정']['멤버공개'].checked = false
|
4800
|
+
end
|
4801
|
+
end
|
4802
|
+
}
|
4803
|
+
}
|
4804
|
+
|
4805
|
+
|
4806
|
+
|
4807
|
+
@data['포스트설정']['댓글허용'] = checkbox('댓글허용'){
|
4808
|
+
top 12
|
4809
|
+
left 0
|
4810
|
+
}
|
4811
|
+
@data['포스트설정']['블로그,카페 공유허용'] = checkbox('블로그,카페 공유허용'){
|
4812
|
+
top 12
|
4813
|
+
left 1
|
4814
|
+
}
|
4815
|
+
@data['포스트설정']['외부공유허용'] = checkbox('외부공유허용'){
|
4816
|
+
top 13
|
4817
|
+
left 0
|
4818
|
+
}
|
4819
|
+
@data['포스트설정']['검색허용'] = checkbox('검색허용'){
|
4820
|
+
top 13
|
4821
|
+
left 1
|
4822
|
+
}
|
4823
|
+
@data['포스트설정']['공감허용'] = checkbox('공감허용'){
|
4824
|
+
top 14
|
4825
|
+
left 0
|
4826
|
+
}
|
4827
|
+
|
4828
|
+
@data['포스트설정']['테더링'] = checkbox('테더링 IP 사용'){
|
4829
|
+
top 15
|
4830
|
+
left 0
|
4831
|
+
on_toggled{
|
4832
|
+
if @data['포스트설정']['테더링'].checked?
|
4833
|
+
@data['포스트설정']['프록시'].checked = false
|
4834
|
+
|
4835
|
+
end
|
4836
|
+
}
|
4837
|
+
}
|
4838
|
+
@data['포스트설정']['프록시'] = checkbox('프록시 IP 사용'){
|
4839
|
+
top 15
|
4840
|
+
left 1
|
4841
|
+
on_toggled{
|
4842
|
+
if @data['포스트설정']['프록시'].checked?
|
4843
|
+
@data['포스트설정']['테더링'].checked = false
|
4844
|
+
|
4845
|
+
end
|
4846
|
+
}
|
4847
|
+
}
|
4848
|
+
button('프록시 IP 파일 불러오기'){
|
4849
|
+
top 15
|
4850
|
+
left 3
|
4851
|
+
on_clicked{
|
4852
|
+
file = open_file
|
4853
|
+
if file != nil
|
4854
|
+
file_data = File.open(file,'r').read
|
4855
|
+
@data['포스트설정']['프록시리스트'] = file_data.split("\n")
|
4856
|
+
end
|
4857
|
+
}
|
4858
|
+
}
|
4859
|
+
|
4860
|
+
@data['포스트설정']['발행기능'] = checkbox('포스팅 글 [ 발행 ] 하기'){
|
4861
|
+
top 16
|
4862
|
+
left 0
|
4863
|
+
on_toggled{
|
4864
|
+
if @data['포스트설정']['발행기능'].checked?
|
4865
|
+
if @data['포스트설정']['저장기능'].checked?
|
4866
|
+
@data['포스트설정']['저장기능'].checked = false
|
4867
|
+
|
4868
|
+
end
|
4869
|
+
end
|
4870
|
+
}
|
4871
|
+
}
|
4872
|
+
@data['포스트설정']['저장기능'] = checkbox('포스팅 글 [ 저장 ] 하기'){
|
4873
|
+
top 16
|
4874
|
+
left 1
|
4875
|
+
|
4876
|
+
on_toggled{
|
4877
|
+
if @data['포스트설정']['저장기능'].checked?
|
4878
|
+
if @data['포스트설정']['발행기능'].checked?
|
4879
|
+
@data['포스트설정']['발행기능'].checked = false
|
4880
|
+
|
4881
|
+
end
|
4882
|
+
end
|
4566
4883
|
}
|
4567
4884
|
}
|
4568
4885
|
}
|
4569
4886
|
}
|
4887
|
+
}
|
4888
|
+
}
|
4570
4889
|
|
4571
4890
|
horizontal_box{
|
4572
4891
|
stretchy false
|