jekyll-chatgpt-translate 0.0.38 → 0.0.40

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80751d33457d149991f93ebca9daf89429ba1709b7345e58d575968b789518a1
4
- data.tar.gz: b85c071213cf44098791d31d86fdf92cc386664bba2f15d16c04e8aed5edcb11
3
+ metadata.gz: 8ce1b67a78ab62d8ff281da23c8d1c5c63d5b07934e42e49fcfa07886c9ced32
4
+ data.tar.gz: 39e13d4901343a950d4c3a5d21b6fdca94723efbba1bfb18fe5f82c0cb26c4ff
5
5
  SHA512:
6
- metadata.gz: fb1a09e8c6521002e20f664bdaf4ac343dbbb1c838e88bd596271c9f25ec06ac462d40b454a72233dcb8f3be344483ae94cc4621dd0ea0a2e4feb64976c14245
7
- data.tar.gz: 79b0d7871805fc4ce024135b9d8e52929dd06db1e39e325671fbc61be931084f7e72564a6a2d618b4fbe139b3cc6f5c0e4568d35a98bfe784a6436ece0f881b3
6
+ metadata.gz: afe4e8981572c052dfabe2ed084f6e3eaaf7321297ca1d53cc750be81351429a1d7e7a2479da8d60008019224d8e29dd922437b19fa554729faccf533d61908d
7
+ data.tar.gz: 652431c0c7ec9153994b25ee4f480ebf374bddb77c6500bd451364cc38d4b4578ed3fe6acf83f4c55dc359b41a931626baef8a8257f907f0649044ce9559ae94
@@ -13,7 +13,7 @@ jobs:
13
13
  strategy:
14
14
  matrix:
15
15
  os: [ubuntu-20.04, macos-12, windows-2022]
16
- ruby: [2.7, 3.1]
16
+ ruby: [3.1]
17
17
  runs-on: ${{ matrix.os }}
18
18
  steps:
19
19
  - uses: actions/checkout@v4
data/Gemfile CHANGED
@@ -27,9 +27,9 @@ gemspec
27
27
 
28
28
  gem 'cucumber', '9.0.2', require: false
29
29
  gem 'kramdown-parser-gfm', '1.1.0', require: false
30
- gem 'minitest', '5.19.0', require: false
31
- gem 'rake', '13.0.6', require: false
32
- gem 'rubocop', '1.56.4', require: false
33
- gem 'rubocop-rspec', '2.24.0', require: false
30
+ gem 'minitest', '5.20.0', require: false
31
+ gem 'rake', '13.1.0', require: false
32
+ gem 'rubocop', '1.57.2', require: false
33
+ gem 'rubocop-rspec', '2.25.0', require: false
34
34
  gem 'simplecov', '0.22.0', require: false
35
35
  gem 'webmock', '3.19.1', require: false
data/README.md CHANGED
@@ -9,7 +9,8 @@ works for [my blog](https://github.com/yegor256/ru.yegor256.com),
9
9
  for example [this page](https://ru.yegor256.com/2023-08-13-dictators.html) is translated to
10
10
  [English](https://ru.yegor256.com/english/2023-08-13-dictators.html).
11
11
 
12
- Install it first:
12
+ Install it first (you need [Ruby 3+](https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/)
13
+ and [Jekyll 3+](https://jekyllrb.com/)):
13
14
 
14
15
  ```
15
16
  gem install jekyll-chatgpt-translate
@@ -26,9 +26,9 @@ require 'English'
26
26
 
27
27
  Gem::Specification.new do |s|
28
28
  s.required_rubygems_version = Gem::Requirement.new('>= 0') if s.respond_to? :required_rubygems_version=
29
- s.required_ruby_version = '>= 2.6'
29
+ s.required_ruby_version = '>= 3.0'
30
30
  s.name = 'jekyll-chatgpt-translate'
31
- s.version = '0.0.38'
31
+ s.version = '0.0.40'
32
32
  s.license = 'MIT'
33
33
  s.summary = 'Translate Jekyll Pages Through ChatGPT'
34
34
  s.description = [
@@ -46,7 +46,9 @@ Gem::Specification.new do |s|
46
46
  s.add_runtime_dependency 'iri', '>= 0'
47
47
  s.add_runtime_dependency 'iso-639', '>= 0'
48
48
  s.add_runtime_dependency 'jekyll', '>= 3'
49
+ s.add_runtime_dependency 'json', '>= 2'
49
50
  s.add_runtime_dependency 'redcarpet', '>= 3'
50
51
  s.add_runtime_dependency 'ruby-openai', '>= 5'
52
+ s.add_runtime_dependency 'tiktoken_ruby', '>= 0.0.6'
51
53
  s.metadata['rubygems_mfa_required'] = 'true'
52
54
  end
@@ -23,8 +23,10 @@
23
23
  # SOFTWARE.
24
24
 
25
25
  require 'jekyll'
26
+ require 'json'
26
27
  require 'openai'
27
28
  require 'iso-639'
29
+ require 'tiktoken_ruby'
28
30
  require_relative 'pars'
29
31
  require_relative 'prompt'
30
32
 
@@ -92,7 +94,7 @@ class GptTranslate::ChatGPT
92
94
  end
93
95
  accum = []
94
96
  until later[i].nil?
95
- already = accum.join.split.count
97
+ already = Tiktoken.encoding_for_model('gpt-4').encode(accum.join).length
96
98
  if already > window_length
97
99
  Jekyll.logger.debug("Already #{already} words, over the window_length of #{window_length}")
98
100
  break
@@ -130,7 +132,7 @@ class GptTranslate::ChatGPT
130
132
  temperature: 0.7
131
133
  }
132
134
  )
133
- answer = response.dig('choices', 0, 'message', 'content')
135
+ answer = JSON.parse(response).dig('choices', 0, 'message', 'content')
134
136
  if answer.nil?
135
137
  Jekyll.logger.error("No content returned by ChatGPT: #{response}")
136
138
  raise 'No content returned by ChatGPT'
@@ -23,5 +23,5 @@
23
23
  # SOFTWARE.
24
24
 
25
25
  module GptTranslate
26
- VERSION = '0.0.38'
26
+ VERSION = '0.0.40'
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-chatgpt-translate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.38
4
+ version: 0.0.40
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-10-02 00:00:00.000000000 Z
11
+ date: 2023-11-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: humanize
@@ -66,6 +66,20 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: json
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '2'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '2'
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: redcarpet
71
85
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +108,20 @@ dependencies:
94
108
  - - ">="
95
109
  - !ruby/object:Gem::Version
96
110
  version: '5'
111
+ - !ruby/object:Gem::Dependency
112
+ name: tiktoken_ruby
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 0.0.6
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: 0.0.6
97
125
  description: Add this plugin to your Jekyll site and all posts will be automatically
98
126
  translated to the languages of your choice through ChatGPT
99
127
  email: yegor256@gmail.com
@@ -151,7 +179,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
151
179
  requirements:
152
180
  - - ">="
153
181
  - !ruby/object:Gem::Version
154
- version: '2.6'
182
+ version: '3.0'
155
183
  required_rubygems_version: !ruby/object:Gem::Requirement
156
184
  requirements:
157
185
  - - ">="