Skip to content

Latest commit

 

History

History
309 lines (200 loc) · 9.11 KB

CHANGELOG.md

File metadata and controls

309 lines (200 loc) · 9.11 KB

3.2.0

Makes scrapers configurable by allowing to set the scraping strategy:

LinkThumbnailer.configure do |config|
  config.scrapers = [:opengraph, :default]
end

opengraph use the Open Graph Protocol. default use a homemade algorithm

3.1.2

Allows to customize ideal description length

Pass the :ideal_description_length option to the Graders::Length initializer to customize the ideal description length of a website. In the rails initializer:

LinkThumbnailer.configure do |config|
  config.graders = [
    ->(description) { ::LinkThumbnailer::Graders::Length.new(description, ideal_description_length: 500) },
    ->(description) { ::LinkThumbnailer::Graders::HtmlAttribute.new(description, :class) },
    ->(description) { ::LinkThumbnailer::Graders::HtmlAttribute.new(description, :id) },
    ->(description) { ::LinkThumbnailer::Graders::Position.new(description, weigth: 3) },
    ->(description) { ::LinkThumbnailer::Graders::LinkDensity.new(description) },
  ]
end

Will default to 120 characters. More information about how the gem manage to find the best description can be found at http://www.codeids.com/2015/06/27/how-to-find-best-description-of-a-website-using-linkthumbnailer/

3.1.1

3.1.0

  • Fix an issue when image sizes could not be retrieved.
  • Grapers now accepts an optional parameter to customize the weigth of the grader in the probablity computation.
LinkThumbnailer::Graders::Position.new(description, weigth: 3)

Will give a 3 times more weigth to the Position grader compare to other graders. By default all graders have a weigth of 1 except the above position grader since position should play a bigger role in order to find good description candidates.

3.0.3

  • Fix an issue when dealing with absolute urls. gottfrois#68
  • Fix an issue with http redirection and location header not beeing present. gottfrois#70
  • Rescue and raise custom LinkThumbnailer exceptions. gottfrois#71

3.0.2

  • Replace FastImage gem dependency by ImageInfo to improve performances when fetching multiple images size information. Benchmark shows an order of magnitude improvement response time.
  • Fixes #57

3.0.1

  • Remove useless dependencies

3.0.0

  • Improved description sorting.
  • Refactored how graders work. More information here

2.6.1

  • Fix remove useless dependency

2.6.0

  • Introduce new raise_on_invalid_format option (false by default) to raise LinkThumbnailer::FormatNotSupported if http Content-Type is invalid. Fixes #61 and #64.

2.5.2

  • Fix OpenURI::HTTPError exception raised when video_info gem is not able to parse video metadata. Fixes #60.

2.5.1

  • Implement Set-Cookie header between http redirections to set cookies when site requires it. Fixes #55.

2.5.0

  • Handles seamlessly og:image and og:image:url
  • Handles seamlessly og:video and og:video:url
  • Handles og:video:width and og:video:height for one video only (please create a ticket if you want support for multiple videos/images width & height)
  • Fix calling as_json on website to return as_json representation of videos and images, not just their urls
  • Gem updates and fix rspec deprecation warnings

2.4.0

  • Handle connection through proxy automatically using the ENV['HTTP_PROXY'] variable thanks to taganaka.

2.3.2

  • Fix an issue with vimeo opengraph urls. Fixes #46

2.3.1

  • Fix an issue with the link density grader caused by links with image instead of text. Fixes #45

2.3.0

  • Add requested favicon scraper #40

Add :favicon to config.attributes in LinkThumbnailer initializer:

config.attributes = [:title, :images, :description, :videos, :favicon]

Then

o = LinkThumbnailer.generate('https://github.com')
o.favicon
 => "https://github.com/fluidicon.png"

2.2.3

2.2.2

2.2.1

  • Fix issue when computing link density ratio

2.2.0

  • Add support for og:video
  • Add support for multiple og:video as well

LinkThumbnailer will return the following json for example:

