article_json 0.3.7 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +118 -67
  4. data/bin/article_json_export_amp.rb +15 -0
  5. data/bin/article_json_export_apple_news.rb +15 -0
  6. data/bin/article_json_export_facebook.rb +16 -0
  7. data/bin/article_json_export_html.rb +1 -0
  8. data/bin/article_json_export_plain_text.rb +15 -0
  9. data/bin/article_json_parse_google_doc.rb +1 -0
  10. data/bin/check_google_doc_export.rb +41 -0
  11. data/bin/update_oembed_request-stubs.sh +11 -0
  12. data/bin/update_reference_document.sh +16 -0
  13. data/lib/article_json/article.rb +22 -2
  14. data/lib/article_json/configuration.rb +2 -1
  15. data/lib/article_json/elements/base.rb +0 -1
  16. data/lib/article_json/elements/image.rb +7 -3
  17. data/lib/article_json/export/amp/elements/embed.rb +1 -1
  18. data/lib/article_json/export/apple_news/elements/base.rb +53 -0
  19. data/lib/article_json/export/apple_news/elements/embed.rb +130 -0
  20. data/lib/article_json/export/apple_news/elements/heading.rb +32 -0
  21. data/lib/article_json/export/apple_news/elements/image.rb +58 -0
  22. data/lib/article_json/export/apple_news/elements/list.rb +67 -0
  23. data/lib/article_json/export/apple_news/elements/paragraph.rb +36 -0
  24. data/lib/article_json/export/apple_news/elements/quote.rb +60 -0
  25. data/lib/article_json/export/apple_news/elements/text.rb +42 -0
  26. data/lib/article_json/export/apple_news/elements/text_box.rb +51 -0
  27. data/lib/article_json/export/apple_news/exporter.rb +37 -0
  28. data/lib/article_json/export/common/html/elements/image.rb +1 -1
  29. data/lib/article_json/import/google_doc/html/image_parser.rb +24 -3
  30. data/lib/article_json/import/google_doc/html/node_analyzer.rb +11 -1
  31. data/lib/article_json/import/google_doc/html/parser.rb +6 -1
  32. data/lib/article_json/utils/o_embed_resolver/facebook_video.rb +17 -1
  33. data/lib/article_json/utils/o_embed_resolver/youtube_video.rb +1 -1
  34. data/lib/article_json/version.rb +1 -1
  35. data/lib/article_json.rb +11 -0
  36. metadata +37 -15
@@ -11,7 +11,8 @@ module ArticleJSON
11
11
  # The URL for the oembed API call
12
12
  # @return [String]
13
13
  def oembed_url
14
- "https://www.facebook.com/plugins/video/oembed.json?url=#{source_url}"
14
+ "https://graph.facebook.com/v9.0/oembed_video?url=#{source_url}" \
15
+ "&access_token=#{access_token}"
15
16
  end
16
17
 
17
18
  # The video URL of the element
@@ -19,6 +20,21 @@ module ArticleJSON
19
20
  def source_url
20
21
  "https://www.facebook.com/facebook/videos/#{@element.embed_id}"
21
22
  end
23
+
24
+ # The facebook access token. If not set, it raises an exception
25
+ # explaining how to configure it.
26
+ #
27
+ # @return [String]
28
+ def access_token
29
+ token = ArticleJSON.configuration.facebook_token
30
+
31
+ if token.nil?
32
+ raise 'You need to configure the facebook token to use facebook' \
33
+ 'embed videos, see:' \
34
+ 'https://github.com/Devex/article_json#facebook-oembed'
35
+ end
36
+ token
37
+ end
22
38
  end
23
39
  end
24
40
  end
@@ -11,7 +11,7 @@ module ArticleJSON
11
11
  # The URL for the oembed API call
12
12
  # @return [String]
13
13
  def oembed_url
14
- "http://www.youtube.com/oembed?format=json&url=#{source_url}"
14
+ "https://www.youtube.com/oembed?format=json&url=#{source_url}"
15
15
  end
16
16
 
17
17
  # The video URL of the element
@@ -1,3 +1,3 @@
1
1
  module ArticleJSON
2
- VERSION = '0.3.7'
2
+ VERSION = '0.4.0'
3
3
  end
data/lib/article_json.rb CHANGED
@@ -77,6 +77,17 @@ require_relative 'article_json/export/html/elements/quote'
77
77
  require_relative 'article_json/export/html/elements/embed'
78
78
  require_relative 'article_json/export/html/exporter'
79
79
 
80
+ require_relative 'article_json/export/apple_news/elements/base'
81
+ require_relative 'article_json/export/apple_news/elements/text'
82
+ require_relative 'article_json/export/apple_news/elements/heading'
83
+ require_relative 'article_json/export/apple_news/elements/paragraph'
84
+ require_relative 'article_json/export/apple_news/elements/list'
85
+ require_relative 'article_json/export/apple_news/elements/image'
86
+ require_relative 'article_json/export/apple_news/elements/embed'
87
+ require_relative 'article_json/export/apple_news/elements/quote'
88
+ require_relative 'article_json/export/apple_news/elements/text_box'
89
+ require_relative 'article_json/export/apple_news/exporter'
90
+
80
91
  require_relative 'article_json/export/amp/elements/base'
