diff --git a/.gitignore b/.gitignore index b7e7725..3476aa5 100644 --- a/.gitignore +++ b/.gitignore @@ -7,4 +7,5 @@ /pkg/ /spec/reports/ /tmp/ +/bin/ *.gem diff --git a/.rubocop.yml b/.rubocop.yml index c796613..d60d44a 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -16,6 +16,10 @@ Style/Documentation: Style/FileName: Enabled: false +Style/IndentHeredoc: + Exclude: + - spec/**/* + AllCops: Exclude: - vendor/**/* diff --git a/Gemfile b/Gemfile index 0919f4a..c626203 100644 --- a/Gemfile +++ b/Gemfile @@ -1,15 +1,15 @@ -source 'https://rubygems.org' -require 'json' -require 'open-uri' +source "https://rubygems.org" +require "json" +require "open-uri" gemspec group :development, :test do - versions = JSON.parse(open('https://pages.github.com/versions.json').read) - versions.delete('ruby') - versions.delete('jekyll-seo-tag') - versions.delete('github-pages') - versions.delete('jekyll') # Remove this line when GitHub Pages supports 3.3.0 + versions = JSON.parse(open("https://pages.github.com/versions.json").read) + versions.delete("ruby") + versions.delete("jekyll-seo-tag") + versions.delete("github-pages") + versions.delete("jekyll") # Remove this line when GitHub Pages supports 3.3.0 versions.each do |dep, version| gem dep, version diff --git a/README.md b/README.md index 8f71d58..ddcd9a0 100644 --- a/README.md +++ b/README.md @@ -13,8 +13,8 @@ Jekyll SEO Tag adds the following meta tags to your site: * Canonical URL * Next and previous URLs on paginated pages * [JSON-LD Site and post metadata](https://developers.google.com/structured-data/) for richer indexing -* [Open graph](http://ogp.me/) title, description, site title, and URL (for Facebook, LinkedIn, etc.) -* [Twitter summary card](https://dev.twitter.com/cards/overview) metadata +* [Open Graph](http://ogp.me/) title, description, site title, and URL (for Facebook, LinkedIn, etc.) +* [Twitter Summary Card](https://dev.twitter.com/cards/overview) metadata While you could theoretically add the necessary metadata tags yourself, Jekyll SEO Tag provides a battle-tested template of crowdsourced best-practices. @@ -102,12 +102,15 @@ webmaster_verifications: yandex: 1234 ``` +* `lang` - The locale these tags are marked up in. Of the format `language_TERRITORY`. Default is `en_US`. + The SEO tag will respect the following YAML front matter if included in a post, page, or document: * `title` - The title of the post, page, or document * `description` - A short description of the page's content * `image` - URL to an image associated with the post, page, or document (e.g., `/assets/page-pic.jpg`) * `author` - Page-, post-, or document-specific author information (see below) +* `lang` - Page-, post-, or document-specific language information ## Advanced usage @@ -191,17 +194,14 @@ The following options can be set for any particular page. While the default opti For most users, setting `image: [path-to-image]` on a per-page basis should be enough. If you need more control over how images are represented, the `image` property can also be an object, with the following options: * `path` - The relative path to the image. Same as `image: [path-to-image]` -* `twitter` - The relative path to a Twitter-specific image. -* `facebook` - The relative path to a Facebook-specific image. -* `height` - The height of the Facebook (`og:image`) image -* `width` - The width of the Facebook (`og:image`) image +* `height` - The height of the Open Graph (`og:image`) image +* `width` - The width of the Open Graph (`og:image`) image You can use any of the above, optional properties, like so: ```yml image: - twitter: /img/twitter.png - facebook: /img/facebook.png + path: /img/twitter.png height: 100 width: 100 ``` diff --git a/Rakefile b/Rakefile index 4c774a2..b7e9ed5 100644 --- a/Rakefile +++ b/Rakefile @@ -1,6 +1,6 @@ -require 'bundler/gem_tasks' -require 'rspec/core/rake_task' +require "bundler/gem_tasks" +require "rspec/core/rake_task" RSpec::Core::RakeTask.new(:spec) -task default: :spec +task :default => :spec diff --git a/lib/jekyll-seo-tag.rb b/lib/jekyll-seo-tag.rb index 696daa6..7d3a736 100644 --- a/lib/jekyll-seo-tag.rb +++ b/lib/jekyll-seo-tag.rb @@ -44,7 +44,7 @@ module Jekyll end def title? - !(@text =~ %r!title=false!i) + @text !~ %r!title=false!i end def info diff --git a/lib/template.html b/lib/template.html index eacff7f..c06665c 100755 --- a/lib/template.html +++ b/lib/template.html @@ -90,13 +90,15 @@ {% endif %} {% if page.image %} - {% assign seo_page_image = page.image.path | default: page.image.facebook | default: page.image %} + {% assign seo_page_image = page.image.path | default: page.image.facebook | default: page.image.twitter | default: page.image %} {% unless seo_page_image contains "://" %} {% assign seo_page_image = seo_page_image | absolute_url %} {% endunless %} {% assign seo_page_image = seo_page_image | escape %} {% endif %} +{% assign seo_page_lang = page.lang | default: site.lang | default: "en_US" %} + {% if seo_tag.title and seo_title %}