nblog_zon 0.0.7 → 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 +1552 -1332
- 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
|
@@ -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
|
@@ -3411,1261 +3452,1440 @@ class Wordpress
|
|
3411
3452
|
}
|
3412
3453
|
}
|
3413
3454
|
}
|
3414
|
-
|
3455
|
+
tab_item('내용설정'){
|
3456
|
+
horizontal_box{
|
3457
|
+
vertical_box{
|
3415
3458
|
horizontal_box{
|
3416
|
-
|
3417
|
-
|
3418
|
-
|
3419
|
-
|
3420
|
-
|
3421
|
-
|
3422
|
-
|
3423
|
-
|
3424
|
-
file_data.split("\n").each do |keyword|
|
3425
|
-
if keyword.split(' ').join('').length < 2
|
3426
|
-
|
3427
|
-
else
|
3428
|
-
@data['키워드설정']['키워드'] << [false, keyword]
|
3429
|
-
@data['키워드설정']['키워드'] << [false, keyword]
|
3430
|
-
@data['키워드설정']['키워드'].pop
|
3431
|
-
end
|
3432
|
-
end
|
3433
|
-
end
|
3434
|
-
|
3435
|
-
}
|
3436
|
-
}
|
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
|
3437
3467
|
|
3438
|
-
|
3439
|
-
|
3440
|
-
|
3441
|
-
grid{
|
3442
|
-
button('전체선택'){
|
3443
|
-
top 1
|
3444
|
-
left 1
|
3445
|
-
on_clicked{
|
3446
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3447
|
-
@data['키워드설정']['키워드'][n][0] = true
|
3448
|
-
@data['키워드설정']['키워드'] << []
|
3449
|
-
@data['키워드설정']['키워드'].pop
|
3450
|
-
end
|
3451
|
-
}
|
3452
|
-
}
|
3453
|
-
button('선택해제'){
|
3454
|
-
top 1
|
3455
|
-
left 2
|
3456
|
-
on_clicked{
|
3457
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3458
|
-
@data['키워드설정']['키워드'][n][0] = false
|
3459
|
-
@data['키워드설정']['키워드'] << []
|
3468
|
+
else
|
3469
|
+
@data['키워드설정']['키워드'] << [false, keyword]
|
3470
|
+
@data['키워드설정']['키워드'] << [false, keyword]
|
3460
3471
|
@data['키워드설정']['키워드'].pop
|
3461
3472
|
end
|
3462
|
-
|
3463
|
-
|
3464
|
-
button('삭제하기'){
|
3465
|
-
top 1
|
3466
|
-
left 3
|
3467
|
-
on_clicked{
|
3468
|
-
m = Array.new
|
3469
|
-
for n in 0..@data['키워드설정']['키워드'].length-1
|
3470
|
-
if @data['키워드설정']['키워드'][n][0] == true
|
3471
|
-
m << n
|
3472
|
-
end
|
3473
|
-
end
|
3473
|
+
end
|
3474
|
+
end
|
3474
3475
|
|
3475
|
-
m.reverse.each do |i|
|
3476
|
-
@data['키워드설정']['키워드'].delete_at(i)
|
3477
|
-
end
|
3478
|
-
@data['키워드설정']['키워드'].delete(nil)
|
3479
|
-
}
|
3480
|
-
}
|
3481
|
-
}
|
3482
|
-
|
3483
|
-
@data['키워드설정']['순서사용'] = checkbox('순서사용'){
|
3484
|
-
stretchy false
|
3485
|
-
on_toggled{ |c|
|
3486
|
-
if c.checked?
|
3487
|
-
@data['키워드설정']['랜덤사용'].checked = false
|
3488
|
-
end
|
3489
|
-
}
|
3490
|
-
}
|
3491
|
-
@data['키워드설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3492
|
-
stretchy false
|
3493
|
-
on_toggled{ |c|
|
3494
|
-
if c.checked?
|
3495
|
-
@data['키워드설정']['순서사용'].checked = false
|
3496
|
-
end
|
3497
|
-
}
|
3498
|
-
}
|
3499
3476
|
}
|
3500
|
-
|
3501
|
-
checkbox_column('선택'){
|
3502
|
-
editable true
|
3503
|
-
}
|
3504
|
-
text_column('키워드'){
|
3505
|
-
|
3506
|
-
}
|
3477
|
+
}
|
3507
3478
|
|
3508
|
-
|
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
|
3509
3492
|
}
|
3510
|
-
|
3511
3493
|
}
|
3512
|
-
|
3513
|
-
|
3514
|
-
|
3515
|
-
|
3516
|
-
|
3517
|
-
|
3518
|
-
|
3519
|
-
|
3520
|
-
|
3521
|
-
if file != nil
|
3522
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3523
|
-
file_data.split("\n").each do |title|
|
3524
|
-
if title.split(" ").join('').length < 2
|
3525
|
-
|
3526
|
-
else
|
3527
|
-
@data['제목설정']['제목'] << [false, title]
|
3528
|
-
@data['제목설정']['제목'] << [false, title]
|
3529
|
-
@data['제목설정']['제목'].pop
|
3530
|
-
end
|
3531
|
-
end
|
3532
|
-
end
|
3533
|
-
}
|
3534
|
-
}
|
3535
|
-
|
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
|
3536
3503
|
}
|
3537
|
-
|
3538
|
-
|
3539
|
-
|
3540
|
-
|
3541
|
-
|
3542
|
-
|
3543
|
-
|
3544
|
-
|
3545
|
-
|
3546
|
-
|
3547
|
-
|
3548
|
-
end
|
3549
|
-
}
|
3550
|
-
}
|
3551
|
-
button('선택해제'){
|
3552
|
-
top 1
|
3553
|
-
left 2
|
3554
|
-
on_clicked{
|
3555
|
-
for n in 0..@data['제목설정']['제목'].length-1
|
3556
|
-
@data['제목설정']['제목'][n][0] = false
|
3557
|
-
@data['제목설정']['제목'] << []
|
3558
|
-
@data['제목설정']['제목'].pop
|
3559
|
-
end
|
3560
|
-
}
|
3561
|
-
}
|
3562
|
-
button('삭제하기'){
|
3563
|
-
top 1
|
3564
|
-
left 3
|
3565
|
-
on_clicked{
|
3566
|
-
m = Array.new
|
3567
|
-
for n in 0..@data['제목설정']['제목'].length-1
|
3568
|
-
if @data['제목설정']['제목'][n][0] == true
|
3569
|
-
m << n
|
3570
|
-
end
|
3571
|
-
end
|
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
|
3572
3515
|
|
3573
|
-
|
3574
|
-
|
3575
|
-
|
3576
|
-
|
3577
|
-
}
|
3578
|
-
}
|
3579
|
-
}
|
3580
|
-
@data['제목설정']['순서사용'] = checkbox('순서사용'){
|
3581
|
-
stretchy false
|
3582
|
-
on_toggled{ |c|
|
3583
|
-
if c.checked?
|
3584
|
-
@data['제목설정']['랜덤사용'].checked = false
|
3585
|
-
end
|
3586
|
-
}
|
3587
|
-
}
|
3588
|
-
@data['제목설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3589
|
-
stretchy false
|
3590
|
-
on_toggled{ |c|
|
3591
|
-
if c.checked?
|
3592
|
-
@data['제목설정']['순서사용'].checked = false
|
3593
|
-
end
|
3594
|
-
}
|
3595
|
-
}
|
3516
|
+
m.reverse.each do |i|
|
3517
|
+
@data['키워드설정']['키워드'].delete_at(i)
|
3518
|
+
end
|
3519
|
+
@data['키워드설정']['키워드'].delete(nil)
|
3596
3520
|
}
|
3597
|
-
|
3598
|
-
|
3599
|
-
|
3600
|
-
|
3601
|
-
|
3602
|
-
|
3603
|
-
|
3604
|
-
|
3605
|
-
|
3521
|
+
}
|
3522
|
+
}
|
3523
|
+
|
3524
|
+
@data['키워드설정']['순서사용'] = checkbox('순서사용'){
|
3525
|
+
stretchy false
|
3526
|
+
on_toggled{ |c|
|
3527
|
+
if c.checked?
|
3528
|
+
@data['키워드설정']['랜덤사용'].checked = false
|
3529
|
+
end
|
3606
3530
|
}
|
3607
|
-
|
3608
3531
|
}
|
3609
|
-
|
3532
|
+
@data['키워드설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3610
3533
|
stretchy false
|
3534
|
+
on_toggled{ |c|
|
3535
|
+
if c.checked?
|
3536
|
+
@data['키워드설정']['순서사용'].checked = false
|
3537
|
+
end
|
3538
|
+
}
|
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
|
+
}
|
3611
3574
|
}
|
3612
|
-
vertical_box{
|
3613
|
-
horizontal_box{
|
3614
|
-
stretchy false
|
3615
|
-
button('내용불러오기'){
|
3616
|
-
on_clicked{
|
3617
|
-
file = open_file
|
3618
|
-
if file != nil
|
3619
|
-
file_name = file.split("\\")[-1]
|
3620
|
-
file_data = File.open(file,'r', :encoding => 'utf-8').read()
|
3621
|
-
if file_data.split("\n").length < 2
|
3622
|
-
file_data = file_data + "\n"
|
3623
|
-
end
|
3624
|
-
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3625
|
-
@data['내용설정']['내용'] << [false, file_name, file_data]
|
3626
|
-
@data['내용설정']['내용'].pop
|
3627
|
-
end
|
3628
|
-
}
|
3629
|
-
}
|
3630
3575
|
|
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
|
3631
3584
|
}
|
3632
|
-
|
3633
|
-
|
3634
|
-
|
3635
|
-
|
3636
|
-
|
3637
|
-
|
3638
|
-
|
3639
|
-
|
3640
|
-
|
3641
|
-
|
3642
|
-
|
3643
|
-
|
3644
|
-
|
3645
|
-
|
3646
|
-
button('선택해제'){
|
3647
|
-
top 1
|
3648
|
-
left 2
|
3649
|
-
on_clicked{
|
3650
|
-
for n in 0..@data['내용설정']['내용'].length-1
|
3651
|
-
@data['내용설정']['내용'][n][0] = false
|
3652
|
-
@data['내용설정']['내용'] << []
|
3653
|
-
@data['내용설정']['내용'].pop
|
3654
|
-
end
|
3655
|
-
}
|
3656
|
-
}
|
3657
|
-
button('삭제하기'){
|
3658
|
-
top 1
|
3659
|
-
left 3
|
3660
|
-
on_clicked{
|
3661
|
-
m = Array.new
|
3662
|
-
for n in 0..@data['내용설정']['내용'].length-1
|
3663
|
-
if @data['내용설정']['내용'][n][0] == true
|
3664
|
-
m << n
|
3665
|
-
end
|
3666
|
-
end
|
3667
|
-
|
3668
|
-
m.reverse.each do |i|
|
3669
|
-
@data['내용설정']['내용'].delete_at(i)
|
3670
|
-
end
|
3671
|
-
@data['내용설정']['내용'].delete(nil)
|
3672
|
-
}
|
3673
|
-
}
|
3674
|
-
}
|
3675
|
-
@data['내용설정']['순서사용'] = checkbox('순서사용'){
|
3676
|
-
stretchy false
|
3677
|
-
on_toggled{ |c|
|
3678
|
-
if c.checked?
|
3679
|
-
@data['내용설정']['랜덤사용'].checked = false
|
3680
|
-
end
|
3681
|
-
}
|
3682
|
-
}
|
3683
|
-
@data['내용설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3684
|
-
stretchy false
|
3685
|
-
on_toggled{ |c|
|
3686
|
-
if c.checked?
|
3687
|
-
@data['내용설정']['순서사용'].checked = false
|
3688
|
-
end
|
3689
|
-
}
|
3690
|
-
}
|
3691
|
-
}
|
3692
|
-
table{
|
3693
|
-
checkbox_column('선택'){
|
3694
|
-
editable true
|
3695
|
-
}
|
3696
|
-
text_column('내용파일'){
|
3697
|
-
|
3698
|
-
}
|
3699
|
-
|
3700
|
-
cell_rows @data['내용설정']['내용']
|
3701
|
-
}
|
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('키워드'){
|
3702
3599
|
|
3703
|
-
horizontal_box{
|
3704
|
-
stretchy false
|
3705
|
-
@data['이미지설정']['폴더경로2'] = entry{
|
3706
|
-
stretchy false
|
3707
|
-
text "내용폴더경로 ex)C:\\내용\\폴더1"
|
3708
|
-
}
|
3709
|
-
button('폴더째로불러오기'){
|
3710
|
-
stretchy false
|
3711
|
-
on_clicked{
|
3712
|
-
path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
|
3713
|
-
Dir.entries(@data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')).each do |file|
|
3714
|
-
if file == '.' or file == '..'
|
3715
|
-
|
3716
|
-
else
|
3717
|
-
file_data = File.open(path+'/'+file,'r', :encoding => 'utf-8').read()
|
3718
|
-
@data['내용설정']['내용'] << [false, file, file_data]
|
3719
|
-
end
|
3720
|
-
end
|
3721
|
-
@data['내용설정']['내용'] << []
|
3722
|
-
@data['내용설정']['내용'].pop
|
3723
|
-
}
|
3724
|
-
}
|
3725
|
-
}
|
3726
3600
|
}
|
3601
|
+
|
3602
|
+
cell_rows @data['키워드설정']['키워드']
|
3727
3603
|
}
|
3604
|
+
|
3605
|
+
|
3606
|
+
|
3607
|
+
}
|
3608
|
+
vertical_separator{
|
3609
|
+
stretchy false
|
3728
3610
|
}
|
3729
|
-
|
3611
|
+
vertical_box{
|
3730
3612
|
horizontal_box{
|
3731
|
-
|
3732
|
-
|
3733
|
-
|
3734
|
-
|
3735
|
-
|
3736
|
-
|
3737
|
-
|
3738
|
-
if
|
3739
|
-
file_name = file.split("\\")[-1]
|
3740
|
-
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3741
|
-
@data['이미지설정']['이미지'] << [false, file_name, file]
|
3742
|
-
@data['이미지설정']['이미지'].pop
|
3743
|
-
end
|
3744
|
-
}
|
3745
|
-
}
|
3746
|
-
}
|
3747
|
-
horizontal_box{
|
3748
|
-
stretchy false
|
3749
|
-
grid{
|
3750
|
-
button('전체선택'){
|
3751
|
-
top 1
|
3752
|
-
left 1
|
3753
|
-
on_clicked{
|
3754
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3755
|
-
@data['이미지설정']['이미지'][n][0] = true
|
3756
|
-
@data['이미지설정']['이미지'] << []
|
3757
|
-
@data['이미지설정']['이미지'].pop
|
3758
|
-
end
|
3759
|
-
}
|
3760
|
-
}
|
3761
|
-
button('선택해제'){
|
3762
|
-
top 1
|
3763
|
-
left 2
|
3764
|
-
on_clicked{
|
3765
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3766
|
-
@data['이미지설정']['이미지'][n][0] = false
|
3767
|
-
@data['이미지설정']['이미지'] << []
|
3768
|
-
@data['이미지설정']['이미지'].pop
|
3769
|
-
end
|
3770
|
-
}
|
3771
|
-
}
|
3772
|
-
button('삭제하기'){
|
3773
|
-
top 1
|
3774
|
-
left 3
|
3775
|
-
on_clicked{
|
3776
|
-
m = Array.new
|
3777
|
-
for n in 0..@data['이미지설정']['이미지'].length-1
|
3778
|
-
if @data['이미지설정']['이미지'][n][0] == true
|
3779
|
-
m << n
|
3780
|
-
end
|
3781
|
-
end
|
3782
|
-
|
3783
|
-
m.reverse.each do |i|
|
3784
|
-
@data['이미지설정']['이미지'].delete_at(i)
|
3785
|
-
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
|
3786
3621
|
|
3787
|
-
|
3788
|
-
|
3789
|
-
|
3790
|
-
|
3791
|
-
@data['이미지설정']['순서사용'] = checkbox('순서사용'){
|
3792
|
-
stretchy false
|
3793
|
-
on_toggled{ |c|
|
3794
|
-
if c.checked?
|
3795
|
-
@data['이미지설정']['랜덤사용'].checked = false
|
3796
|
-
end
|
3797
|
-
}
|
3798
|
-
}
|
3799
|
-
@data['이미지설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3800
|
-
stretchy false
|
3801
|
-
on_toggled{ |c|
|
3802
|
-
if c.checked?
|
3803
|
-
@data['이미지설정']['순서사용'].checked = false
|
3622
|
+
else
|
3623
|
+
@data['제목설정']['제목'] << [false, title]
|
3624
|
+
@data['제목설정']['제목'] << [false, title]
|
3625
|
+
@data['제목설정']['제목'].pop
|
3804
3626
|
end
|
3805
|
-
|
3806
|
-
|
3627
|
+
end
|
3628
|
+
end
|
3807
3629
|
}
|
3808
|
-
|
3809
|
-
checkbox_column('선택'){
|
3810
|
-
editable true
|
3811
|
-
}
|
3812
|
-
text_column('이미지파일'){
|
3813
|
-
|
3814
|
-
}
|
3630
|
+
}
|
3815
3631
|
|
3816
|
-
|
3817
|
-
|
3818
|
-
|
3819
|
-
|
3820
|
-
|
3821
|
-
|
3822
|
-
|
3823
|
-
|
3824
|
-
|
3825
|
-
|
3826
|
-
|
3827
|
-
|
3828
|
-
|
3829
|
-
if file == '.' or file == '..'
|
3830
|
-
|
3831
|
-
else
|
3832
|
-
@data['이미지설정']['이미지'] << [false, file, path+"\\"+file.force_encoding('utf-8')]
|
3833
|
-
end
|
3834
|
-
end
|
3835
|
-
@data['이미지설정']['이미지'] << []
|
3836
|
-
@data['이미지설정']['이미지'].pop
|
3837
|
-
}
|
3838
|
-
}
|
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
|
3839
3645
|
}
|
3840
|
-
|
3841
3646
|
}
|
3842
|
-
|
3843
|
-
|
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
|
+
}
|
3844
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
|
3845
3668
|
|
3846
|
-
|
3847
|
-
|
3848
|
-
|
3849
|
-
@data['
|
3850
|
-
on_toggled{
|
3851
|
-
if @data['image_type'][0].checked?
|
3852
|
-
@data['image_type'][1].checked = false
|
3853
|
-
@data['image_type'][2].checked = false
|
3854
|
-
end
|
3855
|
-
}
|
3856
|
-
}
|
3857
|
-
@data['image_type'][1] = checkbox('색상 사진 사용'){
|
3858
|
-
on_toggled{
|
3859
|
-
if @data['image_type'][1].checked?
|
3860
|
-
@data['image_type'][0].checked = false
|
3861
|
-
@data['image_type'][2].checked = false
|
3862
|
-
end
|
3863
|
-
}
|
3864
|
-
}
|
3865
|
-
@data['image_type'][2] = checkbox('자동 다운로드 사진 사용'){
|
3866
|
-
on_toggled{
|
3867
|
-
if @data['image_type'][2].checked?
|
3868
|
-
@data['image_type'][1].checked = false
|
3869
|
-
@data['image_type'][0].checked = false
|
3870
|
-
end
|
3871
|
-
}
|
3872
|
-
}
|
3669
|
+
m.reverse.each do |i|
|
3670
|
+
@data['제목설정']['제목'].delete_at(i)
|
3671
|
+
end
|
3672
|
+
@data['제목설정']['제목'].delete(nil)
|
3873
3673
|
}
|
3874
|
-
|
3875
|
-
|
3876
|
-
|
3877
|
-
|
3878
|
-
|
3879
|
-
|
3880
|
-
|
3881
|
-
|
3882
|
-
top 0
|
3883
|
-
left 1
|
3884
|
-
on_clicked{
|
3885
|
-
file = open_file
|
3886
|
-
if file != nil
|
3887
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3888
|
-
@data['이미지설정']['이미지글자1'] = file_data.to_s.split("\n")
|
3889
|
-
end
|
3890
|
-
}
|
3891
|
-
}
|
3892
|
-
@data['이미지설정']['이미지글자1크기1'] = entry{
|
3893
|
-
top 0
|
3894
|
-
left 2
|
3895
|
-
text 'ex) 33'
|
3896
|
-
}
|
3897
|
-
label('pt'){
|
3898
|
-
top 0
|
3899
|
-
left 3
|
3900
|
-
}
|
3901
|
-
@data['이미지설정']['이미지글자1크기2'] = entry{
|
3902
|
-
top 0
|
3903
|
-
left 4
|
3904
|
-
text 'ex) 55'
|
3905
|
-
}
|
3906
|
-
label('pt'){
|
3907
|
-
top 0
|
3908
|
-
left 5
|
3909
|
-
}
|
3910
|
-
@data['이미지설정']['글자테두리'] = checkbox('글자 테두리'){
|
3911
|
-
top 0
|
3912
|
-
left 6
|
3913
|
-
}
|
3914
|
-
|
3915
|
-
@data['이미지설정']['글자삽입2'] = checkbox('글자 삽입2'){
|
3916
|
-
top 1
|
3917
|
-
left 0
|
3918
|
-
}
|
3919
|
-
button('가져오기'){
|
3920
|
-
top 1
|
3921
|
-
left 1
|
3922
|
-
on_clicked{
|
3923
|
-
file = open_file
|
3924
|
-
if file != nil
|
3925
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3926
|
-
@data['이미지설정']['이미지글자2'] = file_data.split("\n")
|
3927
|
-
end
|
3928
|
-
}
|
3929
|
-
}
|
3930
|
-
@data['이미지설정']['이미지글자2크기1'] = entry{
|
3931
|
-
top 1
|
3932
|
-
left 2
|
3933
|
-
text 'ex) 33'
|
3934
|
-
}
|
3935
|
-
label('pt'){
|
3936
|
-
top 1
|
3937
|
-
left 3
|
3938
|
-
}
|
3939
|
-
@data['이미지설정']['이미지글자2크기2'] = entry{
|
3940
|
-
top 1
|
3941
|
-
left 4
|
3942
|
-
text 'ex) 55'
|
3943
|
-
}
|
3944
|
-
label('pt'){
|
3945
|
-
top 1
|
3946
|
-
left 5
|
3947
|
-
}
|
3948
|
-
@data['이미지설정']['글자그림자'] = checkbox('글자 그림자'){
|
3949
|
-
top 1
|
3950
|
-
left 6
|
3951
|
-
}
|
3952
|
-
@data['이미지설정']['필터사용'] = checkbox('필터사용(색상 사진 적용불가)'){
|
3953
|
-
top 2
|
3954
|
-
left 0
|
3955
|
-
}
|
3956
|
-
@data['이미지설정']['테두리사용'] = checkbox('테두리 사용'){
|
3957
|
-
top 3
|
3958
|
-
left 0
|
3959
|
-
}
|
3960
|
-
@data['이미지설정']['테두리크기1'] = entry{
|
3961
|
-
top 3
|
3962
|
-
left 2
|
3963
|
-
text 'ex) 1'
|
3964
|
-
}
|
3965
|
-
label('pt'){
|
3966
|
-
top 3
|
3967
|
-
left 3
|
3968
|
-
}
|
3969
|
-
@data['이미지설정']['테두리크기2'] = entry{
|
3970
|
-
top 3
|
3971
|
-
left 4
|
3972
|
-
text 'ex) 33'
|
3973
|
-
}
|
3974
|
-
label('pt'){
|
3975
|
-
top 3
|
3976
|
-
left 5
|
3977
|
-
}
|
3978
|
-
|
3674
|
+
}
|
3675
|
+
}
|
3676
|
+
@data['제목설정']['순서사용'] = checkbox('순서사용'){
|
3677
|
+
stretchy false
|
3678
|
+
on_toggled{ |c|
|
3679
|
+
if c.checked?
|
3680
|
+
@data['제목설정']['랜덤사용'].checked = false
|
3681
|
+
end
|
3979
3682
|
}
|
3980
|
-
|
3981
|
-
|
3982
|
-
|
3983
|
-
|
3984
|
-
|
3985
|
-
|
3986
|
-
|
3987
|
-
@data['image_size'][2].checked = false
|
3988
|
-
@data['image_size'][3].checked = false
|
3989
|
-
@data['image_size'][4].checked = false
|
3990
|
-
end
|
3991
|
-
}
|
3992
|
-
}
|
3993
|
-
@data['image_size'][1] = checkbox('740 px'){
|
3994
|
-
on_toggled{
|
3995
|
-
if @data['image_size'][1].checked?
|
3996
|
-
@data['image_size'][0].checked = false
|
3997
|
-
@data['image_size'][2].checked = false
|
3998
|
-
@data['image_size'][3].checked = false
|
3999
|
-
@data['image_size'][4].checked = false
|
4000
|
-
end
|
4001
|
-
}
|
4002
|
-
}
|
4003
|
-
@data['image_size'][2] = checkbox('650 px'){
|
4004
|
-
on_toggled{
|
4005
|
-
if @data['image_size'][2].checked?
|
4006
|
-
@data['image_size'][1].checked = false
|
4007
|
-
@data['image_size'][0].checked = false
|
4008
|
-
@data['image_size'][3].checked = false
|
4009
|
-
@data['image_size'][4].checked = false
|
4010
|
-
end
|
4011
|
-
}
|
4012
|
-
}
|
4013
|
-
@data['image_size'][3] = checkbox('550 px'){
|
4014
|
-
on_toggled{
|
4015
|
-
if @data['image_size'][3].checked?
|
4016
|
-
@data['image_size'][1].checked = false
|
4017
|
-
@data['image_size'][2].checked = false
|
4018
|
-
@data['image_size'][0].checked = false
|
4019
|
-
@data['image_size'][4].checked = false
|
4020
|
-
end
|
4021
|
-
}
|
4022
|
-
}
|
4023
|
-
@data['image_size'][4] = checkbox('480 px'){
|
4024
|
-
on_toggled{
|
4025
|
-
if @data['image_size'][4].checked?
|
4026
|
-
@data['image_size'][1].checked = false
|
4027
|
-
@data['image_size'][2].checked = false
|
4028
|
-
@data['image_size'][3].checked = false
|
4029
|
-
@data['image_size'][0].checked = false
|
4030
|
-
end
|
4031
|
-
}
|
4032
|
-
}
|
3683
|
+
}
|
3684
|
+
@data['제목설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3685
|
+
stretchy false
|
3686
|
+
on_toggled{ |c|
|
3687
|
+
if c.checked?
|
3688
|
+
@data['제목설정']['순서사용'].checked = false
|
3689
|
+
end
|
4033
3690
|
}
|
4034
3691
|
}
|
4035
3692
|
}
|
4036
|
-
|
4037
|
-
|
4038
|
-
|
3693
|
+
vertical_separator{
|
3694
|
+
stretchy false
|
3695
|
+
}
|
4039
3696
|
horizontal_box{
|
4040
|
-
|
4041
|
-
|
4042
|
-
|
4043
|
-
|
4044
|
-
|
4045
|
-
|
4046
|
-
|
4047
|
-
|
4048
|
-
|
4049
|
-
|
4050
|
-
|
4051
|
-
|
4052
|
-
text '특정단어'
|
4053
|
-
}
|
4054
|
-
|
4055
|
-
# @data['포스트설정']['제목단어변경'] = checkbox('제목에 특정 단어를 변경'){
|
4056
|
-
# top 1
|
4057
|
-
# left 0
|
4058
|
-
# }
|
4059
|
-
# @data['포스트설정']['제목단어변경파일불러오기'] = button('설정 파일 불러오기'){
|
4060
|
-
# top 1
|
4061
|
-
# left 1
|
4062
|
-
# on_clicked{
|
4063
|
-
# file = open_file
|
4064
|
-
# if file != nil
|
4065
|
-
# file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4066
|
-
# file_data.split("\n").each do |i|
|
4067
|
-
# i2 = i.split('>')
|
4068
|
-
# text_key = i2[0].to_s
|
4069
|
-
# text_val = i2[1].to_s.split(',')
|
4070
|
-
# @data['포스트설정']['제목특정단어변경데이터'][text_key] = text_val
|
4071
|
-
# end
|
4072
|
-
# end
|
4073
|
-
# }
|
4074
|
-
# }
|
4075
|
-
@data['포스트설정']['제목에키워드삽입'] = checkbox('제목에 키워드 삽입'){
|
4076
|
-
top 2
|
4077
|
-
left 0
|
4078
|
-
}
|
4079
|
-
@data['포스트설정']['제목에키워드삽입숫자1'] = entry(){
|
4080
|
-
top 2
|
4081
|
-
left 1
|
4082
|
-
text '최소수량'
|
4083
|
-
}
|
4084
|
-
label('~'){
|
4085
|
-
top 2
|
4086
|
-
left 2
|
4087
|
-
}
|
4088
|
-
@data['포스트설정']['제목에키워드삽입숫자2'] = entry(){
|
4089
|
-
top 2
|
4090
|
-
left 3
|
4091
|
-
text '최대수량'
|
4092
|
-
}
|
4093
|
-
label('ㄴ'){
|
4094
|
-
top 3
|
4095
|
-
left 2
|
4096
|
-
}
|
4097
|
-
@data['포스트설정']['제목앞'] = checkbox('제목에 키워드 삽입 제목 앞'){
|
4098
|
-
top 3
|
4099
|
-
left 3
|
4100
|
-
on_toggled{
|
4101
|
-
if @data['포스트설정']['제목앞'].checked? == true
|
4102
|
-
if @data['포스트설정']['제목뒤'].checked?
|
4103
|
-
@data['포스트설정']['제목뒤'].checked = false
|
4104
|
-
end
|
4105
|
-
end
|
4106
|
-
}
|
4107
|
-
}
|
4108
|
-
label('ㄴ'){
|
4109
|
-
top 4
|
4110
|
-
left 2
|
4111
|
-
}
|
4112
|
-
@data['포스트설정']['제목뒤'] = checkbox('제목에 키워드 삽입 제목 뒤'){
|
4113
|
-
top 4
|
4114
|
-
left 3
|
4115
|
-
on_toggled{
|
4116
|
-
if @data['포스트설정']['제목뒤'].checked? == true
|
4117
|
-
if @data['포스트설정']['제목앞'].checked?
|
4118
|
-
@data['포스트설정']['제목앞'].checked = false
|
4119
|
-
end
|
4120
|
-
end
|
4121
|
-
}
|
4122
|
-
}
|
4123
|
-
@data['포스트설정']['제목내용설정'] = checkbox('내용의 첫 문장을 제목으로 설정'){
|
4124
|
-
top 4
|
4125
|
-
left 0
|
4126
|
-
}
|
4127
|
-
|
4128
|
-
@data['포스트설정']['특수문자'] = checkbox('제목에 키워드 삽입 시 특수문자 삽입'){
|
4129
|
-
top 5
|
4130
|
-
left 0
|
4131
|
-
}
|
4132
|
-
@data['포스트설정']['제목을랜덤'] = checkbox('제목을 랜덤 단어 조합으로 자동 입력'){
|
4133
|
-
top 6
|
4134
|
-
left 0
|
4135
|
-
}
|
4136
|
-
@data['포스트설정']['내용키워드삽입'] = checkbox('내용 키워드 삽입'){
|
4137
|
-
top 7
|
4138
|
-
left 0
|
4139
|
-
}
|
4140
|
-
@data['포스트설정']['키워드삽입시작숫자'] = entry(){
|
4141
|
-
top 7
|
4142
|
-
left 1
|
4143
|
-
text '최소수량'
|
4144
|
-
}
|
4145
|
-
label('~'){
|
4146
|
-
top 7
|
4147
|
-
left 2
|
4148
|
-
}
|
4149
|
-
@data['포스트설정']['키워드삽입끝숫자'] = entry(){
|
4150
|
-
top 7
|
4151
|
-
left 3
|
4152
|
-
text '최대수량'
|
4153
|
-
}
|
4154
|
-
@data['포스트설정']['키워드삽입'] = checkbox('내용 키워드 삽입시 링크 삽입'){
|
4155
|
-
top 8
|
4156
|
-
left 0
|
4157
|
-
}
|
4158
|
-
@data['포스트설정']['키워드삽입시링크'] = entry(){
|
4159
|
-
top 8
|
4160
|
-
left 1
|
4161
|
-
text 'URL'
|
4162
|
-
}
|
4163
|
-
@data['포스트설정']['내용을자동생성'] = checkbox('내용을 키워드 기반으로 자동 생성해서 포스팅'){
|
4164
|
-
top 9
|
4165
|
-
left 0
|
4166
|
-
on_toggled{
|
4167
|
-
if @data['포스트설정']['내용을자동생성'].checked?
|
4168
|
-
if @data['포스트설정']['내용과자동생성'].checked?
|
4169
|
-
@data['포스트설정']['내용과자동생성'].checked = false
|
4170
|
-
end
|
4171
|
-
end
|
4172
|
-
}
|
4173
|
-
}
|
4174
|
-
|
4175
|
-
@data['포스트설정']['gpt'] = checkbox('내용을 키워드 기반의 GPT로 생성해서 포스팅'){
|
4176
|
-
top 10
|
4177
|
-
left 0
|
4178
|
-
}
|
4179
|
-
|
4180
|
-
@data['포스트설정']['api_key'] = entry(){
|
4181
|
-
top 10
|
4182
|
-
left 1
|
4183
|
-
text 'api key'
|
4184
|
-
}
|
4185
|
-
|
4186
|
-
@data['포스트설정']['gpt상단'] = checkbox('원고내용 위에 넣기'){
|
4187
|
-
top 10
|
4188
|
-
left 3
|
4189
|
-
}
|
4190
|
-
|
4191
|
-
@data['포스트설정']['gpt하단'] = checkbox('원고내용 아래에 넣기'){
|
4192
|
-
top 11
|
4193
|
-
left 3
|
4194
|
-
}
|
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
|
+
|
4195
3709
|
|
4196
|
-
|
4197
|
-
|
4198
|
-
|
4199
|
-
|
4200
|
-
|
4201
|
-
if @data['포스트설정']['내용과자동생성'].checked?
|
4202
|
-
if @data['포스트설정']['내용을자동생성'].checked?
|
4203
|
-
@data['포스트설정']['내용을자동생성'].checked = false
|
4204
|
-
end
|
4205
|
-
end
|
4206
|
-
}
|
4207
|
-
}
|
4208
|
-
@data['포스트설정']['내용투명'] = checkbox('키워드 기반 자동 생성글 안보이게 처리'){
|
4209
|
-
top 11+ aa1
|
4210
|
-
left 0
|
4211
|
-
}
|
4212
|
-
@data['포스트설정']['내용자동변경'] = checkbox('내용에 단어들을 자동 변경'){
|
4213
|
-
top 12+ aa1
|
4214
|
-
left 0
|
4215
|
-
}
|
4216
|
-
button('설정 파일 불러오기'){
|
4217
|
-
top 12+ aa1
|
4218
|
-
left 1
|
4219
|
-
on_clicked{
|
4220
|
-
file = open_file
|
4221
|
-
if file != nil
|
4222
|
-
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
4223
|
-
file_data.split("\n").each do |i|
|
4224
|
-
key = i.split('>')[0]
|
4225
|
-
v = i.split('>')[1].to_s.split(',')
|
4226
|
-
@data['포스트설정']['내용자동변경값'][key] = v
|
4227
|
-
end
|
4228
|
-
end
|
4229
|
-
}
|
4230
|
-
}
|
4231
|
-
@data['포스트설정']['제목에도적용'] = checkbox('제목에도 적용'){
|
4232
|
-
top 12+ aa1
|
4233
|
-
left 3
|
4234
|
-
}
|
3710
|
+
table{
|
3711
|
+
checkbox_column('선택'){
|
3712
|
+
editable true
|
3713
|
+
}
|
3714
|
+
text_column('제목'){
|
4235
3715
|
|
4236
|
-
|
4237
|
-
top 13+ aa1
|
4238
|
-
left 0
|
4239
|
-
}
|
4240
|
-
@data['포스트설정']['내용사진자동삽입시작숫자'] = entry(){
|
4241
|
-
top 13+ aa1
|
4242
|
-
left 1
|
4243
|
-
text '최소수량'
|
4244
|
-
}
|
4245
|
-
label('~'){
|
4246
|
-
top 13+ aa1
|
4247
|
-
left 2
|
4248
|
-
}
|
4249
|
-
@data['포스트설정']['내용사진자동삽입끝숫자'] = entry(){
|
4250
|
-
top 13+ aa1
|
4251
|
-
left 3
|
4252
|
-
text '최대수량'
|
4253
|
-
}
|
3716
|
+
}
|
4254
3717
|
|
4255
|
-
|
4256
|
-
|
4257
|
-
|
4258
|
-
}
|
3718
|
+
cell_rows @data['제목설정']['제목']
|
3719
|
+
}
|
3720
|
+
|
4259
3721
|
|
4260
|
-
|
4261
|
-
|
4262
|
-
|
4263
|
-
|
4264
|
-
|
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
|
4265
3742
|
}
|
4266
3743
|
}
|
4267
3744
|
|
4268
|
-
|
4269
|
-
|
4270
|
-
|
4271
|
-
|
4272
|
-
|
3745
|
+
}
|
3746
|
+
horizontal_box{
|
3747
|
+
stretchy false
|
4273
3748
|
grid{
|
4274
|
-
|
4275
|
-
|
4276
|
-
|
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
|
4277
3758
|
}
|
4278
|
-
|
4279
|
-
|
4280
|
-
|
4281
|
-
|
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
|
4282
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
|
4283
3781
|
|
4284
|
-
|
4285
|
-
|
4286
|
-
|
4287
|
-
|
4288
|
-
@data['포스트설정']['제외하고등록값'] = entry{
|
4289
|
-
top 1
|
4290
|
-
left 1
|
4291
|
-
text '특정단어'
|
3782
|
+
m.reverse.each do |i|
|
3783
|
+
@data['내용설정']['내용'].delete_at(i)
|
3784
|
+
end
|
3785
|
+
@data['내용설정']['내용'].delete(nil)
|
4292
3786
|
}
|
4293
|
-
|
4294
|
-
|
4295
|
-
|
4296
|
-
|
3787
|
+
}
|
3788
|
+
}
|
3789
|
+
@data['내용설정']['순서사용'] = checkbox('순서사용'){
|
3790
|
+
stretchy false
|
3791
|
+
on_toggled{ |c|
|
3792
|
+
if c.checked?
|
3793
|
+
@data['내용설정']['랜덤사용'].checked = false
|
3794
|
+
end
|
4297
3795
|
}
|
4298
|
-
|
4299
|
-
|
4300
|
-
|
4301
|
-
|
3796
|
+
}
|
3797
|
+
@data['내용설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3798
|
+
stretchy false
|
3799
|
+
on_toggled{ |c|
|
3800
|
+
if c.checked?
|
3801
|
+
@data['내용설정']['순서사용'].checked = false
|
3802
|
+
end
|
4302
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('내용파일'){
|
4303
3827
|
|
4304
|
-
|
4305
|
-
top 3
|
4306
|
-
left 0
|
4307
|
-
}
|
4308
|
-
@data['포스트설정']['단어링크적용url'] = entry{
|
4309
|
-
top 3
|
4310
|
-
left 1
|
4311
|
-
text 'URL'
|
4312
|
-
}
|
3828
|
+
}
|
4313
3829
|
|
4314
|
-
|
4315
|
-
|
4316
|
-
left 0
|
4317
|
-
}
|
4318
|
-
@data['포스트설정']['단어사진으로변경단어'] = entry{
|
4319
|
-
top 4
|
4320
|
-
left 1
|
4321
|
-
text '특정단어1,@특정단어2 (앞에@붙이면 링크적용)'
|
4322
|
-
}
|
4323
|
-
label('ㄴ적용하려는 링크 URL 입력'){
|
4324
|
-
top 5
|
4325
|
-
left 0
|
4326
|
-
}
|
3830
|
+
cell_rows @data['내용설정']['내용']
|
3831
|
+
}
|
4327
3832
|
|
4328
|
-
|
4329
|
-
|
4330
|
-
|
4331
|
-
|
4332
|
-
|
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 == '..'
|
4333
3845
|
|
4334
|
-
|
4335
|
-
|
4336
|
-
|
4337
|
-
}
|
4338
|
-
@data['포스트설정']['스티커로변경단어'] = entry{
|
4339
|
-
top 6
|
4340
|
-
left 1
|
4341
|
-
text '특정단어'
|
4342
|
-
}
|
4343
|
-
@data['포스트설정']['영상으로변경'] = checkbox('내용 특정단어를 영상으로 변경'){
|
4344
|
-
top 7
|
4345
|
-
left 0
|
4346
|
-
}
|
4347
|
-
@data['포스트설정']['영상으로변경단어'] = entry{
|
4348
|
-
top 7
|
4349
|
-
left 1
|
4350
|
-
text '특정단어'
|
4351
|
-
}
|
4352
|
-
label('ㄴ동영상만 있는 폴더 지정하기'){
|
4353
|
-
top 8
|
4354
|
-
left 0
|
4355
|
-
}
|
4356
|
-
@data['포스트설정']['동영상폴더위치'] = entry{
|
4357
|
-
top 8
|
4358
|
-
left 1
|
4359
|
-
text "영상폴더위치 ex) C:\\영상\\폴더3"
|
4360
|
-
}
|
4361
|
-
@data['포스트설정']['지도로변경'] = checkbox('내용 특정단어를 지도로 변경'){
|
4362
|
-
top 9
|
4363
|
-
left 0
|
4364
|
-
}
|
4365
|
-
@data['포스트설정']['지도로변경단어'] = entry{
|
4366
|
-
top 9
|
4367
|
-
left 1
|
4368
|
-
text '특정단어'
|
4369
|
-
}
|
4370
|
-
label('ㄴ지도 삽입경우 적용 주소 입력'){
|
4371
|
-
top 10
|
4372
|
-
left 0
|
4373
|
-
}
|
4374
|
-
@data['포스트설정']['지도주소'] = entry{
|
4375
|
-
top 10
|
4376
|
-
left 1
|
4377
|
-
text 'ex) OO시 OO구 OO동 270-68'
|
4378
|
-
}
|
4379
|
-
@data['포스트설정']['인용구변경'] = checkbox('내용 특정단어를 인용구로 적용'){
|
4380
|
-
top 11
|
4381
|
-
left 0
|
4382
|
-
}
|
4383
|
-
@data['포스트설정']['인용구변경단어'] = entry{
|
4384
|
-
top 11
|
4385
|
-
left 1
|
4386
|
-
text '특정단어'
|
4387
|
-
}
|
4388
|
-
label('ㄴ인용구 사용시 들어갈 문구'){
|
4389
|
-
top 12
|
4390
|
-
left 0
|
4391
|
-
}
|
4392
|
-
button('설정 파일 불러오기'){
|
4393
|
-
top 12
|
4394
|
-
left 1
|
4395
|
-
on_clicked{
|
4396
|
-
file = open_file
|
4397
|
-
if file != nil
|
4398
|
-
file_data = File.open(file, 'r').read
|
4399
|
-
@data['포스트설정']['인용구'] = file_data.split(',')
|
3846
|
+
else
|
3847
|
+
file_data = File.open(path+'/'+file,'r', :encoding => 'utf-8').read()
|
3848
|
+
@data['내용설정']['내용'] << [false, file, file_data]
|
4400
3849
|
end
|
4401
|
-
|
4402
|
-
|
4403
|
-
|
4404
|
-
top 13
|
4405
|
-
left 0
|
4406
|
-
}
|
4407
|
-
@data['포스트설정']['내템플릿변경단어'] = entry{
|
4408
|
-
top 13
|
4409
|
-
left 1
|
4410
|
-
text '탬플릿으로 전활시킬 특정단어'
|
3850
|
+
end
|
3851
|
+
@data['내용설정']['내용'] << []
|
3852
|
+
@data['내용설정']['내용'].pop
|
4411
3853
|
}
|
4412
3854
|
}
|
4413
3855
|
}
|
4414
3856
|
}
|
4415
|
-
|
4416
|
-
|
4417
|
-
|
4418
|
-
|
4419
|
-
|
4420
|
-
|
4421
|
-
|
4422
|
-
|
4423
|
-
|
4424
|
-
|
4425
|
-
|
4426
|
-
|
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
|
4427
3874
|
}
|
4428
|
-
|
4429
|
-
|
4430
|
-
|
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
|
4431
3889
|
}
|
4432
|
-
|
4433
|
-
|
4434
|
-
|
4435
|
-
|
4436
|
-
|
4437
|
-
|
4438
|
-
|
4439
|
-
|
4440
|
-
|
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
|
4441
3900
|
}
|
4442
|
-
|
4443
|
-
|
4444
|
-
|
4445
|
-
|
4446
|
-
|
4447
|
-
|
4448
|
-
|
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
|
4449
3910
|
end
|
4450
|
-
|
3911
|
+
end
|
3912
|
+
|
3913
|
+
m.reverse.each do |i|
|
3914
|
+
@data['이미지설정']['이미지'].delete_at(i)
|
3915
|
+
end
|
3916
|
+
|
3917
|
+
@data['이미지설정']['이미지'].delete(nil)
|
4451
3918
|
}
|
4452
|
-
|
4453
|
-
|
4454
|
-
|
4455
|
-
|
4456
|
-
|
4457
|
-
|
4458
|
-
|
4459
|
-
|
4460
|
-
}
|
3919
|
+
}
|
3920
|
+
}
|
3921
|
+
@data['이미지설정']['순서사용'] = checkbox('순서사용'){
|
3922
|
+
stretchy false
|
3923
|
+
on_toggled{ |c|
|
3924
|
+
if c.checked?
|
3925
|
+
@data['이미지설정']['랜덤사용'].checked = false
|
3926
|
+
end
|
4461
3927
|
}
|
4462
|
-
|
4463
|
-
|
4464
|
-
|
3928
|
+
}
|
3929
|
+
@data['이미지설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3930
|
+
stretchy false
|
3931
|
+
on_toggled{ |c|
|
3932
|
+
if c.checked?
|
3933
|
+
@data['이미지설정']['순서사용'].checked = false
|
3934
|
+
end
|
4465
3935
|
}
|
4466
|
-
|
4467
|
-
|
4468
|
-
|
4469
|
-
|
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
|
4470
3967
|
}
|
4471
|
-
|
4472
|
-
|
4473
|
-
|
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
|
4474
3985
|
}
|
4475
|
-
|
4476
|
-
|
4477
|
-
|
4478
|
-
|
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
|
4479
3993
|
}
|
4480
|
-
|
4481
|
-
|
4482
|
-
|
4483
|
-
|
4484
|
-
|
4485
|
-
|
4486
|
-
|
4487
|
-
@data['포스트설정']['막글'] = file_data
|
4488
|
-
end
|
4489
|
-
}
|
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
|
4490
4001
|
}
|
4491
|
-
|
4492
|
-
|
4493
|
-
|
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
|
4494
4020
|
}
|
4495
|
-
|
4496
|
-
|
4497
|
-
|
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
|
4498
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
|
+
}
|
4499
4108
|
|
4500
|
-
|
4501
|
-
|
4502
|
-
|
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
|
4503
4121
|
}
|
4504
|
-
|
4505
|
-
|
4506
|
-
|
4507
|
-
|
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
|
4508
4131
|
}
|
4509
|
-
|
4510
|
-
|
4511
|
-
|
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
|
4512
4141
|
}
|
4513
|
-
|
4514
|
-
|
4515
|
-
|
4516
|
-
|
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
|
4517
4151
|
}
|
4518
|
-
|
4519
|
-
|
4520
|
-
|
4521
|
-
|
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
|
4522
4161
|
}
|
4162
|
+
}
|
4163
|
+
}
|
4164
|
+
}
|
4165
|
+
}
|
4166
|
+
}
|
4523
4167
|
|
4524
|
-
|
4525
|
-
|
4526
|
-
|
4527
|
-
|
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
|
4528
4177
|
|
4529
|
-
|
4178
|
+
}
|
4179
|
+
@data['포스트설정']['제목키워드변경단어'] = entry{
|
4180
|
+
top 0
|
4181
|
+
left 1
|
4182
|
+
text '특정단어'
|
4183
|
+
}
|
4530
4184
|
|
4531
|
-
|
4532
|
-
|
4533
|
-
|
4534
|
-
|
4535
|
-
|
4536
|
-
|
4537
|
-
|
4538
|
-
|
4539
|
-
|
4540
|
-
|
4541
|
-
|
4542
|
-
|
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
|
4543
4219
|
}
|
4544
|
-
|
4545
|
-
|
4546
|
-
|
4547
|
-
|
4548
|
-
|
4549
|
-
|
4550
|
-
|
4551
|
-
|
4552
|
-
|
4553
|
-
|
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
|
4554
4248
|
end
|
4555
|
-
|
4249
|
+
end
|
4556
4250
|
}
|
4557
|
-
|
4558
|
-
|
4559
|
-
|
4560
|
-
|
4561
|
-
|
4562
|
-
|
4563
|
-
|
4564
|
-
|
4565
|
-
|
4566
|
-
|
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
|
4567
4264
|
end
|
4568
|
-
|
4265
|
+
end
|
4569
4266
|
}
|
4570
|
-
|
4571
|
-
|
4572
|
-
|
4573
|
-
|
4574
|
-
|
4575
|
-
|
4576
|
-
|
4577
|
-
|
4578
|
-
|
4579
|
-
|
4580
|
-
|
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
|
4581
4280
|
end
|
4582
|
-
|
4583
|
-
}
|
4584
|
-
|
4585
|
-
|
4586
|
-
|
4587
|
-
@data['포스트설정']['댓글허용'] = checkbox('댓글허용'){
|
4588
|
-
top 12
|
4589
|
-
left 0
|
4590
|
-
}
|
4591
|
-
@data['포스트설정']['블로그,카페 공유허용'] = checkbox('블로그,카페 공유허용'){
|
4592
|
-
top 12
|
4593
|
-
left 1
|
4281
|
+
end
|
4594
4282
|
}
|
4595
|
-
|
4596
|
-
|
4597
|
-
|
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
|
4598
4293
|
}
|
4599
|
-
|
4600
|
-
|
4601
|
-
|
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
|
4602
4308
|
}
|
4603
|
-
|
4604
|
-
|
4605
|
-
|
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
|
4606
4347
|
}
|
4348
|
+
}
|
4607
4349
|
|
4608
|
-
|
4609
|
-
|
4610
|
-
|
4611
|
-
|
4612
|
-
|
4613
|
-
|
4614
|
-
|
4615
|
-
|
4616
|
-
|
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
|
4617
4366
|
}
|
4618
|
-
|
4619
|
-
|
4620
|
-
|
4621
|
-
|
4622
|
-
|
4623
|
-
|
4624
|
-
|
4625
|
-
|
4626
|
-
|
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
|
4627
4378
|
}
|
4628
|
-
|
4629
|
-
|
4630
|
-
|
4631
|
-
|
4632
|
-
|
4633
|
-
|
4634
|
-
|
4635
|
-
|
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
|
4636
4395
|
end
|
4637
|
-
|
4396
|
+
end
|
4638
4397
|
}
|
4639
|
-
|
4640
|
-
|
4641
|
-
|
4642
|
-
|
4643
|
-
|
4644
|
-
|
4645
|
-
|
4646
|
-
|
4647
|
-
|
4648
|
-
|
4649
|
-
|
4650
|
-
|
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
|
4651
4418
|
}
|
4652
|
-
|
4653
|
-
|
4654
|
-
|
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
|
+
}
|
4655
4434
|
|
4656
|
-
|
4657
|
-
|
4658
|
-
|
4659
|
-
|
4660
|
-
|
4661
|
-
|
4662
|
-
|
4663
|
-
|
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
|
4664
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
|
4665
4883
|
}
|
4666
4884
|
}
|
4667
4885
|
}
|
4668
4886
|
}
|
4887
|
+
}
|
4888
|
+
}
|
4669
4889
|
|
4670
4890
|
horizontal_box{
|
4671
4891
|
stretchy false
|