81
92
  require_relative 'article_json/export/amp/elements/text'
82
93
  require_relative 'article_json/export/amp/elements/paragraph'
metadata CHANGED
@@ -1,16 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: article_json
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Sager
8
8
  - Manu Campos
9
9
  - Nicolas Fricke
10
- autorequire:
10
+ - Damien Dillon
11
+ autorequire:
11
12
  bindir: bin
12
13
  cert_chain: []
13
- date: 2019-08-21 00:00:00.000000000 Z
14
+ date: 2024-02-14 00:00:00.000000000 Z
14
15
  dependencies:
15
16
  - !ruby/object:Gem::Dependency
16
17
  name: nokogiri
@@ -46,14 +47,14 @@ dependencies:
46
47
  requirements:
47
48
  - - "~>"
48
49
  - !ruby/object:Gem::Version
49
- version: '1.15'
50
+ version: '2.2'
50
51
  type: :development
51
52
  prerelease: false
52
53
  version_requirements: !ruby/object:Gem::Requirement
53
54
  requirements:
54
55
  - - "~>"
55
56
  - !ruby/object:Gem::Version
56
- version: '1.15'
57
+ version: '2.2'
57
58
  - !ruby/object:Gem::Dependency
58
59
  name: rspec
59
60
  requirement: !ruby/object:Gem::Requirement
@@ -96,12 +97,17 @@ dependencies:
96
97
  - - "~>"
97
98
  - !ruby/object:Gem::Version
98
99
  version: '0.8'
99
- description: |
100
- `article_json` is a format definition for news articles and a ruby gem that
101
- offers conversions from and to different formats:
102
- - Parser for Google Doc HTML exports
103
- - Converter to simple HTML format
104
- - Converter to AMP format
100
+ description: |2
101
+ `article_json` is a format definition for news articles and a ruby gem that
102
+ offers conversions from and to different formats:
103
+ - Parser for Google Doc HTML exports
104
+ - Converter to:
105
+ - simple HTML format
106
+ - AMP format
107
+ - Apple News Format (ANF)
108
+ - Facebook Instant Article HTML
109
+ - plain text
110
+ - JSON
105
111
  email: info@devex.com
106
112
  executables: []
107
113
  extensions: []
@@ -111,9 +117,15 @@ files:
111
117
  - CODE_OF_CONDUCT.md
112
118
  - LICENSE
113
119
  - README.md
120
+ - bin/article_json_export_amp.rb
121
+ - bin/article_json_export_apple_news.rb
122
+ - bin/article_json_export_facebook.rb
114
123
  - bin/article_json_export_google_doc.rb
115
124
  - bin/article_json_export_html.rb
125
+ - bin/article_json_export_plain_text.rb
116
126
  - bin/article_json_parse_google_doc.rb
127
+ - bin/check_google_doc_export.rb
128
+ - bin/update_oembed_request-stubs.sh
117
129
  - bin/update_reference_document.sh
118
130
  - lib/article_json.rb
119
131
  - lib/article_json/article.rb
@@ -138,6 +150,16 @@ files:
138
150
  - lib/article_json/export/amp/elements/text.rb
139
151
  - lib/article_json/export/amp/elements/text_box.rb
140
152
  - lib/article_json/export/amp/exporter.rb
153
+ - lib/article_json/export/apple_news/elements/base.rb
154
+ - lib/article_json/export/apple_news/elements/embed.rb
155
+ - lib/article_json/export/apple_news/elements/heading.rb
156
+ - lib/article_json/export/apple_news/elements/image.rb
157
+ - lib/article_json/export/apple_news/elements/list.rb
158
+ - lib/article_json/export/apple_news/elements/paragraph.rb
159
+ - lib/article_json/export/apple_news/elements/quote.rb
160
+ - lib/article_json/export/apple_news/elements/text.rb
161
+ - lib/article_json/export/apple_news/elements/text_box.rb
162
+ - lib/article_json/export/apple_news/exporter.rb
141
163
  - lib/article_json/export/common/elements/base.rb
142
164
  - lib/article_json/export/common/html/elements/base.rb
143
165
  - lib/article_json/export/common/html/elements/embed.rb
@@ -214,7 +236,7 @@ homepage: https://github.com/Devex/article_json
214
236
  licenses:
215
237
  - MIT
216
238
  metadata: {}
217
- post_install_message:
239
+ post_install_message:
218
240
  rdoc_options: []
219
241
  require_paths:
220
242
  - lib
@@ -222,15 +244,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
222
244
  requirements:
223
245
  - - ">="
224
246
  - !ruby/object:Gem::Version
225
- version: '2.3'
247
+ version: '2.5'
226
248
  required_rubygems_version: !ruby/object:Gem::Requirement
227
249
  requirements:
228
250
  - - ">="
229
251
  - !ruby/object:Gem::Version
230
252
  version: '0'
231
253
  requirements: []
232
- rubygems_version: 3.0.4
233
- signing_key:
254
+ rubygems_version: 3.4.10
255
+ signing_key:
234
256
  specification_version: 4
235
257
  summary: JSON Format for News Articles & Ruby Gem
236
258
  test_files: []