nblog_duo 0.0.6 → 0.0.7
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_duo.rb +1551 -1332
- metadata +2 -2
data/lib/nblog_duo.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')
|
@@ -2108,6 +2122,14 @@ class Wordpress
|
|
2108
2122
|
end
|
2109
2123
|
end
|
2110
2124
|
end
|
2125
|
+
|
2126
|
+
if @data['포스트설정']['gpt제목'].checked?
|
2127
|
+
chat = Chat_title.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'))
|
2128
|
+
gpt_text1 = chat.message(title)
|
2129
|
+
title = gpt_text1.to_s
|
2130
|
+
end
|
2131
|
+
|
2132
|
+
|
2111
2133
|
@data['table'][index][-1] = 5
|
2112
2134
|
@data['table'] << []
|
2113
2135
|
@data['table'].pop
|
@@ -2145,6 +2167,24 @@ class Wordpress
|
|
2145
2167
|
end
|
2146
2168
|
end
|
2147
2169
|
end
|
2170
|
+
|
2171
|
+
if @data['포스트설정']['gpt내용'].checked?
|
2172
|
+
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
2173
|
+
#key_change = @data['포스트설정']['특정단어키워드로변경값'].text.to_s.force_encoding('utf-8')
|
2174
|
+
#imotcon_change = @data['포스트설정']['스티커로변경단어'].text.to_s.force_encoding('utf-8')
|
2175
|
+
#template_change = @data['포스트설정']['내템플릿변경단어'].text.to_s.force_encoding('utf-8')
|
2176
|
+
#ttdanar_change = @data['포스트설정']['단어링크적용단어'].text.to_s.force_encoding('utf-8')
|
2177
|
+
#sajine_change = @data['포스트설정']['단어사진으로변경단어'].text.to_s.force_encoding('utf-8')
|
2178
|
+
#mov_change = @data['포스트설정']['영상으로변경단어'].text.to_s.force_encoding('utf-8')
|
2179
|
+
#map_change = @data['포스트설정']['지도로변경단어'].text.to_s.force_encoding('utf-8')
|
2180
|
+
#inyong9_change = @data['포스트설정']['인용구변경단어'].text.to_s.force_encoding('utf-8')
|
2181
|
+
|
2182
|
+
|
2183
|
+
chat = Chat_content.new(api_key)
|
2184
|
+
gpt_text3 = chat.message(content)
|
2185
|
+
content = gpt_text3.to_s
|
2186
|
+
end
|
2187
|
+
|
2148
2188
|
content_tag = content.split('@##@')[1]
|
2149
2189
|
content = content.split('@##@')[0]
|
2150
2190
|
@data['table'][index][-1] = 15
|
@@ -2343,7 +2383,7 @@ class Wordpress
|
|
2343
2383
|
@data['table'][index][-1] = 50
|
2344
2384
|
@data['table'] << []
|
2345
2385
|
@data['table'].pop
|
2346
|
-
if @data['포스트설정']['gpt'].checked?
|
2386
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
2347
2387
|
chat = Chat.new(@data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8'))
|
2348
2388
|
gpt_text = chat.message(keyword)
|
2349
2389
|
content = content.to_s + "\n(자동생성글)\n" + gpt_text.to_s
|
@@ -2364,7 +2404,7 @@ class Wordpress
|
|
2364
2404
|
joongbok_check = 0
|
2365
2405
|
counter10 = 0
|
2366
2406
|
while joongbok_check == 0
|
2367
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2407
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2368
2408
|
content22 = content.split("(자동생성글)")[1].split("\n")
|
2369
2409
|
else
|
2370
2410
|
content22 = content.split("\n")
|
@@ -2388,12 +2428,12 @@ class Wordpress
|
|
2388
2428
|
content2 = content.split("\n")
|
2389
2429
|
end
|
2390
2430
|
|
2391
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2431
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2392
2432
|
content2 = content.split("(자동생성글)")[1].split("\n")
|
2393
2433
|
position.pop
|
2394
2434
|
end
|
2395
2435
|
|
2396
|
-
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt'].checked? == false
|
2436
|
+
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt키워드'].checked? == false
|
2397
2437
|
content2 = content.split("\n")
|
2398
2438
|
end
|
2399
2439
|
|
@@ -2439,7 +2479,7 @@ class Wordpress
|
|
2439
2479
|
content = content3.join("\n")
|
2440
2480
|
end
|
2441
2481
|
|
2442
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2482
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2443
2483
|
content2.each_with_index do |con, index|
|
2444
2484
|
if position.include?(index)
|
2445
2485
|
insert_keyword_text = keyword.to_s
|
@@ -2469,7 +2509,7 @@ class Wordpress
|
|
2469
2509
|
end
|
2470
2510
|
end
|
2471
2511
|
|
2472
|
-
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt'].checked? == false
|
2512
|
+
if @data['포스트설정']['내용과자동생성'].checked? == false and @data['포스트설정']['내용을자동생성'].checked? == false and @data['포스트설정']['gpt키워드'].checked? == false
|
2473
2513
|
begin
|
2474
2514
|
content2.each_with_index do |con, index|
|
2475
2515
|
if position.include?(index)
|
@@ -2564,7 +2604,7 @@ class Wordpress
|
|
2564
2604
|
end
|
2565
2605
|
end
|
2566
2606
|
|
2567
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2607
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2568
2608
|
if @data['포스트설정']['자동글 수식에 입력'].checked?
|
2569
2609
|
content5 = content.split("(자동생성글)")[0].to_s.split("\n")
|
2570
2610
|
content55 = content.split("(자동생성글)")[1].to_s
|
@@ -2639,7 +2679,7 @@ class Wordpress
|
|
2639
2679
|
###여기까지 이미지 순서대로 안되서 변경##-------------------------------------------------------------------------------
|
2640
2680
|
|
2641
2681
|
##여기서부터 이미지 순서대로 수정코드 변경####-------------------------------------------------------------------------------
|
2642
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2682
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2643
2683
|
sleep(2)
|
2644
2684
|
puts '이미지 자동 세탁 중 · · · '
|
2645
2685
|
end
|
@@ -2658,7 +2698,7 @@ class Wordpress
|
|
2658
2698
|
end
|
2659
2699
|
sleep(2)
|
2660
2700
|
puts '이미지 자동 세탁 완료 · · · '
|
2661
|
-
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt'].checked?
|
2701
|
+
if @data['포스트설정']['내용과자동생성'].checked? or @data['포스트설정']['gpt키워드'].checked?
|
2662
2702
|
content = content5.join("\n")+'(자동생성글)'+content55
|
2663
2703
|
puts content
|
2664
2704
|
else
|
@@ -2680,7 +2720,7 @@ class Wordpress
|
|
2680
2720
|
content = content.split(i.force_encoding('utf-8')).join(keyword)
|
2681
2721
|
end
|
2682
2722
|
end
|
2683
|
-
|
2723
|
+
|
2684
2724
|
@data['table'][index][-1] = 75
|
2685
2725
|
@data['table'] << []
|
2686
2726
|
@data['table'].pop
|
@@ -2758,7 +2798,7 @@ class Wordpress
|
|
2758
2798
|
content = content.split(i.force_encoding('utf-8')).join("<sticker></sticker>")
|
2759
2799
|
end
|
2760
2800
|
end
|
2761
|
-
|
2801
|
+
|
2762
2802
|
|
2763
2803
|
|
2764
2804
|
if @data['포스트설정']['내템플릿사용하기'].checked?
|
@@ -2812,7 +2852,7 @@ class Wordpress
|
|
2812
2852
|
content = content
|
2813
2853
|
soosick_1 = content_end
|
2814
2854
|
else
|
2815
|
-
if @data['포스트설정']['gpt'].checked?
|
2855
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
2816
2856
|
if @data['포스트설정']['gpt상단'].checked?
|
2817
2857
|
content = content_end+"\n"+content+"\n"
|
2818
2858
|
else
|
@@ -3486,1261 +3526,1440 @@ class Wordpress
|
|
3486
3526
|
}
|
3487
3527
|
}
|
3488
3528
|
}
|
3489
|
-
|
3529
|
+
tab_item('내용설정'){
|
3530
|
+
horizontal_box{
|
3531
|
+
vertical_box{
|
3490
3532
|
horizontal_box{
|
3491
|
-
|
3492
|
-
|
3493
|
-
|
3494
|
-
|
3495
|
-
|
3496
|
-
|
3497
|
-
|
3498
|
-
|
3499
|
-
file_data.split("\n").each do |keyword|
|
3500
|
-
if keyword.split(' ').join('').length < 2
|
3501
|
-
|
3502
|
-
else
|
3503
|
-
@data['키워드설정']['키워드'] << [false, keyword]
|
3504
|
-
@data['키워드설정']['키워드'] << [false, keyword]
|
3505
|
-
@data['키워드설정']['키워드'].pop
|
3506
|
-
end
|
3507
|
-
end
|
3508
|
-
end
|
3509
|
-
|
3510
|
-
}
|
3511
|
-
}
|
3533
|
+
stretchy false
|
3534
|
+
button('키워드불러오기'){
|
3535
|
+
on_clicked{
|
3536
|
+
file = open_file
|
3537
|
+
if file != nil
|
3538
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3539
|
+
file_data.split("\n").each do |keyword|
|
3540
|
+
if keyword.split(' ').join('').length < 2
|
3512
3541
|
|
3513
|
-
|
3514
|
-
|
3515
|
-
|
3516
|
-
grid{
|
3517
|
-
button('전체선택'){
|
3518
|
-
top 1
|
3519
|
-
left 1
|
3520
|
-
on_clicked{
|
3521
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3522
|
-
@data['키워드설정']['키워드'][n][0] = true
|
3523
|
-
@data['키워드설정']['키워드'] << []
|
3524
|
-
@data['키워드설정']['키워드'].pop
|
3525
|
-
end
|
3526
|
-
}
|
3527
|
-
}
|
3528
|
-
button('선택해제'){
|
3529
|
-
top 1
|
3530
|
-
left 2
|
3531
|
-
on_clicked{
|
3532
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3533
|
-
@data['키워드설정']['키워드'][n][0] = false
|
3534
|
-
@data['키워드설정']['키워드'] << []
|
3542
|
+
else
|
3543
|
+
@data['키워드설정']['키워드'] << [false, keyword]
|
3544
|
+
@data['키워드설정']['키워드'] << [false, keyword]
|
3535
3545
|
@data['키워드설정']['키워드'].pop
|
3536
3546
|
end
|
3537
|
-
|
3538
|
-
|
3539
|
-
button('삭제하기'){
|
3540
|
-
top 1
|
3541
|
-
left 3
|
3542
|
-
on_clicked{
|
3543
|
-
m = Array.new
|
3544
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3545
|
-
if @data['키워드설정']['키워드'][n][0] == true
|
3546
|
-
m << n
|
3547
|
-
end
|
3548
|
-
end
|
3547
|
+
end
|
3548
|
+
end
|
3549
3549
|
|
3550
|
-
m.reverse.each do |i|
|
3551
|
-
@data['키워드설정']['키워드'].delete_at(i)
|
3552
|
-
end
|
3553
|
-
@data['키워드설정']['키워드'].delete(nil)
|
3554
|
-
}
|
3555
|
-
}
|
3556
|
-
}
|
3557
|
-
|
3558
|
-
@data['키워드설정']['순서사용'] = checkbox('순서사용'){
|
3559
|
-
stretchy false
|
3560
|
-
on_toggled{ |c|
|
3561
|
-
if c.checked?
|
3562
|
-
@data['키워드설정']['랜덤사용'].checked = false
|
3563
|
-
end
|
3564
|
-
}
|
3565
|
-
}
|
3566
|
-
@data['키워드설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3567
|
-
stretchy false
|
3568
|
-
on_toggled{ |c|
|
3569
|
-
if c.checked?
|
3570
|
-
@data['키워드설정']['순서사용'].checked = false
|
3571
|
-
end
|
3572
|
-
}
|
3573
|
-
}
|
3574
3550
|
}
|
3575
|
-
|
3576
|
-
checkbox_column('선택'){
|
3577
|
-
editable true
|
3578
|
-
}
|
3579
|
-
text_column('키워드'){
|
3580
|
-
|
3581
|
-
}
|
3551
|
+
}
|
3582
3552
|
|
3583
|
-
|
3553
|
+
}
|
3554
|
+
horizontal_box{
|
3555
|
+
stretchy false
|
3556
|
+
grid{
|
3557
|
+
button('전체선택'){
|
3558
|
+
top 1
|
3559
|
+
left 1
|
3560
|
+
on_clicked{
|
3561
|
+
for n in 0..@data['키워드설정']['키워드'].length-1
|
3562
|
+
@data['키워드설정']['키워드'][n][0] = true
|
3563
|
+
@data['키워드설정']['키워드'] << []
|
3564
|
+
@data['키워드설정']['키워드'].pop
|
3565
|
+
end
|
3584
3566
|
}
|
3585
|
-
|
3586
3567
|
}
|
3587
|
-
|
3588
|
-
|
3589
|
-
|
3590
|
-
|
3591
|
-
|
3592
|
-
|
3593
|
-
|
3594
|
-
|
3595
|
-
|
3596
|
-
if file != nil
|
3597
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3598
|
-
file_data.split("\n").each do |title|
|
3599
|
-
if title.split(" ").join('').length < 2
|
3600
|
-
|
3601
|
-
else
|
3602
|
-
@data['제목설정']['제목'] << [false, title]
|
3603
|
-
@data['제목설정']['제목'] << [false, title]
|
3604
|
-
@data['제목설정']['제목'].pop
|
3605
|
-
end
|
3606
|
-
end
|
3607
|
-
end
|
3608
|
-
}
|
3609
|
-
}
|
3610
|
-
|
3568
|
+
button('선택해제'){
|
3569
|
+
top 1
|
3570
|
+
left 2
|
3571
|
+
on_clicked{
|
3572
|
+
for n in 0..@data['키워드설정']['키워드'].length-1
|
3573
|
+
@data['키워드설정']['키워드'][n][0] = false
|
3574
|
+
@data['키워드설정']['키워드'] << []
|
3575
|
+
@data['키워드설정']['키워드'].pop
|
3576
|
+
end
|
3611
3577
|
}
|
3612
|
-
|
3613
|
-
|
3614
|
-
|
3615
|
-
|
3616
|
-
|
3617
|
-
|
3618
|
-
|
3619
|
-
|
3620
|
-
|
3621
|
-
|
3622
|
-
|
3623
|
-
end
|
3624
|
-
}
|
3625
|
-
}
|
3626
|
-
button('선택해제'){
|
3627
|
-
top 1
|
3628
|
-
left 2
|
3629
|
-
on_clicked{
|
3630
|
-
for n in 0..@data['제목설정']['제목'].length-1
|
3631
|
-
@data['제목설정']['제목'][n][0] = false
|
3632
|
-
@data['제목설정']['제목'] << []
|
3633
|
-
@data['제목설정']['제목'].pop
|
3634
|
-
end
|
3635
|
-
}
|
3636
|
-
}
|
3637
|
-
button('삭제하기'){
|
3638
|
-
top 1
|
3639
|
-
left 3
|
3640
|
-
on_clicked{
|
3641
|
-
m = Array.new
|
3642
|
-
for n in 0..@data['제목설정']['제목'].length-1
|
3643
|
-
if @data['제목설정']['제목'][n][0] == true
|
3644
|
-
m << n
|
3645
|
-
end
|
3646
|
-
end
|
3578
|
+
}
|
3579
|
+
button('삭제하기'){
|
3580
|
+
top 1
|
3581
|
+
left 3
|
3582
|
+
on_clicked{
|
3583
|
+
m = Array.new
|
3584
|
+
for n in 0..@data['키워드설정']['키워드'].length-1
|
3585
|
+
if @data['키워드설정']['키워드'][n][0] == true
|
3586
|
+
m << n
|
3587
|
+
end
|
3588
|
+
end
|
3647
3589
|
|
3648
|
-
|
3649
|
-
|
3650
|
-
|
3651
|
-
|
3652
|
-
}
|
3653
|
-
}
|
3654
|
-
}
|
3655
|
-
@data['제목설정']['순서사용'] = checkbox('순서사용'){
|
3656
|
-
stretchy false
|
3657
|
-
on_toggled{ |c|
|
3658
|
-
if c.checked?
|
3659
|
-
@data['제목설정']['랜덤사용'].checked = false
|
3660
|
-
end
|
3661
|
-
}
|
3662
|
-
}
|
3663
|
-
@data['제목설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3664
|
-
stretchy false
|
3665
|
-
on_toggled{ |c|
|
3666
|
-
if c.checked?
|
3667
|
-
@data['제목설정']['순서사용'].checked = false
|
3668
|
-
end
|
3669
|
-
}
|
3670
|
-
}
|
3590
|
+
m.reverse.each do |i|
|
3591
|
+
@data['키워드설정']['키워드'].delete_at(i)
|
3592
|
+
end
|
3593
|
+
@data['키워드설정']['키워드'].delete(nil)
|
3671
3594
|
}
|
3672
|
-
|
3673
|
-
|
3674
|
-
|
3675
|
-
|
3676
|
-
|
3677
|
-
|
3678
|
-
|
3679
|
-
|
3680
|
-
|
3595
|
+
}
|
3596
|
+
}
|
3597
|
+
|
3598
|
+
@data['키워드설정']['순서사용'] = checkbox('순서사용'){
|
3599
|
+
stretchy false
|
3600
|
+
on_toggled{ |c|
|
3601
|
+
if c.checked?
|
3602
|
+
@data['키워드설정']['랜덤사용'].checked = false
|
3603
|
+
end
|
3681
3604
|
}
|
3682
|
-
|
3683
3605
|
}
|
3684
|
-
|
3606
|
+
@data['키워드설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3685
3607
|
stretchy false
|
3608
|
+
on_toggled{ |c|
|
3609
|
+
if c.checked?
|
3610
|
+
@data['키워드설정']['순서사용'].checked = false
|
3611
|
+
end
|
3612
|
+
}
|
3613
|
+
}
|
3614
|
+
}
|
3615
|
+
vertical_separator{
|
3616
|
+
stretchy false
|
3617
|
+
}
|
3618
|
+
horizontal_box{
|
3619
|
+
stretchy false
|
3620
|
+
grid{
|
3621
|
+
@data['포스트설정']['gpt키워드'] = checkbox('GPT 키워드 기반 글 생성'){
|
3622
|
+
top 1
|
3623
|
+
left 0
|
3624
|
+
#enabled false # 기본적으로 비활성화
|
3625
|
+
on_toggled {
|
3626
|
+
if @data['포스트설정']['gpt키워드'].checked?
|
3627
|
+
@data['포스트설정']['gpt상단'].enabled = true # '내용투명' 활성화
|
3628
|
+
@data['포스트설정']['gpt하단'].enabled = true # '내용투명' 활성화
|
3629
|
+
else
|
3630
|
+
@data['포스트설정']['gpt상단'].checked = false # 체크 해제
|
3631
|
+
@data['포스트설정']['gpt상단'].enabled = false # 비활성화
|
3632
|
+
@data['포스트설정']['gpt하단'].checked = false # 체크 해제
|
3633
|
+
@data['포스트설정']['gpt하단'].enabled = false # 비활성화
|
3634
|
+
end
|
3635
|
+
}
|
3636
|
+
|
3637
|
+
}
|
3638
|
+
|
3639
|
+
@data['포스트설정']['gpt상단'] = checkbox('원고 위에 넣기'){
|
3640
|
+
top 1
|
3641
|
+
left 1
|
3642
|
+
enabled false # 기본적으로 비활성화
|
3643
|
+
on_toggled{
|
3644
|
+
if @data['포스트설정']['gpt상단'].checked?
|
3645
|
+
@data['포스트설정']['gpt하단'].checked = false
|
3646
|
+
end
|
3647
|
+
}
|
3686
3648
|
}
|
3687
|
-
vertical_box{
|
3688
|
-
horizontal_box{
|
3689
|
-
stretchy false
|
3690
|
-
button('내용불러오기'){
|
3691
|
-
on_clicked{
|
3692
|
-
file = open_file
|
3693
|
-
if file != nil
|
3694
|
-
file_name = file.split("\\")[-1]
|
3695
|
-
file_data = File.open(file,'r', :encoding => 'utf-8').read()
|
3696
|
-
if file_data.split("\n").length < 2
|
3697
|
-
file_data = file_data + "\n"
|
3698
|
-
end
|
3699
|
-
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3700
|
-
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3701
|
-
@data['내용설정']['내용'].pop
|
3702
|
-
end
|
3703
|
-
}
|
3704
|
-
}
|
3705
3649
|
|
3650
|
+
@data['포스트설정']['gpt하단'] = checkbox('원고 아래 넣기'){
|
3651
|
+
top 1
|
3652
|
+
left 2
|
3653
|
+
enabled false # 기본적으로 비활성화
|
3654
|
+
on_toggled{
|
3655
|
+
if @data['포스트설정']['gpt하단'].checked?
|
3656
|
+
@data['포스트설정']['gpt상단'].checked = false
|
3657
|
+
end
|
3706
3658
|
}
|
3707
|
-
|
3708
|
-
|
3709
|
-
|
3710
|
-
|
3711
|
-
|
3712
|
-
|
3713
|
-
|
3714
|
-
|
3715
|
-
|
3716
|
-
|
3717
|
-
|
3718
|
-
|
3719
|
-
|
3720
|
-
|
3721
|
-
button('선택해제'){
|
3722
|
-
top 1
|
3723
|
-
left 2
|
3724
|
-
on_clicked{
|
3725
|
-
for n in 0..@data['내용설정']['내용'].length-1
|
3726
|
-
@data['내용설정']['내용'][n][0] = false
|
3727
|
-
@data['내용설정']['내용'] << []
|
3728
|
-
@data['내용설정']['내용'].pop
|
3729
|
-
end
|
3730
|
-
}
|
3731
|
-
}
|
3732
|
-
button('삭제하기'){
|
3733
|
-
top 1
|
3734
|
-
left 3
|
3735
|
-
on_clicked{
|
3736
|
-
m = Array.new
|
3737
|
-
for n in 0..@data['내용설정']['내용'].length-1
|
3738
|
-
if @data['내용설정']['내용'][n][0] == true
|
3739
|
-
m << n
|
3740
|
-
end
|
3741
|
-
end
|
3742
|
-
|
3743
|
-
m.reverse.each do |i|
|
3744
|
-
@data['내용설정']['내용'].delete_at(i)
|
3745
|
-
end
|
3746
|
-
@data['내용설정']['내용'].delete(nil)
|
3747
|
-
}
|
3748
|
-
}
|
3749
|
-
}
|
3750
|
-
@data['내용설정']['순서사용'] = checkbox('순서사용'){
|
3751
|
-
stretchy false
|
3752
|
-
on_toggled{ |c|
|
3753
|
-
if c.checked?
|
3754
|
-
@data['내용설정']['랜덤사용'].checked = false
|
3755
|
-
end
|
3756
|
-
}
|
3757
|
-
}
|
3758
|
-
@data['내용설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3759
|
-
stretchy false
|
3760
|
-
on_toggled{ |c|
|
3761
|
-
if c.checked?
|
3762
|
-
@data['내용설정']['순서사용'].checked = false
|
3763
|
-
end
|
3764
|
-
}
|
3765
|
-
}
|
3766
|
-
}
|
3767
|
-
table{
|
3768
|
-
checkbox_column('선택'){
|
3769
|
-
editable true
|
3770
|
-
}
|
3771
|
-
text_column('내용파일'){
|
3772
|
-
|
3773
|
-
}
|
3774
|
-
|
3775
|
-
cell_rows @data['내용설정']['내용']
|
3776
|
-
}
|
3659
|
+
}
|
3660
|
+
} }
|
3661
|
+
horizontal_box{
|
3662
|
+
stretchy false
|
3663
|
+
grid{
|
3664
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3665
|
+
} } }
|
3666
|
+
|
3667
|
+
|
3668
|
+
table{
|
3669
|
+
checkbox_column('선택'){
|
3670
|
+
editable true
|
3671
|
+
}
|
3672
|
+
text_column('키워드'){
|
3777
3673
|
|
3778
|
-
horizontal_box{
|
3779
|
-
stretchy false
|
3780
|
-
@data['이미지설정']['폴더경로2'] = entry{
|
3781
|
-
stretchy false
|
3782
|
-
text "내용폴더경로 ex)C:\\내용\\폴더1"
|
3783
|
-
}
|
3784
|
-
button('폴더째로불러오기'){
|
3785
|
-
stretchy false
|
3786
|
-
on_clicked{
|
3787
|
-
path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3788
|
-
Dir.entries(@data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')).each do |file|
|
3789
|
-
if file == '.' or file == '..'
|
3790
|
-
|
3791
|
-
else
|
3792
|
-
file_data = File.open(path+'/'+file,'r', :encoding => 'utf-8').read()
|
3793
|
-
@data['내용설정']['내용'] << [false, file, file_data]
|
3794
|
-
end
|
3795
|
-
end
|
3796
|
-
@data['내용설정']['내용'] << []
|
3797
|
-
@data['내용설정']['내용'].pop
|
3798
|
-
}
|
3799
|
-
}
|
3800
|
-
}
|
3801
3674
|
}
|
3675
|
+
|
3676
|
+
cell_rows @data['키워드설정']['키워드']
|
3802
3677
|
}
|
3678
|
+
|
3679
|
+
|
3680
|
+
|
3681
|
+
}
|
3682
|
+
vertical_separator{
|
3683
|
+
stretchy false
|
3803
3684
|
}
|
3804
|
-
|
3685
|
+
vertical_box{
|
3805
3686
|
horizontal_box{
|
3806
|
-
|
3807
|
-
|
3808
|
-
|
3809
|
-
|
3810
|
-
|
3811
|
-
|
3812
|
-
|
3813
|
-
if
|
3814
|
-
file_name = file.split("\\")[-1]
|
3815
|
-
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3816
|
-
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3817
|
-
@data['이미지설정']['이미지'].pop
|
3818
|
-
end
|
3819
|
-
}
|
3820
|
-
}
|
3821
|
-
}
|
3822
|
-
horizontal_box{
|
3823
|
-
stretchy false
|
3824
|
-
grid{
|
3825
|
-
button('전체선택'){
|
3826
|
-
top 1
|
3827
|
-
left 1
|
3828
|
-
on_clicked{
|
3829
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3830
|
-
@data['이미지설정']['이미지'][n][0] = true
|
3831
|
-
@data['이미지설정']['이미지'] << []
|
3832
|
-
@data['이미지설정']['이미지'].pop
|
3833
|
-
end
|
3834
|
-
}
|
3835
|
-
}
|
3836
|
-
button('선택해제'){
|
3837
|
-
top 1
|
3838
|
-
left 2
|
3839
|
-
on_clicked{
|
3840
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3841
|
-
@data['이미지설정']['이미지'][n][0] = false
|
3842
|
-
@data['이미지설정']['이미지'] << []
|
3843
|
-
@data['이미지설정']['이미지'].pop
|
3844
|
-
end
|
3845
|
-
}
|
3846
|
-
}
|
3847
|
-
button('삭제하기'){
|
3848
|
-
top 1
|
3849
|
-
left 3
|
3850
|
-
on_clicked{
|
3851
|
-
m = Array.new
|
3852
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3853
|
-
if @data['이미지설정']['이미지'][n][0] == true
|
3854
|
-
m << n
|
3855
|
-
end
|
3856
|
-
end
|
3857
|
-
|
3858
|
-
m.reverse.each do |i|
|
3859
|
-
@data['이미지설정']['이미지'].delete_at(i)
|
3860
|
-
end
|
3687
|
+
stretchy false
|
3688
|
+
button('제목불러오기'){
|
3689
|
+
on_clicked{
|
3690
|
+
file = open_file
|
3691
|
+
if file != nil
|
3692
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3693
|
+
file_data.split("\n").each do |title|
|
3694
|
+
if title.split(" ").join('').length < 2
|
3861
3695
|
|
3862
|
-
|
3863
|
-
|
3864
|
-
|
3865
|
-
|
3866
|
-
@data['이미지설정']['순서사용'] = checkbox('순서사용'){
|
3867
|
-
stretchy false
|
3868
|
-
on_toggled{ |c|
|
3869
|
-
if c.checked?
|
3870
|
-
@data['이미지설정']['랜덤사용'].checked = false
|
3871
|
-
end
|
3872
|
-
}
|
3873
|
-
}
|
3874
|
-
@data['이미지설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3875
|
-
stretchy false
|
3876
|
-
on_toggled{ |c|
|
3877
|
-
if c.checked?
|
3878
|
-
@data['이미지설정']['순서사용'].checked = false
|
3696
|
+
else
|
3697
|
+
@data['제목설정']['제목'] << [false, title]
|
3698
|
+
@data['제목설정']['제목'] << [false, title]
|
3699
|
+
@data['제목설정']['제목'].pop
|
3879
3700
|
end
|
3880
|
-
|
3881
|
-
|
3701
|
+
end
|
3702
|
+
end
|
3882
3703
|
}
|
3883
|
-
|
3884
|
-
checkbox_column('선택'){
|
3885
|
-
editable true
|
3886
|
-
}
|
3887
|
-
text_column('이미지파일'){
|
3888
|
-
|
3889
|
-
}
|
3704
|
+
}
|
3890
3705
|
|
3891
|
-
|
3892
|
-
|
3893
|
-
|
3894
|
-
|
3895
|
-
|
3896
|
-
|
3897
|
-
|
3898
|
-
|
3899
|
-
|
3900
|
-
|
3901
|
-
|
3902
|
-
|
3903
|
-
|
3904
|
-
if file == '.' or file == '..'
|
3905
|
-
|
3906
|
-
else
|
3907
|
-
@data['이미지설정']['이미지'] << [false, file, path+"\\"+file.force_encoding('utf-8')]
|
3908
|
-
end
|
3909
|
-
end
|
3910
|
-
@data['이미지설정']['이미지'] << []
|
3911
|
-
@data['이미지설정']['이미지'].pop
|
3912
|
-
}
|
3913
|
-
}
|
3706
|
+
}
|
3707
|
+
horizontal_box{
|
3708
|
+
stretchy false
|
3709
|
+
grid{
|
3710
|
+
button('전체선택'){
|
3711
|
+
top 1
|
3712
|
+
left 1
|
3713
|
+
on_clicked{
|
3714
|
+
for n in 0..@data['제목설정']['제목'].length-1
|
3715
|
+
@data['제목설정']['제목'][n][0] = true
|
3716
|
+
@data['제목설정']['제목'] << []
|
3717
|
+
@data['제목설정']['제목'].pop
|
3718
|
+
end
|
3914
3719
|
}
|
3915
|
-
|
3916
3720
|
}
|
3917
|
-
|
3918
|
-
|
3721
|
+
button('선택해제'){
|
3722
|
+
top 1
|
3723
|
+
left 2
|
3724
|
+
on_clicked{
|
3725
|
+
for n in 0..@data['제목설정']['제목'].length-1
|
3726
|
+
@data['제목설정']['제목'][n][0] = false
|
3727
|
+
@data['제목설정']['제목'] << []
|
3728
|
+
@data['제목설정']['제목'].pop
|
3729
|
+
end
|
3730
|
+
}
|
3919
3731
|
}
|
3732
|
+
button('삭제하기'){
|
3733
|
+
top 1
|
3734
|
+
left 3
|
3735
|
+
on_clicked{
|
3736
|
+
m = Array.new
|
3737
|
+
for n in 0..@data['제목설정']['제목'].length-1
|
3738
|
+
if @data['제목설정']['제목'][n][0] == true
|
3739
|
+
m << n
|
3740
|
+
end
|
3741
|
+
end
|
3920
3742
|
|
3921
|
-
|
3922
|
-
|
3923
|
-
|
3924
|
-
@data['
|
3925
|
-
on_toggled{
|
3926
|
-
if @data['image_type'][0].checked?
|
3927
|
-
@data['image_type'][1].checked = false
|
3928
|
-
@data['image_type'][2].checked = false
|
3929
|
-
end
|
3930
|
-
}
|
3931
|
-
}
|
3932
|
-
@data['image_type'][1] = checkbox('색상 사진 사용'){
|
3933
|
-
on_toggled{
|
3934
|
-
if @data['image_type'][1].checked?
|
3935
|
-
@data['image_type'][0].checked = false
|
3936
|
-
@data['image_type'][2].checked = false
|
3937
|
-
end
|
3938
|
-
}
|
3939
|
-
}
|
3940
|
-
@data['image_type'][2] = checkbox('자동 다운로드 사진 사용'){
|
3941
|
-
on_toggled{
|
3942
|
-
if @data['image_type'][2].checked?
|
3943
|
-
@data['image_type'][1].checked = false
|
3944
|
-
@data['image_type'][0].checked = false
|
3945
|
-
end
|
3946
|
-
}
|
3947
|
-
}
|
3743
|
+
m.reverse.each do |i|
|
3744
|
+
@data['제목설정']['제목'].delete_at(i)
|
3745
|
+
end
|
3746
|
+
@data['제목설정']['제목'].delete(nil)
|
3948
3747
|
}
|
3949
|
-
|
3950
|
-
|
3951
|
-
|
3952
|
-
|
3953
|
-
|
3954
|
-
|
3955
|
-
|
3956
|
-
|
3957
|
-
top 0
|
3958
|
-
left 1
|
3959
|
-
on_clicked{
|
3960
|
-
file = open_file
|
3961
|
-
if file != nil
|
3962
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3963
|
-
@data['이미지설정']['이미지글자1'] = file_data.to_s.split("\n")
|
3964
|
-
end
|
3965
|
-
}
|
3966
|
-
}
|
3967
|
-
@data['이미지설정']['이미지글자1크기1'] = entry{
|
3968
|
-
top 0
|
3969
|
-
left 2
|
3970
|
-
text 'ex) 33'
|
3971
|
-
}
|
3972
|
-
label('pt'){
|
3973
|
-
top 0
|
3974
|
-
left 3
|
3975
|
-
}
|
3976
|
-
@data['이미지설정']['이미지글자1크기2'] = entry{
|
3977
|
-
top 0
|
3978
|
-
left 4
|
3979
|
-
text 'ex) 55'
|
3980
|
-
}
|
3981
|
-
label('pt'){
|
3982
|
-
top 0
|
3983
|
-
left 5
|
3984
|
-
}
|
3985
|
-
@data['이미지설정']['글자테두리'] = checkbox('글자 테두리'){
|
3986
|
-
top 0
|
3987
|
-
left 6
|
3988
|
-
}
|
3989
|
-
|
3990
|
-
@data['이미지설정']['글자삽입2'] = checkbox('글자 삽입2'){
|
3991
|
-
top 1
|
3992
|
-
left 0
|
3993
|
-
}
|
3994
|
-
button('가져오기'){
|
3995
|
-
top 1
|
3996
|
-
left 1
|
3997
|
-
on_clicked{
|
3998
|
-
file = open_file
|
3999
|
-
if file != nil
|
4000
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4001
|
-
@data['이미지설정']['이미지글자2'] = file_data.split("\n")
|
4002
|
-
end
|
4003
|
-
}
|
4004
|
-
}
|
4005
|
-
@data['이미지설정']['이미지글자2크기1'] = entry{
|
4006
|
-
top 1
|
4007
|
-
left 2
|
4008
|
-
text 'ex) 33'
|
4009
|
-
}
|
4010
|
-
label('pt'){
|
4011
|
-
top 1
|
4012
|
-
left 3
|
4013
|
-
}
|
4014
|
-
@data['이미지설정']['이미지글자2크기2'] = entry{
|
4015
|
-
top 1
|
4016
|
-
left 4
|
4017
|
-
text 'ex) 55'
|
4018
|
-
}
|
4019
|
-
label('pt'){
|
4020
|
-
top 1
|
4021
|
-
left 5
|
4022
|
-
}
|
4023
|
-
@data['이미지설정']['글자그림자'] = checkbox('글자 그림자'){
|
4024
|
-
top 1
|
4025
|
-
left 6
|
4026
|
-
}
|
4027
|
-
@data['이미지설정']['필터사용'] = checkbox('필터사용(색상 사진 적용불가)'){
|
4028
|
-
top 2
|
4029
|
-
left 0
|
4030
|
-
}
|
4031
|
-
@data['이미지설정']['테두리사용'] = checkbox('테두리 사용'){
|
4032
|
-
top 3
|
4033
|
-
left 0
|
4034
|
-
}
|
4035
|
-
@data['이미지설정']['테두리크기1'] = entry{
|
4036
|
-
top 3
|
4037
|
-
left 2
|
4038
|
-
text 'ex) 1'
|
4039
|
-
}
|
4040
|
-
label('pt'){
|
4041
|
-
top 3
|
4042
|
-
left 3
|
4043
|
-
}
|
4044
|
-
@data['이미지설정']['테두리크기2'] = entry{
|
4045
|
-
top 3
|
4046
|
-
left 4
|
4047
|
-
text 'ex) 33'
|
4048
|
-
}
|
4049
|
-
label('pt'){
|
4050
|
-
top 3
|
4051
|
-
left 5
|
4052
|
-
}
|
4053
|
-
|
3748
|
+
}
|
3749
|
+
}
|
3750
|
+
@data['제목설정']['순서사용'] = checkbox('순서사용'){
|
3751
|
+
stretchy false
|
3752
|
+
on_toggled{ |c|
|
3753
|
+
if c.checked?
|
3754
|
+
@data['제목설정']['랜덤사용'].checked = false
|
3755
|
+
end
|
4054
3756
|
}
|
4055
|
-
|
4056
|
-
|
4057
|
-
|
4058
|
-
|
4059
|
-
|
4060
|
-
|
4061
|
-
|
4062
|
-
@data['image_size'][2].checked = false
|
4063
|
-
@data['image_size'][3].checked = false
|
4064
|
-
@data['image_size'][4].checked = false
|
4065
|
-
end
|
4066
|
-
}
|
4067
|
-
}
|
4068
|
-
@data['image_size'][1] = checkbox('740 px'){
|
4069
|
-
on_toggled{
|
4070
|
-
if @data['image_size'][1].checked?
|
4071
|
-
@data['image_size'][0].checked = false
|
4072
|
-
@data['image_size'][2].checked = false
|
4073
|
-
@data['image_size'][3].checked = false
|
4074
|
-
@data['image_size'][4].checked = false
|
4075
|
-
end
|
4076
|
-
}
|
4077
|
-
}
|
4078
|
-
@data['image_size'][2] = checkbox('650 px'){
|
4079
|
-
on_toggled{
|
4080
|
-
if @data['image_size'][2].checked?
|
4081
|
-
@data['image_size'][1].checked = false
|
4082
|
-
@data['image_size'][0].checked = false
|
4083
|
-
@data['image_size'][3].checked = false
|
4084
|
-
@data['image_size'][4].checked = false
|
4085
|
-
end
|
4086
|
-
}
|
4087
|
-
}
|
4088
|
-
@data['image_size'][3] = checkbox('550 px'){
|
4089
|
-
on_toggled{
|
4090
|
-
if @data['image_size'][3].checked?
|
4091
|
-
@data['image_size'][1].checked = false
|
4092
|
-
@data['image_size'][2].checked = false
|
4093
|
-
@data['image_size'][0].checked = false
|
4094
|
-
@data['image_size'][4].checked = false
|
4095
|
-
end
|
4096
|
-
}
|
4097
|
-
}
|
4098
|
-
@data['image_size'][4] = checkbox('480 px'){
|
4099
|
-
on_toggled{
|
4100
|
-
if @data['image_size'][4].checked?
|
4101
|
-
@data['image_size'][1].checked = false
|
4102
|
-
@data['image_size'][2].checked = false
|
4103
|
-
@data['image_size'][3].checked = false
|
4104
|
-
@data['image_size'][0].checked = false
|
4105
|
-
end
|
4106
|
-
}
|
4107
|
-
}
|
3757
|
+
}
|
3758
|
+
@data['제목설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3759
|
+
stretchy false
|
3760
|
+
on_toggled{ |c|
|
3761
|
+
if c.checked?
|
3762
|
+
@data['제목설정']['순서사용'].checked = false
|
3763
|
+
end
|
4108
3764
|
}
|
4109
3765
|
}
|
4110
3766
|
}
|
4111
|
-
|
4112
|
-
|
4113
|
-
|
3767
|
+
vertical_separator{
|
3768
|
+
stretchy false
|
3769
|
+
}
|
4114
3770
|
horizontal_box{
|
4115
|
-
|
4116
|
-
|
4117
|
-
|
4118
|
-
|
4119
|
-
|
4120
|
-
|
4121
|
-
|
4122
|
-
|
4123
|
-
|
4124
|
-
|
4125
|
-
|
4126
|
-
|
4127
|
-
text '특정단어'
|
4128
|
-
}
|
4129
|
-
|
4130
|
-
# @data['포스트설정']['제목단어변경'] = checkbox('제목에 특정 단어를 변경'){
|
4131
|
-
# top 1
|
4132
|
-
# left 0
|
4133
|
-
# }
|
4134
|
-
# @data['포스트설정']['제목단어변경파일불러오기'] = button('설정 파일 불러오기'){
|
4135
|
-
# top 1
|
4136
|
-
# left 1
|
4137
|
-
# on_clicked{
|
4138
|
-
# file = open_file
|
4139
|
-
# if file != nil
|
4140
|
-
# file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4141
|
-
# file_data.split("\n").each do |i|
|
4142
|
-
# i2 = i.split('>')
|
4143
|
-
# text_key = i2[0].to_s
|
4144
|
-
# text_val = i2[1].to_s.split(',')
|
4145
|
-
# @data['포스트설정']['제목특정단어변경데이터'][text_key] = text_val
|
4146
|
-
# end
|
4147
|
-
# end
|
4148
|
-
# }
|
4149
|
-
# }
|
4150
|
-
@data['포스트설정']['제목에키워드삽입'] = checkbox('제목에 키워드 삽입'){
|
4151
|
-
top 2
|
4152
|
-
left 0
|
4153
|
-
}
|
4154
|
-
@data['포스트설정']['제목에키워드삽입숫자1'] = entry(){
|
4155
|
-
top 2
|
4156
|
-
left 1
|
4157
|
-
text '최소수량'
|
4158
|
-
}
|
4159
|
-
label('~'){
|
4160
|
-
top 2
|
4161
|
-
left 2
|
4162
|
-
}
|
4163
|
-
@data['포스트설정']['제목에키워드삽입숫자2'] = entry(){
|
4164
|
-
top 2
|
4165
|
-
left 3
|
4166
|
-
text '최대수량'
|
4167
|
-
}
|
4168
|
-
label('ㄴ'){
|
4169
|
-
top 3
|
4170
|
-
left 2
|
4171
|
-
}
|
4172
|
-
@data['포스트설정']['제목앞'] = checkbox('제목에 키워드 삽입 제목 앞'){
|
4173
|
-
top 3
|
4174
|
-
left 3
|
4175
|
-
on_toggled{
|
4176
|
-
if @data['포스트설정']['제목앞'].checked? == true
|
4177
|
-
if @data['포스트설정']['제목뒤'].checked?
|
4178
|
-
@data['포스트설정']['제목뒤'].checked = false
|
4179
|
-
end
|
4180
|
-
end
|
4181
|
-
}
|
4182
|
-
}
|
4183
|
-
label('ㄴ'){
|
4184
|
-
top 4
|
4185
|
-
left 2
|
4186
|
-
}
|
4187
|
-
@data['포스트설정']['제목뒤'] = checkbox('제목에 키워드 삽입 제목 뒤'){
|
4188
|
-
top 4
|
4189
|
-
left 3
|
4190
|
-
on_toggled{
|
4191
|
-
if @data['포스트설정']['제목뒤'].checked? == true
|
4192
|
-
if @data['포스트설정']['제목앞'].checked?
|
4193
|
-
@data['포스트설정']['제목앞'].checked = false
|
4194
|
-
end
|
4195
|
-
end
|
4196
|
-
}
|
4197
|
-
}
|
4198
|
-
@data['포스트설정']['제목내용설정'] = checkbox('내용의 첫 문장을 제목으로 설정'){
|
4199
|
-
top 4
|
4200
|
-
left 0
|
4201
|
-
}
|
4202
|
-
|
4203
|
-
@data['포스트설정']['특수문자'] = checkbox('제목에 키워드 삽입 시 특수문자 삽입'){
|
4204
|
-
top 5
|
4205
|
-
left 0
|
4206
|
-
}
|
4207
|
-
@data['포스트설정']['제목을랜덤'] = checkbox('제목을 랜덤 단어 조합으로 자동 입력'){
|
4208
|
-
top 6
|
4209
|
-
left 0
|
4210
|
-
}
|
4211
|
-
@data['포스트설정']['내용키워드삽입'] = checkbox('내용 키워드 삽입'){
|
4212
|
-
top 7
|
4213
|
-
left 0
|
4214
|
-
}
|
4215
|
-
@data['포스트설정']['키워드삽입시작숫자'] = entry(){
|
4216
|
-
top 7
|
4217
|
-
left 1
|
4218
|
-
text '최소수량'
|
4219
|
-
}
|
4220
|
-
label('~'){
|
4221
|
-
top 7
|
4222
|
-
left 2
|
4223
|
-
}
|
4224
|
-
@data['포스트설정']['키워드삽입끝숫자'] = entry(){
|
4225
|
-
top 7
|
4226
|
-
left 3
|
4227
|
-
text '최대수량'
|
4228
|
-
}
|
4229
|
-
@data['포스트설정']['키워드삽입'] = checkbox('내용 키워드 삽입시 링크 삽입'){
|
4230
|
-
top 8
|
4231
|
-
left 0
|
4232
|
-
}
|
4233
|
-
@data['포스트설정']['키워드삽입시링크'] = entry(){
|
4234
|
-
top 8
|
4235
|
-
left 1
|
4236
|
-
text 'URL'
|
4237
|
-
}
|
4238
|
-
@data['포스트설정']['내용을자동생성'] = checkbox('내용을 키워드 기반으로 자동 생성해서 포스팅'){
|
4239
|
-
top 9
|
4240
|
-
left 0
|
4241
|
-
on_toggled{
|
4242
|
-
if @data['포스트설정']['내용을자동생성'].checked?
|
4243
|
-
if @data['포스트설정']['내용과자동생성'].checked?
|
4244
|
-
@data['포스트설정']['내용과자동생성'].checked = false
|
4245
|
-
end
|
4246
|
-
end
|
4247
|
-
}
|
4248
|
-
}
|
4249
|
-
|
4250
|
-
@data['포스트설정']['gpt'] = checkbox('내용을 키워드 기반의 GPT로 생성해서 포스팅'){
|
4251
|
-
top 10
|
4252
|
-
left 0
|
4253
|
-
}
|
4254
|
-
|
4255
|
-
@data['포스트설정']['api_key'] = entry(){
|
4256
|
-
top 10
|
4257
|
-
left 1
|
4258
|
-
text 'api key'
|
4259
|
-
}
|
4260
|
-
|
4261
|
-
@data['포스트설정']['gpt상단'] = checkbox('원고내용 위에 넣기'){
|
4262
|
-
top 10
|
4263
|
-
left 3
|
4264
|
-
}
|
4265
|
-
|
4266
|
-
@data['포스트설정']['gpt하단'] = checkbox('원고내용 아래에 넣기'){
|
4267
|
-
top 11
|
4268
|
-
left 3
|
4269
|
-
}
|
3771
|
+
stretchy false
|
3772
|
+
grid{
|
3773
|
+
@data['포스트설정']['gpt제목'] = checkbox('제목을 이용해 GPT로 비슷한 제목 생성'){
|
3774
|
+
|
3775
|
+
|
3776
|
+
}}}
|
3777
|
+
horizontal_box{
|
3778
|
+
stretchy false
|
3779
|
+
grid{
|
3780
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3781
|
+
} } }
|
3782
|
+
|
4270
3783
|
|
4271
|
-
|
4272
|
-
|
4273
|
-
|
4274
|
-
|
4275
|
-
|
4276
|
-
if @data['포스트설정']['내용과자동생성'].checked?
|
4277
|
-
if @data['포스트설정']['내용을자동생성'].checked?
|
4278
|
-
@data['포스트설정']['내용을자동생성'].checked = false
|
4279
|
-
end
|
4280
|
-
end
|
4281
|
-
}
|
4282
|
-
}
|
4283
|
-
@data['포스트설정']['내용투명'] = checkbox('키워드 기반 자동 생성글 안보이게 처리'){
|
4284
|
-
top 11+ aa1
|
4285
|
-
left 0
|
4286
|
-
}
|
4287
|
-
@data['포스트설정']['내용자동변경'] = checkbox('내용에 단어들을 자동 변경'){
|
4288
|
-
top 12+ aa1
|
4289
|
-
left 0
|
4290
|
-
}
|
4291
|
-
button('설정 파일 불러오기'){
|
4292
|
-
top 12+ aa1
|
4293
|
-
left 1
|
4294
|
-
on_clicked{
|
4295
|
-
file = open_file
|
4296
|
-
if file != nil
|
4297
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4298
|
-
file_data.split("\n").each do |i|
|
4299
|
-
key = i.split('>')[0]
|
4300
|
-
v = i.split('>')[1].to_s.split(',')
|
4301
|
-
@data['포스트설정']['내용자동변경값'][key] = v
|
4302
|
-
end
|
4303
|
-
end
|
4304
|
-
}
|
4305
|
-
}
|
4306
|
-
@data['포스트설정']['제목에도적용'] = checkbox('제목에도 적용'){
|
4307
|
-
top 12+ aa1
|
4308
|
-
left 3
|
4309
|
-
}
|
3784
|
+
table{
|
3785
|
+
checkbox_column('선택'){
|
3786
|
+
editable true
|
3787
|
+
}
|
3788
|
+
text_column('제목'){
|
4310
3789
|
|
4311
|
-
|
4312
|
-
top 13+ aa1
|
4313
|
-
left 0
|
4314
|
-
}
|
4315
|
-
@data['포스트설정']['내용사진자동삽입시작숫자'] = entry(){
|
4316
|
-
top 13+ aa1
|
4317
|
-
left 1
|
4318
|
-
text '최소수량'
|
4319
|
-
}
|
4320
|
-
label('~'){
|
4321
|
-
top 13+ aa1
|
4322
|
-
left 2
|
4323
|
-
}
|
4324
|
-
@data['포스트설정']['내용사진자동삽입끝숫자'] = entry(){
|
4325
|
-
top 13+ aa1
|
4326
|
-
left 3
|
4327
|
-
text '최대수량'
|
4328
|
-
}
|
3790
|
+
}
|
4329
3791
|
|
4330
|
-
|
4331
|
-
|
4332
|
-
|
4333
|
-
}
|
3792
|
+
cell_rows @data['제목설정']['제목']
|
3793
|
+
}
|
3794
|
+
|
4334
3795
|
|
4335
|
-
|
4336
|
-
|
4337
|
-
|
4338
|
-
|
4339
|
-
|
3796
|
+
}
|
3797
|
+
vertical_separator{
|
3798
|
+
stretchy false
|
3799
|
+
}
|
3800
|
+
vertical_box{
|
3801
|
+
horizontal_box{
|
3802
|
+
stretchy false
|
3803
|
+
button('내용불러오기'){
|
3804
|
+
on_clicked{
|
3805
|
+
file = open_file
|
3806
|
+
if file != nil
|
3807
|
+
file_name = file.split("\\")[-1]
|
3808
|
+
file_data = File.open(file,'r', :encoding => 'utf-8').read()
|
3809
|
+
if file_data.split("\n").length < 2
|
3810
|
+
file_data = file_data + "\n"
|
3811
|
+
end
|
3812
|
+
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3813
|
+
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3814
|
+
@data['내용설정']['내용'].pop
|
3815
|
+
end
|
4340
3816
|
}
|
4341
3817
|
}
|
4342
3818
|
|
4343
|
-
|
4344
|
-
|
4345
|
-
|
4346
|
-
|
4347
|
-
|
3819
|
+
}
|
3820
|
+
horizontal_box{
|
3821
|
+
stretchy false
|
4348
3822
|
grid{
|
4349
|
-
|
4350
|
-
|
4351
|
-
|
3823
|
+
button('전체선택'){
|
3824
|
+
top 1
|
3825
|
+
left 1
|
3826
|
+
on_clicked{
|
3827
|
+
for n in 0..@data['내용설정']['내용'].length-1
|
3828
|
+
@data['내용설정']['내용'][n][0] = true
|
3829
|
+
@data['내용설정']['내용'] << []
|
3830
|
+
@data['내용설정']['내용'].pop
|
3831
|
+
end
|
4352
3832
|
}
|
4353
|
-
|
4354
|
-
|
4355
|
-
|
4356
|
-
|
3833
|
+
}
|
3834
|
+
button('선택해제'){
|
3835
|
+
top 1
|
3836
|
+
left 2
|
3837
|
+
on_clicked{
|
3838
|
+
for n in 0..@data['내용설정']['내용'].length-1
|
3839
|
+
@data['내용설정']['내용'][n][0] = false
|
3840
|
+
@data['내용설정']['내용'] << []
|
3841
|
+
@data['내용설정']['내용'].pop
|
3842
|
+
end
|
4357
3843
|
}
|
3844
|
+
}
|
3845
|
+
button('삭제하기'){
|
3846
|
+
top 1
|
3847
|
+
left 3
|
3848
|
+
on_clicked{
|
3849
|
+
m = Array.new
|
3850
|
+
for n in 0..@data['내용설정']['내용'].length-1
|
3851
|
+
if @data['내용설정']['내용'][n][0] == true
|
3852
|
+
m << n
|
3853
|
+
end
|
3854
|
+
end
|
4358
3855
|
|
4359
|
-
|
4360
|
-
|
4361
|
-
|
4362
|
-
|
4363
|
-
@data['포스트설정']['제외하고등록값'] = entry{
|
4364
|
-
top 1
|
4365
|
-
left 1
|
4366
|
-
text '특정단어'
|
3856
|
+
m.reverse.each do |i|
|
3857
|
+
@data['내용설정']['내용'].delete_at(i)
|
3858
|
+
end
|
3859
|
+
@data['내용설정']['내용'].delete(nil)
|
4367
3860
|
}
|
4368
|
-
|
4369
|
-
|
4370
|
-
|
4371
|
-
|
3861
|
+
}
|
3862
|
+
}
|
3863
|
+
@data['내용설정']['순서사용'] = checkbox('순서사용'){
|
3864
|
+
stretchy false
|
3865
|
+
on_toggled{ |c|
|
3866
|
+
if c.checked?
|
3867
|
+
@data['내용설정']['랜덤사용'].checked = false
|
3868
|
+
end
|
4372
3869
|
}
|
4373
|
-
|
4374
|
-
|
4375
|
-
|
4376
|
-
|
3870
|
+
}
|
3871
|
+
@data['내용설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3872
|
+
stretchy false
|
3873
|
+
on_toggled{ |c|
|
3874
|
+
if c.checked?
|
3875
|
+
@data['내용설정']['순서사용'].checked = false
|
3876
|
+
end
|
4377
3877
|
}
|
3878
|
+
}
|
3879
|
+
}
|
3880
|
+
vertical_separator{
|
3881
|
+
stretchy false
|
3882
|
+
}
|
3883
|
+
horizontal_box{
|
3884
|
+
stretchy false
|
3885
|
+
grid{
|
3886
|
+
@data['포스트설정']['gpt내용'] = checkbox('내용파일을 이용해 GPT로 글 변형'){
|
3887
|
+
|
3888
|
+
|
3889
|
+
}}}
|
3890
|
+
horizontal_box{
|
3891
|
+
stretchy false
|
3892
|
+
grid{
|
3893
|
+
label('※ GPT 기능 사용시 포스트설정1에서 GPT사용에 체크 필수'){
|
3894
|
+
} } }
|
3895
|
+
|
3896
|
+
table{
|
3897
|
+
checkbox_column('선택'){
|
3898
|
+
editable true
|
3899
|
+
}
|
3900
|
+
text_column('내용파일'){
|
4378
3901
|
|
4379
|
-
|
4380
|
-
top 3
|
4381
|
-
left 0
|
4382
|
-
}
|
4383
|
-
@data['포스트설정']['단어링크적용url'] = entry{
|
4384
|
-
top 3
|
4385
|
-
left 1
|
4386
|
-
text 'URL'
|
4387
|
-
}
|
3902
|
+
}
|
4388
3903
|
|
4389
|
-
|
4390
|
-
|
4391
|
-
left 0
|
4392
|
-
}
|
4393
|
-
@data['포스트설정']['단어사진으로변경단어'] = entry{
|
4394
|
-
top 4
|
4395
|
-
left 1
|
4396
|
-
text '특정단어1,@특정단어2 (앞에@붙이면 링크적용)'
|
4397
|
-
}
|
4398
|
-
label('ㄴ적용하려는 링크 URL 입력'){
|
4399
|
-
top 5
|
4400
|
-
left 0
|
4401
|
-
}
|
3904
|
+
cell_rows @data['내용설정']['내용']
|
3905
|
+
}
|
4402
3906
|
|
4403
|
-
|
4404
|
-
|
4405
|
-
|
4406
|
-
|
4407
|
-
|
3907
|
+
horizontal_box{
|
3908
|
+
stretchy false
|
3909
|
+
@data['이미지설정']['폴더경로2'] = entry{
|
3910
|
+
stretchy false
|
3911
|
+
text "내용폴더경로 ex)C:\\내용\\폴더1"
|
3912
|
+
}
|
3913
|
+
button('폴더째로 불러오기'){
|
3914
|
+
|
3915
|
+
on_clicked{
|
3916
|
+
path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3917
|
+
Dir.entries(@data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')).each do |file|
|
3918
|
+
if file == '.' or file == '..'
|
4408
3919
|
|
4409
|
-
|
4410
|
-
|
4411
|
-
|
4412
|
-
}
|
4413
|
-
@data['포스트설정']['스티커로변경단어'] = entry{
|
4414
|
-
top 6
|
4415
|
-
left 1
|
4416
|
-
text '특정단어'
|
4417
|
-
}
|
4418
|
-
@data['포스트설정']['영상으로변경'] = checkbox('내용 특정단어를 영상으로 변경'){
|
4419
|
-
top 7
|
4420
|
-
left 0
|
4421
|
-
}
|
4422
|
-
@data['포스트설정']['영상으로변경단어'] = entry{
|
4423
|
-
top 7
|
4424
|
-
left 1
|
4425
|
-
text '특정단어'
|
4426
|
-
}
|
4427
|
-
label('ㄴ동영상만 있는 폴더 지정하기'){
|
4428
|
-
top 8
|
4429
|
-
left 0
|
4430
|
-
}
|
4431
|
-
@data['포스트설정']['동영상폴더위치'] = entry{
|
4432
|
-
top 8
|
4433
|
-
left 1
|
4434
|
-
text "영상폴더위치 ex) C:\\영상\\폴더3"
|
4435
|
-
}
|
4436
|
-
@data['포스트설정']['지도로변경'] = checkbox('내용 특정단어를 지도로 변경'){
|
4437
|
-
top 9
|
4438
|
-
left 0
|
4439
|
-
}
|
4440
|
-
@data['포스트설정']['지도로변경단어'] = entry{
|
4441
|
-
top 9
|
4442
|
-
left 1
|
4443
|
-
text '특정단어'
|
4444
|
-
}
|
4445
|
-
label('ㄴ지도 삽입경우 적용 주소 입력'){
|
4446
|
-
top 10
|
4447
|
-
left 0
|
4448
|
-
}
|
4449
|
-
@data['포스트설정']['지도주소'] = entry{
|
4450
|
-
top 10
|
4451
|
-
left 1
|
4452
|
-
text 'ex) OO시 OO구 OO동 270-68'
|
4453
|
-
}
|
4454
|
-
@data['포스트설정']['인용구변경'] = checkbox('내용 특정단어를 인용구로 적용'){
|
4455
|
-
top 11
|
4456
|
-
left 0
|
4457
|
-
}
|
4458
|
-
@data['포스트설정']['인용구변경단어'] = entry{
|
4459
|
-
top 11
|
4460
|
-
left 1
|
4461
|
-
text '특정단어'
|
4462
|
-
}
|
4463
|
-
label('ㄴ인용구 사용시 들어갈 문구'){
|
4464
|
-
top 12
|
4465
|
-
left 0
|
4466
|
-
}
|
4467
|
-
button('설정 파일 불러오기'){
|
4468
|
-
top 12
|
4469
|
-
left 1
|
4470
|
-
on_clicked{
|
4471
|
-
file = open_file
|
4472
|
-
if file != nil
|
4473
|
-
file_data = File.open(file, 'r').read
|
4474
|
-
@data['포스트설정']['인용구'] = file_data.split(',')
|
3920
|
+
else
|
3921
|
+
file_data = File.open(path+'/'+file,'r', :encoding => 'utf-8').read()
|
3922
|
+
@data['내용설정']['내용'] << [false, file, file_data]
|
4475
3923
|
end
|
4476
|
-
|
4477
|
-
|
4478
|
-
|
4479
|
-
top 13
|
4480
|
-
left 0
|
4481
|
-
}
|
4482
|
-
@data['포스트설정']['내템플릿변경단어'] = entry{
|
4483
|
-
top 13
|
4484
|
-
left 1
|
4485
|
-
text '탬플릿으로 전활시킬 특정단어'
|
3924
|
+
end
|
3925
|
+
@data['내용설정']['내용'] << []
|
3926
|
+
@data['내용설정']['내용'].pop
|
4486
3927
|
}
|
4487
3928
|
}
|
4488
3929
|
}
|
4489
3930
|
}
|
4490
|
-
|
4491
|
-
|
4492
|
-
|
4493
|
-
|
4494
|
-
|
4495
|
-
|
4496
|
-
|
4497
|
-
|
4498
|
-
|
4499
|
-
|
4500
|
-
|
4501
|
-
|
3931
|
+
}
|
3932
|
+
}
|
3933
|
+
tab_item('이미지설정'){
|
3934
|
+
horizontal_box{
|
3935
|
+
vertical_box{
|
3936
|
+
stretchy false
|
3937
|
+
horizontal_box{
|
3938
|
+
stretchy false
|
3939
|
+
button('이미지불러오기'){
|
3940
|
+
on_clicked{
|
3941
|
+
file = open_file
|
3942
|
+
if file != nil
|
3943
|
+
file_name = file.split("\\")[-1]
|
3944
|
+
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3945
|
+
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3946
|
+
@data['이미지설정']['이미지'].pop
|
3947
|
+
end
|
4502
3948
|
}
|
4503
|
-
|
4504
|
-
|
4505
|
-
|
3949
|
+
}
|
3950
|
+
}
|
3951
|
+
horizontal_box{
|
3952
|
+
stretchy false
|
3953
|
+
grid{
|
3954
|
+
button('전체선택'){
|
3955
|
+
top 1
|
3956
|
+
left 1
|
3957
|
+
on_clicked{
|
3958
|
+
for n in 0..@data['이미지설정']['이미지'].length-1
|
3959
|
+
@data['이미지설정']['이미지'][n][0] = true
|
3960
|
+
@data['이미지설정']['이미지'] << []
|
3961
|
+
@data['이미지설정']['이미지'].pop
|
3962
|
+
end
|
4506
3963
|
}
|
4507
|
-
|
4508
|
-
|
4509
|
-
|
4510
|
-
|
4511
|
-
|
4512
|
-
|
4513
|
-
|
4514
|
-
|
4515
|
-
|
3964
|
+
}
|
3965
|
+
button('선택해제'){
|
3966
|
+
top 1
|
3967
|
+
left 2
|
3968
|
+
on_clicked{
|
3969
|
+
for n in 0..@data['이미지설정']['이미지'].length-1
|
3970
|
+
@data['이미지설정']['이미지'][n][0] = false
|
3971
|
+
@data['이미지설정']['이미지'] << []
|
3972
|
+
@data['이미지설정']['이미지'].pop
|
3973
|
+
end
|
4516
3974
|
}
|
4517
|
-
|
4518
|
-
|
4519
|
-
|
4520
|
-
|
4521
|
-
|
4522
|
-
|
4523
|
-
|
3975
|
+
}
|
3976
|
+
button('삭제하기'){
|
3977
|
+
top 1
|
3978
|
+
left 3
|
3979
|
+
on_clicked{
|
3980
|
+
m = Array.new
|
3981
|
+
for n in 0..@data['이미지설정']['이미지'].length-1
|
3982
|
+
if @data['이미지설정']['이미지'][n][0] == true
|
3983
|
+
m << n
|
4524
3984
|
end
|
4525
|
-
|
3985
|
+
end
|
3986
|
+
|
3987
|
+
m.reverse.each do |i|
|
3988
|
+
@data['이미지설정']['이미지'].delete_at(i)
|
3989
|
+
end
|
3990
|
+
|
3991
|
+
@data['이미지설정']['이미지'].delete(nil)
|
4526
3992
|
}
|
4527
|
-
|
4528
|
-
|
4529
|
-
|
4530
|
-
|
4531
|
-
|
4532
|
-
|
4533
|
-
|
4534
|
-
|
4535
|
-
}
|
3993
|
+
}
|
3994
|
+
}
|
3995
|
+
@data['이미지설정']['순서사용'] = checkbox('순서사용'){
|
3996
|
+
stretchy false
|
3997
|
+
on_toggled{ |c|
|
3998
|
+
if c.checked?
|
3999
|
+
@data['이미지설정']['랜덤사용'].checked = false
|
4000
|
+
end
|
4536
4001
|
}
|
4537
|
-
|
4538
|
-
|
4539
|
-
|
4002
|
+
}
|
4003
|
+
@data['이미지설정']['랜덤사용'] = checkbox('랜덤사용'){
|
4004
|
+
stretchy false
|
4005
|
+
on_toggled{ |c|
|
4006
|
+
if c.checked?
|
4007
|
+
@data['이미지설정']['순서사용'].checked = false
|
4008
|
+
end
|
4540
4009
|
}
|
4541
|
-
|
4542
|
-
|
4543
|
-
|
4544
|
-
|
4010
|
+
}
|
4011
|
+
}
|
4012
|
+
table{
|
4013
|
+
checkbox_column('선택'){
|
4014
|
+
editable true
|
4015
|
+
}
|
4016
|
+
text_column('이미지파일'){
|
4017
|
+
|
4018
|
+
}
|
4019
|
+
|
4020
|
+
cell_rows @data['이미지설정']['이미지']
|
4021
|
+
}
|
4022
|
+
horizontal_box{
|
4023
|
+
stretchy false
|
4024
|
+
@data['이미지설정']['폴더경로'] = entry{
|
4025
|
+
stretchy false
|
4026
|
+
text "사진폴더경로 ex)C:\\사진\\폴더2"
|
4027
|
+
}
|
4028
|
+
button('폴더째로 불러오기'){
|
4029
|
+
|
4030
|
+
on_clicked{
|
4031
|
+
path = @data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
4032
|
+
Dir.entries(@data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8')).each do |file|
|
4033
|
+
if file == '.' or file == '..'
|
4034
|
+
|
4035
|
+
else
|
4036
|
+
@data['이미지설정']['이미지'] << [false, file, path+"\\"+file.force_encoding('utf-8')]
|
4037
|
+
end
|
4038
|
+
end
|
4039
|
+
@data['이미지설정']['이미지'] << []
|
4040
|
+
@data['이미지설정']['이미지'].pop
|
4545
4041
|
}
|
4546
|
-
|
4547
|
-
|
4548
|
-
|
4042
|
+
}
|
4043
|
+
}
|
4044
|
+
|
4045
|
+
}
|
4046
|
+
vertical_separator{
|
4047
|
+
stretchy false
|
4048
|
+
}
|
4049
|
+
|
4050
|
+
vertical_box{
|
4051
|
+
horizontal_box{
|
4052
|
+
stretchy false
|
4053
|
+
@data['image_type'][0] = checkbox('저장 사진 사용'){
|
4054
|
+
on_toggled{
|
4055
|
+
if @data['image_type'][0].checked?
|
4056
|
+
@data['image_type'][1].checked = false
|
4057
|
+
@data['image_type'][2].checked = false
|
4058
|
+
end
|
4549
4059
|
}
|
4550
|
-
|
4551
|
-
|
4552
|
-
|
4553
|
-
|
4060
|
+
}
|
4061
|
+
@data['image_type'][1] = checkbox('색상 사진 사용'){
|
4062
|
+
on_toggled{
|
4063
|
+
if @data['image_type'][1].checked?
|
4064
|
+
@data['image_type'][0].checked = false
|
4065
|
+
@data['image_type'][2].checked = false
|
4066
|
+
end
|
4554
4067
|
}
|
4555
|
-
|
4556
|
-
|
4557
|
-
|
4558
|
-
|
4559
|
-
|
4560
|
-
|
4561
|
-
|
4562
|
-
@data['포스트설정']['막글'] = file_data
|
4563
|
-
end
|
4564
|
-
}
|
4068
|
+
}
|
4069
|
+
@data['image_type'][2] = checkbox('자동 다운로드 사진 사용'){
|
4070
|
+
on_toggled{
|
4071
|
+
if @data['image_type'][2].checked?
|
4072
|
+
@data['image_type'][1].checked = false
|
4073
|
+
@data['image_type'][0].checked = false
|
4074
|
+
end
|
4565
4075
|
}
|
4566
|
-
|
4567
|
-
|
4568
|
-
|
4076
|
+
}
|
4077
|
+
}
|
4078
|
+
|
4079
|
+
grid{
|
4080
|
+
stretchy false
|
4081
|
+
@data['이미지설정']['글자삽입1'] = checkbox('글자 삽입1'){
|
4082
|
+
top 0
|
4083
|
+
left 0
|
4084
|
+
}
|
4085
|
+
button('가져오기'){
|
4086
|
+
top 0
|
4087
|
+
left 1
|
4088
|
+
on_clicked{
|
4089
|
+
file = open_file
|
4090
|
+
if file != nil
|
4091
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4092
|
+
@data['이미지설정']['이미지글자1'] = file_data.to_s.split("\n")
|
4093
|
+
end
|
4569
4094
|
}
|
4570
|
-
|
4571
|
-
|
4572
|
-
|
4095
|
+
}
|
4096
|
+
@data['이미지설정']['이미지글자1크기1'] = entry{
|
4097
|
+
top 0
|
4098
|
+
left 2
|
4099
|
+
text 'ex) 33'
|
4100
|
+
}
|
4101
|
+
label('pt'){
|
4102
|
+
top 0
|
4103
|
+
left 3
|
4104
|
+
}
|
4105
|
+
@data['이미지설정']['이미지글자1크기2'] = entry{
|
4106
|
+
top 0
|
4107
|
+
left 4
|
4108
|
+
text 'ex) 55'
|
4109
|
+
}
|
4110
|
+
label('pt'){
|
4111
|
+
top 0
|
4112
|
+
left 5
|
4113
|
+
}
|
4114
|
+
@data['이미지설정']['글자테두리'] = checkbox('글자 테두리'){
|
4115
|
+
top 0
|
4116
|
+
left 6
|
4117
|
+
}
|
4118
|
+
|
4119
|
+
@data['이미지설정']['글자삽입2'] = checkbox('글자 삽입2'){
|
4120
|
+
top 1
|
4121
|
+
left 0
|
4122
|
+
}
|
4123
|
+
button('가져오기'){
|
4124
|
+
top 1
|
4125
|
+
left 1
|
4126
|
+
on_clicked{
|
4127
|
+
file = open_file
|
4128
|
+
if file != nil
|
4129
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4130
|
+
@data['이미지설정']['이미지글자2'] = file_data.split("\n")
|
4131
|
+
end
|
4573
4132
|
}
|
4133
|
+
}
|
4134
|
+
@data['이미지설정']['이미지글자2크기1'] = entry{
|
4135
|
+
top 1
|
4136
|
+
left 2
|
4137
|
+
text 'ex) 33'
|
4138
|
+
}
|
4139
|
+
label('pt'){
|
4140
|
+
top 1
|
4141
|
+
left 3
|
4142
|
+
}
|
4143
|
+
@data['이미지설정']['이미지글자2크기2'] = entry{
|
4144
|
+
top 1
|
4145
|
+
left 4
|
4146
|
+
text 'ex) 55'
|
4147
|
+
}
|
4148
|
+
label('pt'){
|
4149
|
+
top 1
|
4150
|
+
left 5
|
4151
|
+
}
|
4152
|
+
@data['이미지설정']['글자그림자'] = checkbox('글자 그림자'){
|
4153
|
+
top 1
|
4154
|
+
left 6
|
4155
|
+
}
|
4156
|
+
@data['이미지설정']['필터사용'] = checkbox('필터사용(색상 사진 적용불가)'){
|
4157
|
+
top 2
|
4158
|
+
left 0
|
4159
|
+
}
|
4160
|
+
@data['이미지설정']['테두리사용'] = checkbox('테두리 사용'){
|
4161
|
+
top 3
|
4162
|
+
left 0
|
4163
|
+
}
|
4164
|
+
@data['이미지설정']['테두리크기1'] = entry{
|
4165
|
+
top 3
|
4166
|
+
left 2
|
4167
|
+
text 'ex) 1'
|
4168
|
+
}
|
4169
|
+
label('pt'){
|
4170
|
+
top 3
|
4171
|
+
left 3
|
4172
|
+
}
|
4173
|
+
@data['이미지설정']['테두리크기2'] = entry{
|
4174
|
+
top 3
|
4175
|
+
left 4
|
4176
|
+
text 'ex) 33'
|
4177
|
+
}
|
4178
|
+
label('pt'){
|
4179
|
+
top 3
|
4180
|
+
left 5
|
4181
|
+
}
|
4574
4182
|
|
4575
|
-
|
4576
|
-
|
4577
|
-
|
4183
|
+
}
|
4184
|
+
|
4185
|
+
horizontal_box{
|
4186
|
+
stretchy false
|
4187
|
+
@data['image_size'][0] = checkbox('랜덤 px'){
|
4188
|
+
on_toggled{
|
4189
|
+
if @data['image_size'][0].checked?
|
4190
|
+
@data['image_size'][1].checked = false
|
4191
|
+
@data['image_size'][2].checked = false
|
4192
|
+
@data['image_size'][3].checked = false
|
4193
|
+
@data['image_size'][4].checked = false
|
4194
|
+
end
|
4578
4195
|
}
|
4579
|
-
|
4580
|
-
|
4581
|
-
|
4582
|
-
|
4196
|
+
}
|
4197
|
+
@data['image_size'][1] = checkbox('740 px'){
|
4198
|
+
on_toggled{
|
4199
|
+
if @data['image_size'][1].checked?
|
4200
|
+
@data['image_size'][0].checked = false
|
4201
|
+
@data['image_size'][2].checked = false
|
4202
|
+
@data['image_size'][3].checked = false
|
4203
|
+
@data['image_size'][4].checked = false
|
4204
|
+
end
|
4583
4205
|
}
|
4584
|
-
|
4585
|
-
|
4586
|
-
|
4206
|
+
}
|
4207
|
+
@data['image_size'][2] = checkbox('650 px'){
|
4208
|
+
on_toggled{
|
4209
|
+
if @data['image_size'][2].checked?
|
4210
|
+
@data['image_size'][1].checked = false
|
4211
|
+
@data['image_size'][0].checked = false
|
4212
|
+
@data['image_size'][3].checked = false
|
4213
|
+
@data['image_size'][4].checked = false
|
4214
|
+
end
|
4587
4215
|
}
|
4588
|
-
|
4589
|
-
|
4590
|
-
|
4591
|
-
|
4216
|
+
}
|
4217
|
+
@data['image_size'][3] = checkbox('550 px'){
|
4218
|
+
on_toggled{
|
4219
|
+
if @data['image_size'][3].checked?
|
4220
|
+
@data['image_size'][1].checked = false
|
4221
|
+
@data['image_size'][2].checked = false
|
4222
|
+
@data['image_size'][0].checked = false
|
4223
|
+
@data['image_size'][4].checked = false
|
4224
|
+
end
|
4592
4225
|
}
|
4593
|
-
|
4594
|
-
|
4595
|
-
|
4596
|
-
|
4226
|
+
}
|
4227
|
+
@data['image_size'][4] = checkbox('480 px'){
|
4228
|
+
on_toggled{
|
4229
|
+
if @data['image_size'][4].checked?
|
4230
|
+
@data['image_size'][1].checked = false
|
4231
|
+
@data['image_size'][2].checked = false
|
4232
|
+
@data['image_size'][3].checked = false
|
4233
|
+
@data['image_size'][0].checked = false
|
4234
|
+
end
|
4597
4235
|
}
|
4236
|
+
}
|
4237
|
+
}
|
4238
|
+
}
|
4239
|
+
}
|
4240
|
+
}
|
4598
4241
|
|
4599
|
-
|
4600
|
-
|
4601
|
-
|
4602
|
-
|
4242
|
+
tab_item('포스트설정1'){
|
4243
|
+
horizontal_box{
|
4244
|
+
vertical_box{
|
4245
|
+
stretchy false
|
4246
|
+
grid{
|
4247
|
+
stretchy false
|
4248
|
+
@data['포스트설정']['제목키워드변경'] = checkbox('제목에 특정 단어를 내용에 사용할 키워드로 변경'){
|
4249
|
+
top 0
|
4250
|
+
left 0
|
4603
4251
|
|
4604
|
-
|
4252
|
+
}
|
4253
|
+
@data['포스트설정']['제목키워드변경단어'] = entry{
|
4254
|
+
top 0
|
4255
|
+
left 1
|
4256
|
+
text '특정단어'
|
4257
|
+
}
|
4605
4258
|
|
4606
|
-
|
4607
|
-
|
4608
|
-
|
4609
|
-
|
4610
|
-
|
4611
|
-
|
4612
|
-
|
4613
|
-
|
4614
|
-
|
4615
|
-
|
4616
|
-
|
4617
|
-
|
4259
|
+
# @data['포스트설정']['제목단어변경'] = checkbox('제목에 특정 단어를 변경'){
|
4260
|
+
# top 1
|
4261
|
+
# left 0
|
4262
|
+
# }
|
4263
|
+
# @data['포스트설정']['제목단어변경파일불러오기'] = button('설정 파일 불러오기'){
|
4264
|
+
# top 1
|
4265
|
+
# left 1
|
4266
|
+
# on_clicked{
|
4267
|
+
# file = open_file
|
4268
|
+
# if file != nil
|
4269
|
+
# file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4270
|
+
# file_data.split("\n").each do |i|
|
4271
|
+
# i2 = i.split('>')
|
4272
|
+
# text_key = i2[0].to_s
|
4273
|
+
# text_val = i2[1].to_s.split(',')
|
4274
|
+
# @data['포스트설정']['제목특정단어변경데이터'][text_key] = text_val
|
4275
|
+
# end
|
4276
|
+
# end
|
4277
|
+
# }
|
4278
|
+
# }
|
4279
|
+
@data['포스트설정']['제목에키워드삽입'] = checkbox('제목에 키워드 삽입'){
|
4280
|
+
top 2
|
4281
|
+
left 0
|
4282
|
+
#enabled false # 기본적으로 비활성화
|
4283
|
+
on_toggled {
|
4284
|
+
if @data['포스트설정']['제목에키워드삽입'].checked?
|
4285
|
+
@data['포스트설정']['제목앞'].enabled = true # '내용투명' 활성화
|
4286
|
+
@data['포스트설정']['제목뒤'].enabled = true # '내용투명' 활성화
|
4287
|
+
else
|
4288
|
+
@data['포스트설정']['제목앞'].checked = false # 체크 해제
|
4289
|
+
@data['포스트설정']['제목앞'].enabled = false # 비활성화
|
4290
|
+
@data['포스트설정']['제목뒤'].checked = false # 체크 해제
|
4291
|
+
@data['포스트설정']['제목뒤'].enabled = false # 비활성화
|
4292
|
+
end
|
4618
4293
|
}
|
4619
|
-
|
4620
|
-
|
4621
|
-
|
4622
|
-
|
4623
|
-
|
4624
|
-
|
4625
|
-
|
4626
|
-
|
4627
|
-
|
4628
|
-
|
4294
|
+
|
4295
|
+
}
|
4296
|
+
@data['포스트설정']['제목에키워드삽입숫자1'] = entry(){
|
4297
|
+
top 2
|
4298
|
+
left 1
|
4299
|
+
text '최소수량'
|
4300
|
+
}
|
4301
|
+
label('~'){
|
4302
|
+
top 2
|
4303
|
+
left 2
|
4304
|
+
}
|
4305
|
+
@data['포스트설정']['제목에키워드삽입숫자2'] = entry(){
|
4306
|
+
top 2
|
4307
|
+
left 3
|
4308
|
+
text '최대수량'
|
4309
|
+
}
|
4310
|
+
label('ㄴ'){
|
4311
|
+
top 3
|
4312
|
+
left 2
|
4313
|
+
}
|
4314
|
+
@data['포스트설정']['제목앞'] = checkbox('제목에 키워드 삽입 제목 앞'){
|
4315
|
+
top 3
|
4316
|
+
left 3
|
4317
|
+
enabled false # 기본적으로 비활성화
|
4318
|
+
on_toggled{
|
4319
|
+
if @data['포스트설정']['제목앞'].checked? == true
|
4320
|
+
if @data['포스트설정']['제목뒤'].checked?
|
4321
|
+
@data['포스트설정']['제목뒤'].checked = false
|
4629
4322
|
end
|
4630
|
-
|
4323
|
+
end
|
4631
4324
|
}
|
4632
|
-
|
4633
|
-
|
4634
|
-
|
4635
|
-
|
4636
|
-
|
4637
|
-
|
4638
|
-
|
4639
|
-
|
4640
|
-
|
4641
|
-
|
4325
|
+
}
|
4326
|
+
label('ㄴ'){
|
4327
|
+
top 4
|
4328
|
+
left 2
|
4329
|
+
}
|
4330
|
+
@data['포스트설정']['제목뒤'] = checkbox('제목에 키워드 삽입 제목 뒤'){
|
4331
|
+
top 4
|
4332
|
+
left 3
|
4333
|
+
enabled false # 기본적으로 비활성화
|
4334
|
+
on_toggled{
|
4335
|
+
if @data['포스트설정']['제목뒤'].checked? == true
|
4336
|
+
if @data['포스트설정']['제목앞'].checked?
|
4337
|
+
@data['포스트설정']['제목앞'].checked = false
|
4642
4338
|
end
|
4643
|
-
|
4339
|
+
end
|
4644
4340
|
}
|
4645
|
-
|
4646
|
-
|
4647
|
-
|
4648
|
-
|
4649
|
-
|
4650
|
-
|
4651
|
-
|
4652
|
-
|
4653
|
-
|
4654
|
-
|
4655
|
-
|
4341
|
+
}
|
4342
|
+
|
4343
|
+
@data['포스트설정']['특수문자'] = checkbox('제목에 키워드 삽입 시 특수문자 삽입'){
|
4344
|
+
top 4
|
4345
|
+
left 0
|
4346
|
+
}
|
4347
|
+
@data['포스트설정']['제목을랜덤'] = checkbox('제목을 랜덤 단어 조합으로 자동 입력'){
|
4348
|
+
top 5
|
4349
|
+
left 0
|
4350
|
+
on_toggled{
|
4351
|
+
if @data['포스트설정']['제목을랜덤'].checked? == true
|
4352
|
+
if @data['포스트설정']['제목내용설정'].checked?
|
4353
|
+
@data['포스트설정']['제목내용설정'].checked = false
|
4656
4354
|
end
|
4657
|
-
|
4658
|
-
}
|
4659
|
-
|
4660
|
-
|
4661
|
-
|
4662
|
-
@data['포스트설정']['댓글허용'] = checkbox('댓글허용'){
|
4663
|
-
top 12
|
4664
|
-
left 0
|
4665
|
-
}
|
4666
|
-
@data['포스트설정']['블로그,카페 공유허용'] = checkbox('블로그,카페 공유허용'){
|
4667
|
-
top 12
|
4668
|
-
left 1
|
4355
|
+
end
|
4669
4356
|
}
|
4670
|
-
|
4671
|
-
|
4672
|
-
|
4357
|
+
}
|
4358
|
+
@data['포스트설정']['제목내용설정'] = checkbox('내용의 첫 문장을 제목으로 설정'){
|
4359
|
+
top 6
|
4360
|
+
left 0
|
4361
|
+
on_toggled{
|
4362
|
+
if @data['포스트설정']['제목내용설정'].checked? == true
|
4363
|
+
if @data['포스트설정']['제목을랜덤'].checked?
|
4364
|
+
@data['포스트설정']['제목을랜덤'].checked = false
|
4365
|
+
end
|
4366
|
+
end
|
4673
4367
|
}
|
4674
|
-
|
4675
|
-
|
4676
|
-
|
4368
|
+
}
|
4369
|
+
@data['포스트설정']['내용키워드삽입'] = checkbox('내용 키워드 삽입'){
|
4370
|
+
top 7
|
4371
|
+
left 0
|
4372
|
+
on_toggled {
|
4373
|
+
if @data['포스트설정']['내용키워드삽입'].checked?
|
4374
|
+
@data['포스트설정']['키워드삽입'].enabled = true # '내용투명' 활성화
|
4375
|
+
@data['포스트설정']['키워드삽입시링크'].enabled = true # '내용투명' 활성화
|
4376
|
+
else
|
4377
|
+
@data['포스트설정']['키워드삽입'].checked = false # 체크 해제
|
4378
|
+
@data['포스트설정']['키워드삽입'].enabled = false # 비활성화
|
4379
|
+
@data['포스트설정']['키워드삽입시링크'].text = 'URL' # 기본 텍스트 설정
|
4380
|
+
@data['포스트설정']['키워드삽입시링크'].enabled = false # 비활성화
|
4381
|
+
end
|
4677
4382
|
}
|
4678
|
-
|
4679
|
-
|
4680
|
-
|
4383
|
+
}
|
4384
|
+
@data['포스트설정']['키워드삽입시작숫자'] = entry(){
|
4385
|
+
top 7
|
4386
|
+
left 1
|
4387
|
+
|
4388
|
+
text '최소수량'
|
4389
|
+
}
|
4390
|
+
label('~'){
|
4391
|
+
top 7
|
4392
|
+
left 2
|
4393
|
+
}
|
4394
|
+
@data['포스트설정']['키워드삽입끝숫자'] = entry(){
|
4395
|
+
top 7
|
4396
|
+
left 3
|
4397
|
+
text '최대수량'
|
4398
|
+
}
|
4399
|
+
@data['포스트설정']['키워드삽입'] = checkbox('내용 키워드 삽입시 링크 삽입'){
|
4400
|
+
enabled false # 기본적으로 비활성화
|
4401
|
+
top 8
|
4402
|
+
left 0
|
4403
|
+
|
4404
|
+
}
|
4405
|
+
@data['포스트설정']['키워드삽입시링크'] = entry(){
|
4406
|
+
enabled false # 기본적으로 비활성화
|
4407
|
+
top 8
|
4408
|
+
left 1
|
4409
|
+
text 'URL'
|
4410
|
+
}
|
4411
|
+
@data['포스트설정']['내용을자동생성'] = checkbox('키워드기반 생성으로만 등록(GPT 미 사용시 자체 생성)'){
|
4412
|
+
top 9
|
4413
|
+
left 0
|
4414
|
+
on_toggled{
|
4415
|
+
if @data['포스트설정']['내용을자동생성'].checked?
|
4416
|
+
@data['포스트설정']['내용과자동생성'].checked = false
|
4417
|
+
@data['포스트설정']['내용투명'].checked = false
|
4418
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false
|
4419
|
+
|
4420
|
+
end
|
4681
4421
|
}
|
4422
|
+
}
|
4682
4423
|
|
4683
|
-
|
4684
|
-
|
4685
|
-
|
4686
|
-
|
4687
|
-
|
4688
|
-
|
4689
|
-
|
4690
|
-
|
4691
|
-
|
4424
|
+
|
4425
|
+
aa1 = 2
|
4426
|
+
@data['포스트설정']['내용과자동생성'] = checkbox('내용파일+키워드기반 생성 등록(GPT 미 사용시 자체 생성)') {
|
4427
|
+
top 10 + aa1
|
4428
|
+
left 0
|
4429
|
+
on_toggled {
|
4430
|
+
if @data['포스트설정']['내용과자동생성'].checked?
|
4431
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4432
|
+
@data['포스트설정']['내용투명'].enabled = true # '내용투명' 활성화
|
4433
|
+
@data['포스트설정']['자동글 수식에 입력'].enabled = true # '내용투명' 활성화
|
4434
|
+
else
|
4435
|
+
@data['포스트설정']['내용투명'].checked = false # 체크 해제
|
4436
|
+
@data['포스트설정']['내용투명'].enabled = false # 비활성화
|
4437
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false # 체크 해제
|
4438
|
+
@data['포스트설정']['자동글 수식에 입력'].enabled = false # 비활성화
|
4439
|
+
end
|
4692
4440
|
}
|
4693
|
-
|
4694
|
-
|
4695
|
-
|
4696
|
-
|
4697
|
-
|
4698
|
-
|
4699
|
-
|
4700
|
-
|
4701
|
-
|
4441
|
+
}
|
4442
|
+
|
4443
|
+
@data['포스트설정']['내용투명'] = checkbox('키워드 기반 자동 생성글 안보이게 처리') {
|
4444
|
+
top 11 + aa1
|
4445
|
+
left 0
|
4446
|
+
enabled false # 기본적으로 비활성화
|
4447
|
+
on_toggled {
|
4448
|
+
if @data['포스트설정']['내용투명'].checked?
|
4449
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4450
|
+
@data['포스트설정']['자동글 수식에 입력'].checked = false
|
4451
|
+
end
|
4702
4452
|
}
|
4703
|
-
|
4704
|
-
|
4705
|
-
|
4706
|
-
|
4707
|
-
|
4708
|
-
|
4709
|
-
|
4710
|
-
|
4453
|
+
}
|
4454
|
+
@data['포스트설정']['내용자동변경'] = checkbox('내용에 단어들을 자동 변경'){
|
4455
|
+
top 12+ aa1
|
4456
|
+
left 0
|
4457
|
+
}
|
4458
|
+
button('설정 파일 불러오기'){
|
4459
|
+
top 12+ aa1
|
4460
|
+
left 1
|
4461
|
+
on_clicked{
|
4462
|
+
file = open_file
|
4463
|
+
if file != nil
|
4464
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4465
|
+
file_data.split("\n").each do |i|
|
4466
|
+
key = i.split('>')[0]
|
4467
|
+
v = i.split('>')[1].to_s.split(',')
|
4468
|
+
@data['포스트설정']['내용자동변경값'][key] = v
|
4711
4469
|
end
|
4712
|
-
|
4470
|
+
end
|
4713
4471
|
}
|
4714
|
-
|
4715
|
-
|
4716
|
-
|
4717
|
-
|
4718
|
-
|
4719
|
-
|
4720
|
-
|
4721
|
-
|
4722
|
-
|
4723
|
-
|
4724
|
-
|
4725
|
-
|
4472
|
+
}
|
4473
|
+
@data['포스트설정']['제목에도적용'] = checkbox('제목에도 적용'){
|
4474
|
+
top 12+ aa1
|
4475
|
+
left 3
|
4476
|
+
}
|
4477
|
+
|
4478
|
+
@data['포스트설정']['내용사진자동삽입'] = checkbox('내용 사진 자동 삽입'){
|
4479
|
+
top 13+ aa1
|
4480
|
+
left 0
|
4481
|
+
#enabled false # 기본적으로 비활성화
|
4482
|
+
on_toggled {
|
4483
|
+
if @data['포스트설정']['내용사진자동삽입'].checked?
|
4484
|
+
@data['포스트설정']['내용사진링크'].enabled = true # '내용투명' 활성화
|
4485
|
+
@data['포스트설정']['내용사진링크값'].enabled = true # '내용투명' 활성화
|
4486
|
+
else
|
4487
|
+
@data['포스트설정']['내용사진링크'].checked = false # 체크 해제
|
4488
|
+
@data['포스트설정']['내용사진링크'].enabled = false # 비활성화
|
4489
|
+
@data['포스트설정']['내용사진링크값'].text = 'URL' # 기본 텍스트 설정
|
4490
|
+
@data['포스트설정']['내용사진링크값'].enabled = false # 비활성화
|
4491
|
+
end
|
4726
4492
|
}
|
4727
|
-
|
4728
|
-
|
4729
|
-
|
4493
|
+
}
|
4494
|
+
@data['포스트설정']['내용사진자동삽입시작숫자'] = entry(){
|
4495
|
+
top 13+ aa1
|
4496
|
+
left 1
|
4497
|
+
text '최소수량'
|
4498
|
+
}
|
4499
|
+
label('~'){
|
4500
|
+
top 13+ aa1
|
4501
|
+
left 2
|
4502
|
+
}
|
4503
|
+
@data['포스트설정']['내용사진자동삽입끝숫자'] = entry(){
|
4504
|
+
top 13+ aa1
|
4505
|
+
left 3
|
4506
|
+
text '최대수량'
|
4507
|
+
}
|
4730
4508
|
|
4731
|
-
|
4732
|
-
|
4733
|
-
|
4734
|
-
|
4735
|
-
|
4736
|
-
|
4737
|
-
|
4738
|
-
|
4509
|
+
@data['포스트설정']['내용사진링크'] = checkbox('내용 사진 자동 삽입시 링크 삽입'){
|
4510
|
+
enabled false # 기본적으로 비활성화
|
4511
|
+
top 14+ aa1
|
4512
|
+
left 0
|
4513
|
+
}
|
4514
|
+
|
4515
|
+
@data['포스트설정']['내용사진링크값'] = entry(){
|
4516
|
+
enabled false # 기본적으로 비활성화
|
4517
|
+
top 14+ aa1
|
4518
|
+
left 1
|
4519
|
+
text 'URL'
|
4520
|
+
}
|
4521
|
+
|
4522
|
+
@data['포스트설정']['ChatGPT사용'] = checkbox('Chat GPT 사용하기'){
|
4523
|
+
top 15+ aa1
|
4524
|
+
left 0
|
4525
|
+
}
|
4526
|
+
|
4527
|
+
@data['포스트설정']['api_key'] = entry(){
|
4528
|
+
top 15+ aa1
|
4529
|
+
left 1
|
4530
|
+
text 'api key 입력 필수!!'
|
4531
|
+
}
|
4532
|
+
|
4533
|
+
}
|
4534
|
+
}
|
4535
|
+
|
4536
|
+
vertical_separator{
|
4537
|
+
stretchy false
|
4538
|
+
}
|
4539
|
+
|
4540
|
+
|
4541
|
+
grid{
|
4542
|
+
@data['포스트설정']['특정단어키워드로변경'] = checkbox('내용 특정단어를 키워드로 변경'){
|
4543
|
+
top 0
|
4544
|
+
left 0
|
4545
|
+
}
|
4546
|
+
@data['포스트설정']['특정단어키워드로변경값'] = entry{
|
4547
|
+
top 0
|
4548
|
+
left 1
|
4549
|
+
text '특정단어'
|
4550
|
+
}
|
4551
|
+
|
4552
|
+
@data['포스트설정']['제외하고등록'] = checkbox('내용 특정단어를 제외하고 등록'){
|
4553
|
+
top 1
|
4554
|
+
left 0
|
4555
|
+
}
|
4556
|
+
@data['포스트설정']['제외하고등록값'] = entry{
|
4557
|
+
top 1
|
4558
|
+
left 1
|
4559
|
+
text '특정단어'
|
4560
|
+
}
|
4561
|
+
|
4562
|
+
@data['포스트설정']['단어링크적용'] = checkbox('내용 특정단어를 링크적용 등록'){
|
4563
|
+
top 2
|
4564
|
+
left 0
|
4565
|
+
}
|
4566
|
+
@data['포스트설정']['단어링크적용단어'] = entry{
|
4567
|
+
top 2
|
4568
|
+
left 1
|
4569
|
+
text '특정단어'
|
4570
|
+
}
|
4571
|
+
|
4572
|
+
label('ㄴ적용하려는 링크 URL 입력'){
|
4573
|
+
top 3
|
4574
|
+
left 0
|
4575
|
+
}
|
4576
|
+
@data['포스트설정']['단어링크적용url'] = entry{
|
4577
|
+
top 3
|
4578
|
+
left 1
|
4579
|
+
text 'URL'
|
4580
|
+
}
|
4581
|
+
|
4582
|
+
@data['포스트설정']['단어사진으로변경'] = checkbox('내용 특정단어를 사진으로 변경'){
|
4583
|
+
top 4
|
4584
|
+
left 0
|
4585
|
+
}
|
4586
|
+
@data['포스트설정']['단어사진으로변경단어'] = entry{
|
4587
|
+
top 4
|
4588
|
+
left 1
|
4589
|
+
text '특정단어1,@특정단어2 (앞에@붙이면 링크적용)'
|
4590
|
+
}
|
4591
|
+
label('ㄴ적용하려는 링크 URL 입력'){
|
4592
|
+
top 5
|
4593
|
+
left 0
|
4594
|
+
}
|
4595
|
+
|
4596
|
+
@data['포스트설정']['단어사진으로변경URL'] = entry{
|
4597
|
+
top 5
|
4598
|
+
left 1
|
4599
|
+
text 'URL'
|
4600
|
+
}
|
4601
|
+
|
4602
|
+
@data['포스트설정']['스티커로변경'] = checkbox('내용 특정단어를 스티커로 변경'){
|
4603
|
+
top 6
|
4604
|
+
left 0
|
4605
|
+
}
|
4606
|
+
@data['포스트설정']['스티커로변경단어'] = entry{
|
4607
|
+
top 6
|
4608
|
+
left 1
|
4609
|
+
text '특정단어'
|
4610
|
+
}
|
4611
|
+
@data['포스트설정']['영상으로변경'] = checkbox('내용 특정단어를 영상으로 변경'){
|
4612
|
+
top 7
|
4613
|
+
left 0
|
4614
|
+
}
|
4615
|
+
@data['포스트설정']['영상으로변경단어'] = entry{
|
4616
|
+
top 7
|
4617
|
+
left 1
|
4618
|
+
text '특정단어'
|
4619
|
+
}
|
4620
|
+
label('ㄴ동영상만 있는 폴더 지정하기'){
|
4621
|
+
top 8
|
4622
|
+
left 0
|
4623
|
+
}
|
4624
|
+
@data['포스트설정']['동영상폴더위치'] = entry{
|
4625
|
+
top 8
|
4626
|
+
left 1
|
4627
|
+
text "영상폴더위치 ex) C:\\영상\\폴더3"
|
4628
|
+
}
|
4629
|
+
@data['포스트설정']['지도로변경'] = checkbox('내용 특정단어를 지도로 변경'){
|
4630
|
+
top 9
|
4631
|
+
left 0
|
4632
|
+
}
|
4633
|
+
@data['포스트설정']['지도로변경단어'] = entry{
|
4634
|
+
top 9
|
4635
|
+
left 1
|
4636
|
+
text '특정단어'
|
4637
|
+
}
|
4638
|
+
label('ㄴ지도 삽입경우 적용 주소 입력'){
|
4639
|
+
top 10
|
4640
|
+
left 0
|
4641
|
+
}
|
4642
|
+
@data['포스트설정']['지도주소'] = entry{
|
4643
|
+
top 10
|
4644
|
+
left 1
|
4645
|
+
text 'ex) OO시 OO구 OO동 270-68'
|
4646
|
+
}
|
4647
|
+
@data['포스트설정']['인용구변경'] = checkbox('내용 특정단어를 인용구로 적용'){
|
4648
|
+
top 11
|
4649
|
+
left 0
|
4650
|
+
}
|
4651
|
+
@data['포스트설정']['인용구변경단어'] = entry{
|
4652
|
+
top 11
|
4653
|
+
left 1
|
4654
|
+
text '특정단어'
|
4655
|
+
}
|
4656
|
+
label('ㄴ인용구 사용시 들어갈 문구'){
|
4657
|
+
top 12
|
4658
|
+
left 0
|
4659
|
+
}
|
4660
|
+
button('설정 파일 불러오기'){
|
4661
|
+
top 12
|
4662
|
+
left 1
|
4663
|
+
on_clicked{
|
4664
|
+
file = open_file
|
4665
|
+
if file != nil
|
4666
|
+
file_data = File.open(file, 'r').read
|
4667
|
+
@data['포스트설정']['인용구'] = file_data.split(',')
|
4668
|
+
end
|
4669
|
+
}
|
4670
|
+
}
|
4671
|
+
@data['포스트설정']['내템플릿사용하기'] = checkbox('내 템플릿 사용하기'){
|
4672
|
+
top 13
|
4673
|
+
left 0
|
4674
|
+
}
|
4675
|
+
@data['포스트설정']['내템플릿변경단어'] = entry{
|
4676
|
+
top 13
|
4677
|
+
left 1
|
4678
|
+
text '탬플릿으로 전활시킬 특정단어'
|
4679
|
+
}
|
4680
|
+
}
|
4681
|
+
}
|
4682
|
+
}
|
4683
|
+
tab_item('포스트설정2'){
|
4684
|
+
vertical_box{
|
4685
|
+
grid{
|
4686
|
+
stretchy false
|
4687
|
+
|
4688
|
+
@data['포스트설정']['특정단어굵기'] = checkbox('내용 특정단어 굵기 변경(적용 단어 앞 뒤에 @@삽입)'){
|
4689
|
+
top 0
|
4690
|
+
left 0
|
4691
|
+
}
|
4692
|
+
@data['포스트설정']['단어색상변경'] = checkbox('내용 특정단어 색상 변경(적용 단어 앞 뒤에 %%삽입)'){
|
4693
|
+
top 1
|
4694
|
+
left 0
|
4695
|
+
}
|
4696
|
+
@data['포스트설정']['단어크기변경'] = checkbox('내용 특정단어 크기 변경(적용 단어 앞 &30& 뒤에 &&삽입) ex) &&19&& 카페 &&&&'){
|
4697
|
+
top 2
|
4698
|
+
left 0
|
4699
|
+
}
|
4700
|
+
@data['포스트설정']['중앙정렬'] = checkbox('내용 글 중앙 정렬'){
|
4701
|
+
top 3
|
4702
|
+
left 0
|
4703
|
+
on_toggled{
|
4704
|
+
if @data['포스트설정']['중앙정렬'].checked?
|
4705
|
+
@data['포스트설정']['좌측정렬'].checked = false
|
4706
|
+
@data['포스트설정']['우측정렬'].checked = false
|
4707
|
+
end
|
4708
|
+
}
|
4709
|
+
}
|
4710
|
+
@data['포스트설정']['좌측정렬'] = checkbox('내용 글 좌측 정렬'){
|
4711
|
+
top 4
|
4712
|
+
left 0
|
4713
|
+
on_toggled{
|
4714
|
+
if @data['포스트설정']['좌측정렬'].checked?
|
4715
|
+
@data['포스트설정']['중앙정렬'].checked = false
|
4716
|
+
@data['포스트설정']['우측정렬'].checked = false
|
4717
|
+
end
|
4718
|
+
}
|
4719
|
+
}
|
4720
|
+
@data['포스트설정']['우측정렬'] = checkbox('내용 글 우측 정렬'){
|
4721
|
+
top 5
|
4722
|
+
left 0
|
4723
|
+
on_toggled{
|
4724
|
+
if @data['포스트설정']['우측정렬'].checked?
|
4725
|
+
@data['포스트설정']['좌측정렬'].checked = false
|
4726
|
+
@data['포스트설정']['중앙정렬'].checked = false
|
4727
|
+
end
|
4728
|
+
}
|
4729
|
+
}
|
4730
|
+
@data['포스트설정']['막글삽입'] = checkbox('내용 하단에 막글 삽입'){
|
4731
|
+
top 6
|
4732
|
+
left 0
|
4733
|
+
#enabled false # 기본적으로 비활성화
|
4734
|
+
on_toggled {
|
4735
|
+
if @data['포스트설정']['막글삽입'].checked?
|
4736
|
+
@data['포스트설정']['막글투명'].enabled = true # '내용투명' 활성화
|
4737
|
+
@data['포스트설정']['막글그대로'].enabled = true # '내용투명' 활성화
|
4738
|
+
@data['포스트설정']['막글 수식에 입력'].enabled = true # '내용투명' 활성화
|
4739
|
+
|
4740
|
+
else
|
4741
|
+
@data['포스트설정']['막글투명'].checked = false # 체크 해제
|
4742
|
+
@data['포스트설정']['막글투명'].enabled = false # 비활성화
|
4743
|
+
@data['포스트설정']['막글그대로'].checked = false # 체크 해제
|
4744
|
+
@data['포스트설정']['막글그대로'].enabled = false # 비활성화
|
4745
|
+
@data['포스트설정']['막글 수식에 입력'].checked = false # 체크 해제
|
4746
|
+
@data['포스트설정']['막글 수식에 입력'].enabled = false # 비활성화
|
4747
|
+
end
|
4748
|
+
}
|
4749
|
+
}
|
4750
|
+
@data['포스트설정']['막글삽입시작숫자'] = entry{
|
4751
|
+
top 6
|
4752
|
+
left 1
|
4753
|
+
text '최소수량'
|
4754
|
+
}
|
4755
|
+
label('~'){
|
4756
|
+
top 6
|
4757
|
+
left 2
|
4758
|
+
}
|
4759
|
+
@data['포스트설정']['막글삽입끝숫자'] = entry{
|
4760
|
+
top 6
|
4761
|
+
left 3
|
4762
|
+
text '최대수량'
|
4763
|
+
}
|
4764
|
+
button('막글 파일 불러오기'){
|
4765
|
+
top 6
|
4766
|
+
left 4
|
4767
|
+
on_clicked{
|
4768
|
+
file = open_file
|
4769
|
+
if file != nil
|
4770
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4771
|
+
@data['포스트설정']['막글'] = file_data
|
4772
|
+
end
|
4773
|
+
}
|
4774
|
+
}
|
4775
|
+
@data['포스트설정']['막글투명'] = checkbox('막글 안보이게 처리'){
|
4776
|
+
top 7
|
4777
|
+
left 0
|
4778
|
+
enabled false # 기본적으로 비활성화
|
4779
|
+
}
|
4780
|
+
@data['포스트설정']['막글그대로'] = checkbox('막글 그대로 입력'){
|
4781
|
+
top 7
|
4782
|
+
left 1
|
4783
|
+
enabled false # 기본적으로 비활성화
|
4784
|
+
}
|
4785
|
+
|
4786
|
+
@data['포스트설정']['태그삽입1'] = checkbox('태그삽입'){
|
4787
|
+
top 8
|
4788
|
+
left 0
|
4789
|
+
}
|
4790
|
+
@data['포스트설정']['태그삽입1시작숫자'] = entry{
|
4791
|
+
top 8
|
4792
|
+
left 1
|
4793
|
+
text '최소수량'
|
4794
|
+
}
|
4795
|
+
label('~'){
|
4796
|
+
top 8
|
4797
|
+
left 2
|
4798
|
+
}
|
4799
|
+
@data['포스트설정']['태그삽입1끝숫자'] = entry{
|
4800
|
+
top 8
|
4801
|
+
left 3
|
4802
|
+
text '최대수량'
|
4803
|
+
}
|
4804
|
+
|
4805
|
+
@data['포스트설정']['자동글 수식에 입력'] = checkbox('자동글 수식에 입력'){
|
4806
|
+
top 9
|
4807
|
+
left 0
|
4808
|
+
enabled false # 기본적으로 비활성화
|
4809
|
+
on_toggled {
|
4810
|
+
if @data['포스트설정']['자동글 수식에 입력'].checked?
|
4811
|
+
@data['포스트설정']['내용을자동생성'].checked = false
|
4812
|
+
@data['포스트설정']['내용투명'].checked = false
|
4813
|
+
end
|
4739
4814
|
}
|
4815
|
+
}
|
4816
|
+
|
4817
|
+
@data['포스트설정']['막글 수식에 입력'] = checkbox('막글 수식에 입력'){
|
4818
|
+
top 9
|
4819
|
+
left 1
|
4820
|
+
enabled false # 기본적으로 비활성화
|
4821
|
+
}
|
4822
|
+
|
4823
|
+
|
4824
|
+
|
4825
|
+
@data['포스트설정']['전체공개'] = checkbox('전체공개'){
|
4826
|
+
top 10
|
4827
|
+
left 0
|
4828
|
+
on_toggled{
|
4829
|
+
if @data['포스트설정']['전체공개'].checked?
|
4830
|
+
if @data['포스트설정']['비공개'].checked? or @data['포스트설정']['서로이웃공개'].checked? or @data['포스트설정']['멤버공개'].checked?
|
4831
|
+
@data['포스트설정']['멤버공개'].checked = false
|
4832
|
+
@data['포스트설정']['서로이웃공개'].checked = false
|
4833
|
+
@data['포스트설정']['비공개'].checked = false
|
4834
|
+
end
|
4835
|
+
end
|
4836
|
+
}
|
4837
|
+
}
|
4838
|
+
@data['포스트설정']['멤버공개'] = checkbox('이웃공개'){
|
4839
|
+
top 10
|
4840
|
+
left 1
|
4841
|
+
on_toggled{
|
4842
|
+
if @data['포스트설정']['멤버공개'].checked?
|
4843
|
+
if @data['포스트설정']['전체공개'].checked? or @data['포스트설정']['서로이웃공개'].checked? or @data['포스트설정']['비공개'].checked?
|
4844
|
+
@data['포스트설정']['전체공개'].checked = false
|
4845
|
+
@data['포스트설정']['서로이웃공개'].checked = false
|
4846
|
+
@data['포스트설정']['비공개'].checked = false
|
4847
|
+
end
|
4848
|
+
end
|
4849
|
+
}
|
4850
|
+
}
|
4851
|
+
@data['포스트설정']['서로이웃공개'] = checkbox('서로이웃공개'){
|
4852
|
+
top 11
|
4853
|
+
left 0
|
4854
|
+
on_toggled{
|
4855
|
+
if @data['포스트설정']['서로이웃공개'].checked?
|
4856
|
+
if @data['포스트설정']['전체공개'].checked? or @data['포스트설정']['비공개'].checked? or @data['포스트설정']['멤버공개'].checked?
|
4857
|
+
@data['포스트설정']['전체공개'].checked = false
|
4858
|
+
@data['포스트설정']['비공개'].checked = false
|
4859
|
+
@data['포스트설정']['멤버공개'].checked = false
|
4860
|
+
end
|
4861
|
+
end
|
4862
|
+
}
|
4863
|
+
}
|
4864
|
+
|
4865
|
+
@data['포스트설정']['비공개'] = checkbox('비공개'){
|
4866
|
+
top 11
|
4867
|
+
left 1
|
4868
|
+
on_toggled{
|
4869
|
+
if @data['포스트설정']['비공개'].checked?
|
4870
|
+
if @data['포스트설정']['전체공개'].checked? or @data['포스트설정']['서로이웃공개'].checked? or @data['포스트설정']['멤버공개'].checked?
|
4871
|
+
@data['포스트설정']['전체공개'].checked = false
|
4872
|
+
@data['포스트설정']['서로이웃공개'].checked = false
|
4873
|
+
@data['포스트설정']['멤버공개'].checked = false
|
4874
|
+
end
|
4875
|
+
end
|
4876
|
+
}
|
4877
|
+
}
|
4878
|
+
|
4879
|
+
|
4880
|
+
|
4881
|
+
@data['포스트설정']['댓글허용'] = checkbox('댓글허용'){
|
4882
|
+
top 12
|
4883
|
+
left 0
|
4884
|
+
}
|
4885
|
+
@data['포스트설정']['블로그,카페 공유허용'] = checkbox('블로그,카페 공유허용'){
|
4886
|
+
top 12
|
4887
|
+
left 1
|
4888
|
+
}
|
4889
|
+
@data['포스트설정']['외부공유허용'] = checkbox('외부공유허용'){
|
4890
|
+
top 13
|
4891
|
+
left 0
|
4892
|
+
}
|
4893
|
+
@data['포스트설정']['검색허용'] = checkbox('검색허용'){
|
4894
|
+
top 13
|
4895
|
+
left 1
|
4896
|
+
}
|
4897
|
+
@data['포스트설정']['공감허용'] = checkbox('공감허용'){
|
4898
|
+
top 14
|
4899
|
+
left 0
|
4900
|
+
}
|
4901
|
+
|
4902
|
+
@data['포스트설정']['테더링'] = checkbox('테더링 IP 사용'){
|
4903
|
+
top 15
|
4904
|
+
left 0
|
4905
|
+
on_toggled{
|
4906
|
+
if @data['포스트설정']['테더링'].checked?
|
4907
|
+
@data['포스트설정']['프록시'].checked = false
|
4908
|
+
|
4909
|
+
end
|
4910
|
+
}
|
4911
|
+
}
|
4912
|
+
@data['포스트설정']['프록시'] = checkbox('프록시 IP 사용'){
|
4913
|
+
top 15
|
4914
|
+
left 1
|
4915
|
+
on_toggled{
|
4916
|
+
if @data['포스트설정']['프록시'].checked?
|
4917
|
+
@data['포스트설정']['테더링'].checked = false
|
4918
|
+
|
4919
|
+
end
|
4920
|
+
}
|
4921
|
+
}
|
4922
|
+
button('프록시 IP 파일 불러오기'){
|
4923
|
+
top 15
|
4924
|
+
left 3
|
4925
|
+
on_clicked{
|
4926
|
+
file = open_file
|
4927
|
+
if file != nil
|
4928
|
+
file_data = File.open(file,'r').read
|
4929
|
+
@data['포스트설정']['프록시리스트'] = file_data.split("\n")
|
4930
|
+
end
|
4931
|
+
}
|
4932
|
+
}
|
4933
|
+
|
4934
|
+
@data['포스트설정']['발행기능'] = checkbox('포스팅 글 [ 발행 ] 하기'){
|
4935
|
+
top 16
|
4936
|
+
left 0
|
4937
|
+
on_toggled{
|
4938
|
+
if @data['포스트설정']['발행기능'].checked?
|
4939
|
+
if @data['포스트설정']['저장기능'].checked?
|
4940
|
+
@data['포스트설정']['저장기능'].checked = false
|
4941
|
+
|
4942
|
+
end
|
4943
|
+
end
|
4944
|
+
}
|
4945
|
+
}
|
4946
|
+
@data['포스트설정']['저장기능'] = checkbox('포스팅 글 [ 저장 ] 하기'){
|
4947
|
+
top 16
|
4948
|
+
left 1
|
4949
|
+
|
4950
|
+
on_toggled{
|
4951
|
+
if @data['포스트설정']['저장기능'].checked?
|
4952
|
+
if @data['포스트설정']['발행기능'].checked?
|
4953
|
+
@data['포스트설정']['발행기능'].checked = false
|
4954
|
+
|
4955
|
+
end
|
4956
|
+
end
|
4740
4957
|
}
|
4741
4958
|
}
|
4742
4959
|
}
|
4743
4960
|
}
|
4961
|
+
}
|
4962
|
+
}
|
4744
4963
|
|
4745
4964
|
horizontal_box{
|
4746
4965
|
stretchy false
|