{
  id:         'x7lni3',
  src:        'http://www.dailymotion.com/video/x7lni3',
  size:       [640, 360],
  duration:   136,
  provider:   'Dailymotion',
  embed_code: '<iframe src="//www.dailymotion.com/embed/video/x7lni3" frameborder="0" allowfullscreen="allowfullscreen"></iframe>'
}

Add :videos into your config/initializers/link_thumbnailer.rb attributes config in order to start scraping videos.

Ex:

config.attributes = [:title, :images, :description, :videos]

2.1.0

  • Increased og:image scraping performance by parsing og:image:width and og:image:height attribute if specified
  • Introduced image_stats option to allow disabling image size and type parsing causing performance issues.

When disabled, size will be [0, 0] and type will be nil

2.0.4

2.0.3

2.0.2

  • Fix couple of issues with URI class namespace

2.0.1

  • Fix issue with image parser (fastimage) when given an URI instance instead of a string

2.0.0

  • Fully refactored LinkThumbnailer
  • Introduced Graders
  • Introduced Scrapers
  • Ability to score descriptions
  • Ability to fetch multiple og:image
  • Fixed memoized run-time options
  • Fixed some website urls not working
  • Refactor ugly code
  • More specs
  • Removed PreviewsController since it does not add much value. Simply create your own and use the to_json method.

To update from 1.x.x to 2.x.x you need to run rails g link_thumbnailer:install to get the new configuration file. If you used the PreviewsController feature, you need to build it yourself since it is not supported anymore.

1.1.2

1.1.1

  • Fix route helper not working under rails 4.

1.1.0

  • Replace RMagick by FastImage
  • Rename rmagick_attributes config into image_attributes

1.0.9

  • Fix issue when Location header used a relative path instead of an absolute path
  • Update gemfile to be more flexible when using Hashie gem

1.0.8

  • Thanks to juriglx, support for canonical urls
  • Bug fixes

1.0.7

  • Fix: Issue with preview controller

1.0.6

  • Fix: Issue when setting strict option. Always returning OG representation.

1.0.5

  • Thanks to phlegx, support for timeout http connection through configurations.

1.0.4

  • Fix issue #7: nil img was returned when exception is raised. Now skiping nil images in results.
  • Thanks to phlegx, support for SSL and User Agent customization through configurations.

1.0.3

  • Fix issue #5: Url was incorect in case of HTTP Redirections.

1.0.2

  • Feature: User can now set options at runtime by passing valid options to generate method
  • Bug fix when doing rails g link_thumbnailer:install by explicitly specifying the scope of Rails

1.0.1

  • Refactor LinkThumbnailer#generate method to have a cleaner code

1.0.0

  • Update readme
  • Add PreviewController for easy integration with user's app
  • Add link_thumbnailer routes for easy integration with user's app
  • Refactor some code
  • Change 'to_a' method to 'to_hash' in object model

0.0.6

  • Update readme
  • Add to_a to WebImage class
  • Refactor to_json for WebImage class
  • Add specs corresponding

0.0.5

  • Bug fix
  • Remove require 'rails' from spec_helper.rb
  • Remove rails dependences (blank? method) in code
  • Spec fix

0.0.4

  • Add specs for almost all classes
  • Add a method to_json for WebImage class to be able to get a usable array of images' attributes

0.0.3

  • Add specs for LinkThumbnailer class
  • Refactor config system, now using dedicated configuration class

0.0.2

  • Added Rspec
  • Bug fixes:
    • Now checking if attribute is blank for LinkThumbnailer::Object.valid? method

0.0.1

  • LinkThumbnailer::Object
  • LinkThumbnailer::Doc
  • LinkThumbnailer::DocParser
  • LinkThumbnailer::Fetcher
  • LinkThumbnailer::ImgComparator
  • LinkThumbnailer::ImgParser
  • LinkThumbnailer::ImgUrlFilter
  • LinkThumbnailer::Opengraph
  • LinkThumbnailer::WebImage
  • LinkThumbnailer.configure
  • LinkThumbnailer.generate