jekyll-soopr-seo-tag 2.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/actions/memprof.rb +14 -0
- data/.github/workflows/third-party.yml +61 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.rubocop.yml +19 -0
- data/.rubocop_todo.yml +13 -0
- data/.travis.yml +18 -0
- data/Gemfile +8 -0
- data/History.markdown +202 -0
- data/LICENSE.txt +21 -0
- data/docs/README.md +34 -0
- data/docs/_config.yml +10 -0
- data/docs/_layouts/default.html +18 -0
- data/docs/advanced-usage.md +156 -0
- data/docs/installation.md +24 -0
- data/docs/usage.md +80 -0
- data/jekyll-soopr-seo-tag.gemspec +34 -0
- data/lib/jekyll-seo-tag/author_drop.rb +93 -0
- data/lib/jekyll-seo-tag/drop.rb +252 -0
- data/lib/jekyll-seo-tag/filters.rb +14 -0
- data/lib/jekyll-seo-tag/image_drop.rb +78 -0
- data/lib/jekyll-seo-tag/json_ld.rb +31 -0
- data/lib/jekyll-seo-tag/json_ld_drop.rb +95 -0
- data/lib/jekyll-seo-tag/soopr_drop.rb +54 -0
- data/lib/jekyll-seo-tag/url_helper.rb +23 -0
- data/lib/jekyll-seo-tag/version.rb +10 -0
- data/lib/jekyll-soopr-seo-tag.rb +96 -0
- data/lib/template.html +125 -0
- data/script/bootstrap +5 -0
- data/script/cibuild +7 -0
- data/script/release +38 -0
- data/script/site +3 -0
- metadata +153 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 66bc2d70e874aa550bf95ea9b29c17bb9b3204e6537e068dd19e5d2bc694167f
|
4
|
+
data.tar.gz: e570c39d083832b80d4128957863c5c6d25d90763c6b65d368534d41a5d0a666
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: cb39c9e1fbc5396a7c9e6c9e02f72d204ae44a9d958ca0c357aa2a2191f39ab4be9496b404e6c98465aa08bbdef47a7a0931dd92e5ca3ef65b64688bb9306d8a
|
7
|
+
data.tar.gz: 35475e37db5b66a58e90b717a33ae5ec46a502ef386f32c85bd6cdf32b35afed250d1da11f2ea00daea3a0aa7ec891b07955ef7ed2b4938d8a2b131abdcd059a
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'jekyll'
|
4
|
+
require 'memory_profiler'
|
5
|
+
|
6
|
+
MemoryProfiler.report(allow_files: 'lib/jekyll-seo-tag') do
|
7
|
+
Jekyll::PluginManager.require_from_bundler
|
8
|
+
Jekyll::Commands::Build.process({
|
9
|
+
"source" => File.expand_path(ARGV[0]),
|
10
|
+
"destination" => File.expand_path("#{ARGV[0]}/_site"),
|
11
|
+
"disable_disk_cache" => true,
|
12
|
+
})
|
13
|
+
puts ''
|
14
|
+
end.pretty_print(scale_bytes: true, normalize_paths: true)
|
@@ -0,0 +1,61 @@
|
|
1
|
+
name: Third-Party Repository Profiling
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
pull_request:
|
8
|
+
branches:
|
9
|
+
- master
|
10
|
+
jobs:
|
11
|
+
build_n_profile:
|
12
|
+
if: "!contains(github.event.commits[0].message, '[ci skip]')"
|
13
|
+
runs-on: 'ubuntu-latest'
|
14
|
+
steps:
|
15
|
+
- name: Checkout Jekyll SEO Tag
|
16
|
+
uses: actions/checkout@v2
|
17
|
+
with:
|
18
|
+
fetch-depth: 5
|
19
|
+
path: jekyll-seo-tag
|
20
|
+
- name: Checkout Third-Party Repository (WITHOUT SEO Tag)
|
21
|
+
uses: actions/checkout@v2
|
22
|
+
with:
|
23
|
+
repository: ashmaroli/tomjoht.github.io
|
24
|
+
ref: 'no-seo-tag'
|
25
|
+
path: alpha-sandbox
|
26
|
+
- name: Checkout Same Third-Party Repository (WITH SEO Tag)
|
27
|
+
uses: actions/checkout@v2
|
28
|
+
with:
|
29
|
+
repository: ashmaroli/tomjoht.github.io
|
30
|
+
ref: 'seo-tag'
|
31
|
+
path: sandbox
|
32
|
+
- name: Set up Ruby
|
33
|
+
uses: actions/setup-ruby@v1
|
34
|
+
with:
|
35
|
+
ruby-version: 2.6.x
|
36
|
+
- name: Set up Dependencies Cache
|
37
|
+
uses: actions/cache@v1
|
38
|
+
with:
|
39
|
+
path: sandbox/vendor/bundle
|
40
|
+
key: ubuntu-latest-gems-
|
41
|
+
restore-keys: |
|
42
|
+
ubuntu-latest-gems-
|
43
|
+
- name: Set up Dependencies
|
44
|
+
run: |
|
45
|
+
gem update --system --no-document
|
46
|
+
gem update bundler --no-document
|
47
|
+
bundle config gemfile sandbox/Gemfile
|
48
|
+
bundle config path vendor/bundle
|
49
|
+
bundle install --jobs 4 --retry 3
|
50
|
+
- name: Run Jekyll Build (WITHOUT SEO Tag) 3 times
|
51
|
+
run: |
|
52
|
+
bundle exec jekyll build -s alpha-sandbox -d alpha-sandbox/_site --trace
|
53
|
+
bundle exec jekyll build -s alpha-sandbox -d alpha-sandbox/_site --trace
|
54
|
+
bundle exec jekyll build -s alpha-sandbox -d alpha-sandbox/_site --trace
|
55
|
+
- name: Run Jekyll Build (WITH SEO Tag) 3 times
|
56
|
+
run: |
|
57
|
+
bundle exec jekyll build -s sandbox -d sandbox/_site --trace
|
58
|
+
bundle exec jekyll build -s sandbox -d sandbox/_site --trace
|
59
|
+
bundle exec jekyll build -s sandbox -d sandbox/_site --trace
|
60
|
+
- name: Memory Analysis of Jekyll Build (WITH SEO Tag)
|
61
|
+
run: bundle exec ruby jekyll-seo-tag/.github/workflows/actions/memprof.rb sandbox
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
require: rubocop-jekyll
|
4
|
+
inherit_gem:
|
5
|
+
rubocop-jekyll: .rubocop.yml
|
6
|
+
|
7
|
+
AllCops:
|
8
|
+
TargetRubyVersion: 2.4
|
9
|
+
Exclude:
|
10
|
+
- vendor/**/*
|
11
|
+
|
12
|
+
Layout/LineLength:
|
13
|
+
Exclude:
|
14
|
+
- spec/**/*
|
15
|
+
- jekyll-seo-tag.gemspec
|
16
|
+
|
17
|
+
Metrics/BlockLength:
|
18
|
+
Exclude:
|
19
|
+
- spec/**/*
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config --auto-gen-only-exclude`
|
3
|
+
# on 2020-03-20 11:41:46 +0100 using RuboCop version 0.80.1.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 1
|
10
|
+
# Cop supports --auto-correct.
|
11
|
+
Lint/ToJSON:
|
12
|
+
Exclude:
|
13
|
+
- 'lib/jekyll-seo-tag/json_ld_drop.rb'
|
data/.travis.yml
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
language: ruby
|
2
|
+
cache: bundler
|
3
|
+
rvm:
|
4
|
+
- 2.5
|
5
|
+
- 2.7
|
6
|
+
|
7
|
+
before_install:
|
8
|
+
- gem update --system
|
9
|
+
- gem install bundler
|
10
|
+
|
11
|
+
script: script/cibuild
|
12
|
+
|
13
|
+
env:
|
14
|
+
global:
|
15
|
+
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true
|
16
|
+
matrix:
|
17
|
+
- JEKYLL_VERSION="~> 3.9"
|
18
|
+
- JEKYLL_VERSION="~> 4.0"
|
data/Gemfile
ADDED
data/History.markdown
ADDED
@@ -0,0 +1,202 @@
|
|
1
|
+
## HEAD
|
2
|
+
|
3
|
+
### Fork
|
4
|
+
* Forked jekyll-seo-tag, the wonderful plugin to add Soopr related functionalities - set `publish_token` under `soopr` key in `_config_file`
|
5
|
+
|
6
|
+
### Minor Enhancements
|
7
|
+
|
8
|
+
* Allow to set type for author (#427)
|
9
|
+
|
10
|
+
## 2.7.1 / 2020-10-18
|
11
|
+
|
12
|
+
### Development Fixes
|
13
|
+
|
14
|
+
* refactor: mutate site payload instead of duplicating it (#419)
|
15
|
+
|
16
|
+
## 2.7.0 / 2020-10-18
|
17
|
+
|
18
|
+
### Minor Enhancements
|
19
|
+
|
20
|
+
* Change pagination message with `seo_paginator_message` option (#324)
|
21
|
+
* Make Twitter Summary Card without having Twitter account (#284)
|
22
|
+
* Prefer site.tagline to site.description for page title (#356)
|
23
|
+
* Render og:locale meta only when defined explicitly (#388)
|
24
|
+
|
25
|
+
### Bug Fixes
|
26
|
+
|
27
|
+
* Ensure a single leading `@` for twitter usernames (#367)
|
28
|
+
|
29
|
+
### Development Fixes
|
30
|
+
|
31
|
+
* chore(deps): require Ruby > 2.4.0 EOL
|
32
|
+
* test: fix locale specs that use the fallback locale (#360)
|
33
|
+
* refactor: Replace read-only empty hash with private constant (#418)
|
34
|
+
* refactor: Mutate hash literals instead of duplicating them (#417)
|
35
|
+
* refactor: Reduce allocations of instance-agnostic objects (#376)
|
36
|
+
* refactor: Memoize #author_hash in SeoTag::AuthorDrop (#342)
|
37
|
+
* refactor: simplify conditional in SeoTag::Drop#date_modified (#343)
|
38
|
+
* chore(ci): profile seo-tag plugin on a third-party repository (#414)
|
39
|
+
* chore(ci): Jekyll v4.0 (#372)
|
40
|
+
* chore(ci): test against current stable Ruby 2.5 and 2.7 (#385)
|
41
|
+
* style: align with latest jekyll-rubocop (#382)
|
42
|
+
* fix: Travis builds for Jekyll 3.x (#415)
|
43
|
+
|
44
|
+
### Documentation
|
45
|
+
|
46
|
+
* Structured Data Testing Tool is deprecated (#409)
|
47
|
+
* Rename Google webmaster tools to Google Search Console (#403)
|
48
|
+
* Improve documentation on plugin usage (#399)
|
49
|
+
* remove Google+ from example snippet (#358)
|
50
|
+
* HTTPS link to https://ogp.me/ (#359)
|
51
|
+
* HTTPS links to schema.org (#350)
|
52
|
+
* use example.com for example URL (#351)
|
53
|
+
|
54
|
+
## 2.6.1 / 2019-05-17
|
55
|
+
|
56
|
+
### Development Fixes
|
57
|
+
|
58
|
+
* Test against Jekyll 4.x (#336)
|
59
|
+
|
60
|
+
## 2.6.0 / 2019-03-16
|
61
|
+
|
62
|
+
### Minor Enhancements
|
63
|
+
|
64
|
+
* Twitter Image and Title (#330)
|
65
|
+
|
66
|
+
### Bug Fixes
|
67
|
+
|
68
|
+
* Do not cache the drop payload for SeoTag (#306)
|
69
|
+
* Update url of schema website (#296)
|
70
|
+
|
71
|
+
### Development Fixes
|
72
|
+
|
73
|
+
* Relax version constraint on Bundler (#325)
|
74
|
+
* chore(ci): Add Ruby 2.6, drop Ruby 2.3 (#326)
|
75
|
+
* chore (ci): remove deprecated `sudo: false` in .travis.yml (#333)
|
76
|
+
* Lint Ruby code with rubocop-jekyll gem (#302)
|
77
|
+
* chore(deps): bump rubocop-jekyll to v0.4 (#320)
|
78
|
+
* chore(deps): bump rubocop-jekyll to v0.3 (#316)
|
79
|
+
* Correct RuboCop offenses in spec files (#319)
|
80
|
+
|
81
|
+
### Documentation
|
82
|
+
|
83
|
+
* Rectify error in Usage documentation (#328)
|
84
|
+
|
85
|
+
## 2.5.0 / 2018-05-18
|
86
|
+
|
87
|
+
* Docs: Prevent GitHub Pages from processing Liquid raw tag (#276)
|
88
|
+
|
89
|
+
### Documentation
|
90
|
+
|
91
|
+
* Use gems config key for Jekyll < 3.5.0 (#255)
|
92
|
+
* docs/usage - replace "below" with correct link (#280)
|
93
|
+
|
94
|
+
### Development Fixes
|
95
|
+
|
96
|
+
* Test against Ruby 2.5 (#260)
|
97
|
+
* add tests for twitter.card types (#289)
|
98
|
+
* Target Ruby 2.3 and Rubocop 0.56.0 (#292)
|
99
|
+
|
100
|
+
### Minor Enhancements
|
101
|
+
|
102
|
+
* Add webmaster_verifications for baidu (#263)
|
103
|
+
* Include page number in title (#250)
|
104
|
+
* Configure default Twitter summary card type (V2) (#225)
|
105
|
+
|
106
|
+
## 2.4.0 / 2017-12-04
|
107
|
+
|
108
|
+
### Minor
|
109
|
+
|
110
|
+
* Add meta generator (#236)
|
111
|
+
* Consistently use self-closing tags (#246)
|
112
|
+
* Strip null values from JSON-LD hash (#249)
|
113
|
+
|
114
|
+
### Documentation
|
115
|
+
|
116
|
+
* Avoid deprecation warning when building docs (#243)
|
117
|
+
|
118
|
+
### Development Fixes
|
119
|
+
|
120
|
+
* Test against latest Rubies (#242)
|
121
|
+
* Use Nokigiri on CI (#181)
|
122
|
+
|
123
|
+
## 2.3.0
|
124
|
+
|
125
|
+
### Minor Enhancements
|
126
|
+
|
127
|
+
* Use canonical_url specified in page if present #211
|
128
|
+
* Fix for image.path causing an invalid url error #228
|
129
|
+
* Ensure `site.data.authors` is properly formatted before attempting to retrieve author meta #227
|
130
|
+
* Convert author, image, and JSON-LD to dedicated drops #229
|
131
|
+
* Cache parsed template #231
|
132
|
+
* Define path with `__dir__` #232
|
133
|
+
|
134
|
+
### Documentation
|
135
|
+
|
136
|
+
* gems: is deprecated in current Jekyll version of github-pages #230
|
137
|
+
|
138
|
+
## 2.2.3
|
139
|
+
|
140
|
+
* Guard against the author's Twitter handle being Nil when stripping @'s #203
|
141
|
+
* Guard against empty title or description strings #206
|
142
|
+
|
143
|
+
## 2.2.2
|
144
|
+
|
145
|
+
### Minor Enhancements
|
146
|
+
|
147
|
+
* Guard against arrays in subhashes #197
|
148
|
+
* Guard against invalid or missing URLs #199
|
149
|
+
|
150
|
+
### Development fixes
|
151
|
+
|
152
|
+
* Remove dynamic GitHub Pages logic from Gemfile #194
|
153
|
+
|
154
|
+
## 2.2.1
|
155
|
+
|
156
|
+
* Convert template logic to a Liquid Drop (significant performance improvement) (#184)
|
157
|
+
* Fix for JSON-LD validation warning for images missing required properties (#183)
|
158
|
+
|
159
|
+
## 2.2.0
|
160
|
+
|
161
|
+
### Major Enhancements
|
162
|
+
|
163
|
+
* Add author meta (#103)
|
164
|
+
* Add og:locale support #166
|
165
|
+
* Add support for Bing and Yandex webmaster tools. Closes #147 (#148)
|
166
|
+
* Add SEO author and date modified to validate JSON-LD output (#151)
|
167
|
+
|
168
|
+
### Minor Enhancements
|
169
|
+
|
170
|
+
* Use `|` for title separator (#162)
|
171
|
+
* Use `og:image` for twitter image (#174)
|
172
|
+
|
173
|
+
### Development Fixes
|
174
|
+
|
175
|
+
* Style fixes (#170, #157, #149)
|
176
|
+
* Test against latest version of Jekyll (#171)
|
177
|
+
* Bump dev dependencies (#172)
|
178
|
+
* Remove Rake dependency (#180)
|
179
|
+
|
180
|
+
## 2.1.0
|
181
|
+
|
182
|
+
### Major Enhancement
|
183
|
+
|
184
|
+
* Use new URL filters (#123)
|
185
|
+
|
186
|
+
### Minor Enhancements
|
187
|
+
|
188
|
+
* Wraps logo image json data in a publisher property (#133)
|
189
|
+
* Fix duplicated `escape_once` (#93)
|
190
|
+
* Simplify minify regex (#125)
|
191
|
+
* Don't mangle text with newlines #126
|
192
|
+
|
193
|
+
### Documentation
|
194
|
+
|
195
|
+
* Add front matter default example for image (#132)
|
196
|
+
* Fix tiny typo (#106)
|
197
|
+
* add example usage of social profiles (#139)
|
198
|
+
|
199
|
+
### Development
|
200
|
+
|
201
|
+
* Inherit Jekyll's rubocop config for consistency (#109)
|
202
|
+
* Correct spelling in .travis.yml (#112)
|
data/LICENSE.txt
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
The MIT License (MIT)
|
2
|
+
|
3
|
+
Copyright (c) 2015-present Ben Balter and the jekyll-seo-tag contributors
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
7
|
+
in the Software without restriction, including without limitation the rights
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
10
|
+
furnished to do so, subject to the following conditions:
|
11
|
+
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
13
|
+
all copies or substantial portions of the Software.
|
14
|
+
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
+
THE SOFTWARE.
|
data/docs/README.md
ADDED
@@ -0,0 +1,34 @@
|
|
1
|
+
## About Jekyll Soopr SEO Tag
|
2
|
+
|
3
|
+
Jekyll Soopr SEO Tag plugin is a fork of Jekyll SEO Tag, the wonderful plugin that adds metadata tags for search engines and social networks to better index and display your site's content.
|
4
|
+
In addition to that, Soopr SEO Tag plugin uses Soopr and does following two things
|
5
|
+
1. Auto-generation of share images using Soopr. This functionality uses title and description of page, and creates a beautiful image that is automatically added in the blog post.
|
6
|
+
2. Add Soopr JS SDK to the site. Using Soopr JS SDK, you can add share and like buttons, URL shortener and analytics.
|
7
|
+
|
8
|
+
## What it does
|
9
|
+
|
10
|
+
Jekyll SEO Tag adds the following meta tags to your site:
|
11
|
+
|
12
|
+
* Page title, with site title or description appended
|
13
|
+
* Page description
|
14
|
+
* Canonical URL
|
15
|
+
* Next and previous URLs on paginated pages
|
16
|
+
* [JSON-LD Site and post metadata](https://developers.google.com/search/docs/guides/intro-structured-data) for richer indexing
|
17
|
+
* [Open Graph](https://ogp.me/) title, description, site title, and URL (for Facebook, LinkedIn, etc.)
|
18
|
+
* [Twitter Summary Card](https://dev.twitter.com/cards/overview) metadata
|
19
|
+
|
20
|
+
While you could theoretically add the necessary metadata tags yourself, Jekyll SEO Tag provides a battle-tested template of crowdsourced best-practices.
|
21
|
+
|
22
|
+
## What it doesn't do
|
23
|
+
|
24
|
+
Jekyll SEO tag is designed to output machine-readable metadata for search engines and social networks to index and display. If you're looking for something to analyze your Jekyll site's structure and content (e.g., more traditional SEO optimization), take a look at [The Jekyll SEO Gem](https://github.com/pmarsceill/jekyll-seo-gem).
|
25
|
+
|
26
|
+
Jekyll SEO tag isn't designed to accommodate every possible use case. It should work for most site out of the box and without a laundry list of configuration options that serve only to confuse most users.
|
27
|
+
|
28
|
+
## Documentation
|
29
|
+
|
30
|
+
For more information, see:
|
31
|
+
|
32
|
+
* [Installation](installation.md)
|
33
|
+
* [Usage](usage.md)
|
34
|
+
* [Advanced usage](advanced-usage.md)
|
data/docs/_config.yml
ADDED
@@ -0,0 +1,10 @@
|
|
1
|
+
title: Jekyll SEO Tag
|
2
|
+
description: A Jekyll plugin to add metadata tags for search engines and social networks to better index and display your site's content.
|
3
|
+
|
4
|
+
permalink: pretty
|
5
|
+
|
6
|
+
plugins:
|
7
|
+
- jekyll-seo-tag
|
8
|
+
- jekyll-sitemap
|
9
|
+
|
10
|
+
theme: jekyll-theme-primer
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<!DOCTYPE html>
|
2
|
+
<html lang="en">
|
3
|
+
<head>
|
4
|
+
<meta charset="UTF-8">
|
5
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
6
|
+
<link href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}" rel="stylesheet">
|
7
|
+
{% seo %}
|
8
|
+
</head>
|
9
|
+
<body>
|
10
|
+
<div class="container markdown-body">
|
11
|
+
<h1>{{ site.title }}</h1>
|
12
|
+
|
13
|
+
{{ content }}
|
14
|
+
</div>
|
15
|
+
<script src="{{ "assets/javascript/anchor-js/anchor.min.js" | relative_url }}"></script>
|
16
|
+
<script>anchors.add();</script>
|
17
|
+
</body>
|
18
|
+
</html>
|