Add the following code to your project's shard.yml under:
dependencies
to use in production
- OR -
development_dependencies
to use in development
Crog is a simple Crystal library to parse up the Open Graph meta data for web pages. If you have ever wondered how does sites like Reddit, Facebook etc fetch the relevant images and other metadata from 3rd party sites, this is it.
Special thanks to https://metascraper.js.org/ whose rules i referenced throughout my development.
Add this to your application's shard.yml
:
dependencies:
crog:
github: rishavs/crog
require "crog"
To use the library, simple call the Parse method as;
mdata = Crog::Parse.new(url)
the variable here will hold an object with attributes;
property image : String | Nil = nil
property image_width : Int32 | Nil = nil
property image_height : Int32 | Nil = nil
property url : String | Nil = nil
property description : String | Nil = nil
property title : String | Nil = nil
property author : String | Nil = nil
property date : String | Nil = nil
property logo : String | Nil = nil
property tags = [] of String
A lot of edge cases are not yet picked up. I have left them in the crog.cr file for future reference.
git checkout -b my-new-feature
)git commit -am 'Add some feature'
)git push origin my-new-feature
)