jekyll-chatgpt-translate 0.0.38 → 0.0.40

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: 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
  - - ">="