jekyll-chatgpt-translate 0.0.37 → 0.0.38

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0f1eb7be508b40853f8fc04d94cd0c6f30ddfe2be81b6d3fc7f6a45101d10b1
4
- data.tar.gz: cb4d6e55f8d93e00307135f52cfba873a7ece62a01cb785f0d0e4ada293aaa20
3
+ metadata.gz: 80751d33457d149991f93ebca9daf89429ba1709b7345e58d575968b789518a1
4
+ data.tar.gz: b85c071213cf44098791d31d86fdf92cc386664bba2f15d16c04e8aed5edcb11
5
5
  SHA512:
6
- metadata.gz: 053d40f293680a7b4ec3f78f5b09b1ddef17183b1dbfce93ab10fffca3cbb1b1384644e4da3377c5c1abc0ff96fdb1b55d8f58d7e30788aa7ddeba44dc6e0d65
7
- data.tar.gz: 0cc7dd560f374a400b8c8ff2b7782daca793a2db48eac1fc698806506f0341713751241a2feb739d485145efbe57ba6c5d2d43d188208fa0e8142993447a6928
6
+ metadata.gz: fb1a09e8c6521002e20f664bdaf4ac343dbbb1c838e88bd596271c9f25ec06ac462d40b454a72233dcb8f3be344483ae94cc4621dd0ea0a2e4feb64976c14245
7
+ data.tar.gz: 79b0d7871805fc4ce024135b9d8e52929dd06db1e39e325671fbc61be931084f7e72564a6a2d618b4fbe139b3cc6f5c0e4568d35a98bfe784a6436ece0f881b3
data/README.md CHANGED
@@ -79,6 +79,9 @@ Full list of options available to specify in `_config.yml`:
79
79
  doesn't translate short paragraphs pretty enough. It's better to keep this
80
80
  number big enough, to avoid silly translations. The default is 128.
81
81
 
82
+ * `window_length` (optional) — maximum number of words to be sent to OpenAI API in one
83
+ request. The default is 2048.
84
+
82
85
  * `layout` (optional) — is name of the file in `_layouts` directory, without the extension.
83
86
  This layout will be specified for the pages generated by this plugin.
84
87
  The default value is `translated` (expecting you to have `_layouts/translated.html` file available).
@@ -28,7 +28,7 @@ Gem::Specification.new do |s|
28
28
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
29
29
  s.required_ruby_version = '>= 2.6'
30
30
  s.name = 'jekyll-chatgpt-translate'
31
- s.version = '0.0.37'
31
+ s.version = '0.0.38'
32
32
  s.license = 'MIT'
33
33
  s.summary = 'Translate Jekyll Pages Through ChatGPT'
34
34
  s.description = [
@@ -92,11 +92,16 @@ class GptTranslate::ChatGPT
92
92
  end
93
93
  accum = []
94
94
  until later[i].nil?
95
+ already = accum.join.split.count
96
+ if already > window_length
97
+ Jekyll.logger.debug("Already #{already} words, over the window_length of #{window_length}")
98
+ break
99
+ end
95
100
  accum << later[i]
96
- break if accum.join.split.count > window_length
97
101
  i += 1
98
102
  end
99
103
  out << translate_pars(accum)
104
+ i += 1
100
105
  end
101
106
  out.join("\n\n")
102
107
  end
@@ -44,6 +44,7 @@ class GptTranslate::Generator < Jekyll::Generator
44
44
 
45
45
  # Main plugin action, called by Jekyll-core
46
46
  def generate(site)
47
+ Jekyll.logger.info("jekyll-chatgpt-translate #{GptTranslate::VERSION} starting...")
47
48
  config ||= site.config['chatgpt-translate'] || {}
48
49
  home = config['tmpdir'] || '_chatgpt-translate'
49
50
  key = api_key(config)
@@ -113,7 +114,7 @@ class GptTranslate::Generator < Jekyll::Generator
113
114
  config['source'] || 'en',
114
115
  lang
115
116
  )
116
- foreign = gpt.translate(plain, min: min_chars)
117
+ foreign = gpt.translate(plain, min: min_chars, window_length: config['window_length'] || '2048')
117
118
  File.write(
118
119
  path,
119
120
  [
@@ -23,5 +23,5 @@
23
23
  # SOFTWARE.
24
24
 
25
25
  module GptTranslate
26
- VERSION = '0.0.37'
26
+ VERSION = '0.0.38'
27
27
  end
data/test/test_chatgpt.rb CHANGED
@@ -97,6 +97,18 @@ class GptTranslate::ChatGPTTest < Minitest::Test
97
97
  assert_equal('done!', chat.translate('This is the text to send to OpenAI'))
98
98
  end
99
99
 
100
+ def test_through_small_window
101
+ stub_it!
102
+ chat = GptTranslate::ChatGPT.new('fake-key', 'gpt-3.5-turbo', 'en', 'ru')
103
+ assert_equal(
104
+ "done!\n\ndone!",
105
+ chat.translate(
106
+ "This is the first paragraph\n\nThis is second\n\nThis is third",
107
+ min: 1, window_length: 4
108
+ )
109
+ )
110
+ end
111
+
100
112
  private
101
113
 
102
114
  def stub_it!
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-chatgpt-translate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.37
4
+ version: 0.0.38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko