middleman-vcs-time 0.0.3 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +7 -2
- data/.travis.yml +9 -2
- data/Appraisals +5 -0
- data/Gemfile +5 -11
- data/README.md +5 -8
- data/Rakefile +3 -4
- data/features/fallback.feature +1 -1
- data/features/git-support.feature +2 -2
- data/features/steps/git_steps.rb +4 -4
- data/features/steps/time_steps.rb +5 -5
- data/features/support/env.rb +1 -1
- data/fixtures/no-vcs-app/config.rb +5 -1
- data/fixtures/no-vcs-app/lib/generated_resources.rb +36 -0
- data/gemfiles/middleman_4.0.gemfile +15 -0
- data/gemfiles/middleman_4.1.gemfile +15 -0
- data/gemfiles/middleman_unreleased.gemfile +15 -0
- data/lib/middleman-vcs-time.rb +6 -2
- data/lib/middleman-vcs-time/extension.rb +3 -4
- data/lib/middleman-vcs-time/systems/fallback.rb +5 -9
- data/lib/middleman-vcs-time/systems/git.rb +33 -25
- data/middleman-vcs-time.gemspec +24 -10
- metadata +82 -8
- data/fixtures/no-vcs-app/lib/generated-resources.rb +0 -33
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7968930fda9cd6d292ee50dc5dca313e7db31f40
|
4
|
+
data.tar.gz: 2bd471546abc65091f441d91effe27df624da306
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6eebe78f242967f2cf77516227719e745955ace6c1a16adad3bfcdb31e80baf4d7c1f178a11c77028004a4d1264002422301d5a21c3eaea52ae36e92d4228ffe
|
7
|
+
data.tar.gz: 7b125ad296c92396659e7750a91a51d116fb7a630be7e7dd09b9312d88aeb82d7197e9e4031308e54aa6a5790b340a561b2cd1a7dc243d1d535974ee0811e04a
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -2,6 +2,13 @@ env:
|
|
2
2
|
- CUCUMBER_FORMAT=pretty
|
3
3
|
language: ruby
|
4
4
|
rvm:
|
5
|
-
- 2.
|
6
|
-
- 2.1
|
5
|
+
- 2.2.5
|
6
|
+
- 2.3.1
|
7
|
+
gemfile:
|
8
|
+
- gemfiles/middleman_4.0.gemfile
|
9
|
+
- gemfiles/middleman_4.1.gemfile
|
10
|
+
- gemfiles/middleman_unreleased.gemfile
|
11
|
+
matrix:
|
12
|
+
allow_failures:
|
13
|
+
- gemfile: gemfiles/middleman_unreleased.gemfile
|
7
14
|
script: bundle exec rake test
|
data/Appraisals
ADDED
data/Gemfile
CHANGED
@@ -2,18 +2,12 @@ source 'https://rubygems.org'
|
|
2
2
|
|
3
3
|
gemspec
|
4
4
|
|
5
|
-
|
6
|
-
gem 'middleman', github: 'middleman/middleman', branch: 'v3-stable'
|
7
|
-
gem 'rake'
|
8
|
-
gem 'rdoc'
|
9
|
-
gem 'travis'
|
10
|
-
gem 'websocket-native'
|
11
|
-
gem 'yard'
|
12
|
-
end
|
5
|
+
gem 'middleman-core', github: 'middleman/middleman', branch: 'master'
|
13
6
|
|
14
7
|
group :test do
|
15
|
-
gem '
|
16
|
-
gem '
|
17
|
-
gem '
|
8
|
+
gem 'appraisal', '~> 2.0'
|
9
|
+
gem 'aruba', '~> 0.14'
|
10
|
+
gem 'capybara', '~> 2.4'
|
11
|
+
gem 'cucumber', '~> 2.0'
|
18
12
|
gem 'rspec', '~> 3.0'
|
19
13
|
end
|
data/README.md
CHANGED
@@ -4,11 +4,8 @@
|
|
4
4
|
[![Build Status][build-status-badge]][build-status]
|
5
5
|
|
6
6
|
Provides means to look up the last-modified times of [Middleman][] sitemap
|
7
|
-
resources according to
|
8
|
-
|
9
|
-
Supported version control systems:
|
10
|
-
|
11
|
-
- Git
|
7
|
+
resources according to version control. Supports Git with a fallback to
|
8
|
+
filesystem metadata.
|
12
9
|
|
13
10
|
## Installation
|
14
11
|
|
@@ -28,7 +25,7 @@ Activate the extension in `config.rb`:
|
|
28
25
|
activate :vcs_time
|
29
26
|
```
|
30
27
|
|
31
|
-
Get the modification time of the current page:
|
28
|
+
Get the modification time of e.g. the current page:
|
32
29
|
|
33
30
|
```ruby
|
34
31
|
current_page.mtime # => 2014-01-20 17:31:50 -0800
|
@@ -36,7 +33,7 @@ current_page.mtime # => 2014-01-20 17:31:50 -0800
|
|
36
33
|
|
37
34
|
|
38
35
|
[build-status]: https://travis-ci.org/AndrewKvalheim/middleman-vcs-time
|
39
|
-
[build-status-badge]: https://travis-ci.org/AndrewKvalheim/middleman-vcs-time.
|
36
|
+
[build-status-badge]: https://travis-ci.org/AndrewKvalheim/middleman-vcs-time.svg?branch=master
|
40
37
|
[gem-version]: https://badge.fury.io/rb/middleman-vcs-time
|
41
|
-
[gem-version-badge]: https://badge.fury.io/rb/middleman-vcs-time.
|
38
|
+
[gem-version-badge]: https://badge.fury.io/rb/middleman-vcs-time.svg
|
42
39
|
[middleman]: http://middlemanapp.com/
|
data/Rakefile
CHANGED
@@ -4,12 +4,11 @@ Bundler::GemHelper.install_tasks
|
|
4
4
|
require 'cucumber/rake/task'
|
5
5
|
|
6
6
|
Cucumber::Rake::Task.new(:cucumber, 'Run features that should pass') do |t|
|
7
|
-
|
8
|
-
t.cucumber_opts = "--color --tags ~@wip --strict --format #{format}"
|
7
|
+
t.cucumber_opts = '--color --tags ~@wip --strict'
|
9
8
|
end
|
10
9
|
|
11
10
|
require 'rake/clean'
|
12
11
|
|
13
|
-
task :
|
12
|
+
task test: ['cucumber']
|
14
13
|
|
15
|
-
task :
|
14
|
+
task default: :test
|
data/features/fallback.feature
CHANGED
@@ -8,4 +8,4 @@ Feature: Fallback
|
|
8
8
|
Scenario: Use the file modification time when there is no version control system
|
9
9
|
Given the Server is running at "no-vcs-app"
|
10
10
|
When I go to "/show-mtime.html"
|
11
|
-
Then I should see the modification time
|
11
|
+
Then I should see the file modification time of "source/show-mtime.html.erb"
|
@@ -3,12 +3,12 @@ Feature: Git support
|
|
3
3
|
Scenario: Use the file modification time when the source file is untracked
|
4
4
|
Given the Server is running under Git at "git-app"
|
5
5
|
When I go to "/show-mtime_untracked.html"
|
6
|
-
Then I should see the modification time
|
6
|
+
Then I should see the file modification time of "source/show-mtime_untracked.html.erb"
|
7
7
|
|
8
8
|
Scenario: Use the file modification time when there are working changes to the source file
|
9
9
|
Given the Server is running under Git at "git-app"
|
10
10
|
When I go to "/show-mtime_working.html"
|
11
|
-
Then I should see the modification time
|
11
|
+
Then I should see the file modification time of "source/show-mtime_working.html.erb"
|
12
12
|
|
13
13
|
Scenario: Use the author time of the most recent commit
|
14
14
|
Given the Server is running under Git at "git-app"
|
data/features/steps/git_steps.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
# Use a non-standard Git directory in fixtures so as not to conflict with the
|
2
2
|
# parent repository
|
3
3
|
Given /^the Server is running under Git at "([^\"]*)"$/ do |app_path|
|
4
|
-
step %
|
4
|
+
step %(a fixture app "#{app_path}")
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
ENV['GIT_DIR'] = expand_path('dotgit')
|
7
|
+
ENV['GIT_WORK_TREE'] = expand_path('.')
|
8
8
|
|
9
|
-
step %
|
9
|
+
step %(the Server is running)
|
10
10
|
end
|
@@ -3,15 +3,15 @@ TOLERANCE = 5
|
|
3
3
|
Then /^I should see the current time$/ do
|
4
4
|
now = Time.now.to_i
|
5
5
|
|
6
|
-
window = (now - TOLERANCE
|
7
|
-
has_current_time =
|
6
|
+
window = ((now - TOLERANCE)..(now + TOLERANCE))
|
7
|
+
has_current_time = page.body.scan(/\d+/).any? do |digits|
|
8
8
|
window.include?(digits.to_i)
|
9
9
|
end
|
10
10
|
|
11
11
|
expect(has_current_time).to be_truthy
|
12
12
|
end
|
13
13
|
|
14
|
-
Then /^I should see the modification time
|
15
|
-
target =
|
16
|
-
step %
|
14
|
+
Then /^I should see the file modification time of "([^\"]*)"$/ do |file|
|
15
|
+
target = expand_path(file)
|
16
|
+
step %(I should see "#{File.mtime(target).to_i}")
|
17
17
|
end
|
data/features/support/env.rb
CHANGED
@@ -0,0 +1,36 @@
|
|
1
|
+
module GeneratedResources
|
2
|
+
# Resource with a configurable renderer
|
3
|
+
class GeneratedResource < ::Middleman::Sitemap::Resource
|
4
|
+
attr_accessor :renderer
|
5
|
+
|
6
|
+
def render(options = {}, locals = {})
|
7
|
+
@renderer.call(self, options, locals)
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
# Sitemap manipulator
|
12
|
+
class Extension < ::Middleman::Extension
|
13
|
+
expose_to_config :generate
|
14
|
+
|
15
|
+
def initialize(app, options_hash = {})
|
16
|
+
super
|
17
|
+
|
18
|
+
@renderers = {}
|
19
|
+
end
|
20
|
+
|
21
|
+
def generate(path, &renderer)
|
22
|
+
@renderers[path] = renderer
|
23
|
+
end
|
24
|
+
|
25
|
+
def manipulate_resource_list(resources)
|
26
|
+
resources + @renderers.map do |path, renderer|
|
27
|
+
GeneratedResource.new(app.sitemap, path, nil).tap do |resource|
|
28
|
+
resource.renderer = renderer
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
extension = GeneratedResources::Extension
|
36
|
+
::Middleman::Extensions.register :generated_resources, extension
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "middleman-core", "~> 4.0.0"
|
6
|
+
|
7
|
+
group :test do
|
8
|
+
gem "appraisal", "~> 2.0"
|
9
|
+
gem "aruba", "~> 0.14"
|
10
|
+
gem "capybara", "~> 2.4"
|
11
|
+
gem "cucumber", "~> 2.0"
|
12
|
+
gem "rspec", "~> 3.0"
|
13
|
+
end
|
14
|
+
|
15
|
+
gemspec :path => "../"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "middleman-core", "~> 4.1.0"
|
6
|
+
|
7
|
+
group :test do
|
8
|
+
gem "appraisal", "~> 2.0"
|
9
|
+
gem "aruba", "~> 0.14"
|
10
|
+
gem "capybara", "~> 2.4"
|
11
|
+
gem "cucumber", "~> 2.0"
|
12
|
+
gem "rspec", "~> 3.0"
|
13
|
+
end
|
14
|
+
|
15
|
+
gemspec :path => "../"
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# This file was generated by Appraisal
|
2
|
+
|
3
|
+
source "https://rubygems.org"
|
4
|
+
|
5
|
+
gem "middleman-core", :github => "middleman/middleman", :branch => "master"
|
6
|
+
|
7
|
+
group :test do
|
8
|
+
gem "appraisal", "~> 2.0"
|
9
|
+
gem "aruba", "~> 0.14"
|
10
|
+
gem "capybara", "~> 2.4"
|
11
|
+
gem "cucumber", "~> 2.0"
|
12
|
+
gem "rspec", "~> 3.0"
|
13
|
+
end
|
14
|
+
|
15
|
+
gemspec :path => "../"
|
data/lib/middleman-vcs-time.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
require 'middleman-core'
|
2
|
-
|
3
1
|
module Middleman
|
4
2
|
module VCSTime
|
3
|
+
# Middleman extension
|
5
4
|
class Extension < ::Middleman::Extension
|
6
5
|
def initialize(app, **options_hash, &block)
|
7
6
|
super
|
@@ -11,9 +10,9 @@ module Middleman
|
|
11
10
|
end
|
12
11
|
|
13
12
|
def after_configuration
|
14
|
-
|
13
|
+
vcs = [Git, Fallback].find(&:available?)
|
15
14
|
|
16
|
-
|
15
|
+
Middleman::Sitemap::Resource.prepend vcs::ResourceIncludes
|
17
16
|
end
|
18
17
|
end
|
19
18
|
end
|
@@ -1,20 +1,16 @@
|
|
1
1
|
module Middleman
|
2
2
|
module VCSTime
|
3
|
+
# Interface to filesystem metadata
|
3
4
|
class Fallback
|
5
|
+
# Extensions to sitemap resources
|
4
6
|
module ResourceIncludes
|
5
7
|
def mtime
|
6
|
-
|
7
|
-
File.mtime(source_file)
|
8
|
-
else
|
9
|
-
Time.now
|
10
|
-
end
|
8
|
+
source_file ? File.mtime(source_file) : Time.now
|
11
9
|
end
|
12
10
|
end
|
13
11
|
|
14
|
-
def self.
|
15
|
-
|
16
|
-
include ResourceIncludes
|
17
|
-
end
|
12
|
+
def self.available?
|
13
|
+
true
|
18
14
|
end
|
19
15
|
end
|
20
16
|
end
|
@@ -2,51 +2,59 @@ require 'pathname'
|
|
2
2
|
|
3
3
|
module Middleman
|
4
4
|
module VCSTime
|
5
|
+
# Interface to Git metadata
|
5
6
|
class Git < Fallback
|
7
|
+
# Extensions to sitemap resources
|
6
8
|
module ResourceIncludes
|
7
9
|
def mtime
|
8
|
-
@_mtime ||=
|
9
|
-
git_author_time
|
10
|
-
else
|
11
|
-
super
|
12
|
-
end
|
10
|
+
@_mtime ||= git_clean? ? git_author_time : super
|
13
11
|
end
|
14
12
|
|
15
13
|
private
|
16
14
|
|
17
|
-
|
18
|
-
|
15
|
+
# Parsed numstat log
|
16
|
+
class Numstats
|
17
|
+
include Enumerable
|
18
|
+
|
19
|
+
GIT_NUMSTAT = %w(git log --follow --numstat --format=%at --).freeze
|
20
|
+
|
21
|
+
# Parsed commit entry
|
22
|
+
class Commit
|
23
|
+
attr_reader :time
|
19
24
|
|
20
|
-
|
21
|
-
|
22
|
-
|
25
|
+
def initialize(raw)
|
26
|
+
@insertions, @deletions = raw.last.split("\t").take(2).map(&:to_i)
|
27
|
+
@time = Time.at(raw.first.to_i)
|
23
28
|
end
|
24
|
-
end
|
25
29
|
|
26
|
-
|
27
|
-
|
30
|
+
def changed?
|
31
|
+
@deletions.nonzero? || @insertions.nonzero?
|
32
|
+
end
|
33
|
+
end
|
28
34
|
|
29
|
-
|
30
|
-
|
35
|
+
def initialize(path)
|
36
|
+
@raw = IO.popen(GIT_NUMSTAT + [path])
|
37
|
+
end
|
31
38
|
|
32
|
-
|
39
|
+
def each
|
40
|
+
@raw.each_line.each_slice(3) { |entry| yield Commit.new(entry) }
|
41
|
+
end
|
33
42
|
end
|
34
|
-
end
|
35
43
|
|
36
|
-
|
37
|
-
|
38
|
-
|
44
|
+
def git_author_time
|
45
|
+
change = Numstats.new(source_file).find(&:changed?)
|
46
|
+
change.time if change
|
47
|
+
end
|
39
48
|
|
40
|
-
|
41
|
-
|
49
|
+
def git_clean?
|
50
|
+
IO.popen(%w(git status --porcelain --) + [source_file]) do |output|
|
51
|
+
output.read.empty?
|
42
52
|
end
|
43
53
|
end
|
44
54
|
end
|
45
55
|
|
46
|
-
private
|
47
|
-
|
48
56
|
def self.available?
|
49
|
-
system(*%w
|
57
|
+
system(*%w(git rev-parse), err: File::NULL)
|
50
58
|
end
|
51
59
|
end
|
52
60
|
end
|
data/middleman-vcs-time.gemspec
CHANGED
@@ -1,20 +1,34 @@
|
|
1
|
-
|
2
|
-
$:.push File.expand_path('../lib', __FILE__)
|
1
|
+
$LOAD_PATH.push File.expand_path('../lib', __FILE__)
|
3
2
|
|
4
3
|
Gem::Specification.new do |gem|
|
4
|
+
# Identity
|
5
5
|
gem.name = 'middleman-vcs-time'
|
6
|
-
gem.version = '0.0.
|
7
|
-
gem.platform = Gem::Platform::RUBY
|
8
|
-
gem.required_ruby_version = '~> 2.0'
|
9
|
-
gem.license = 'MIT'
|
10
|
-
gem.authors = ['Andrew Kvalheim']
|
11
|
-
gem.email = ['Andrew@Kvalhe.im']
|
6
|
+
gem.version = '0.0.4'
|
12
7
|
gem.homepage = 'https://github.com/AndrewKvalheim/middleman-vcs-time'
|
13
|
-
gem.summary =
|
8
|
+
gem.summary = 'Use version control to determine last-modified times of ' \
|
9
|
+
'Middleman resources.'
|
14
10
|
|
11
|
+
# License
|
12
|
+
gem.license = 'MIT'
|
13
|
+
|
14
|
+
# Authorship
|
15
|
+
gem.authors = ['Andrew Kvalheim']
|
16
|
+
gem.email = ['Andrew@Kvalhe.im']
|
17
|
+
|
18
|
+
# Content
|
15
19
|
gem.files = `git ls-files -z`.split("\0")
|
16
20
|
gem.test_files = gem.files.grep(%r{^(features|fixtures)/})
|
17
21
|
gem.require_paths = ['lib']
|
18
22
|
|
19
|
-
|
23
|
+
# Dependencies
|
24
|
+
gem.platform = Gem::Platform::RUBY
|
25
|
+
gem.required_ruby_version = '~> 2.2'
|
26
|
+
gem.add_runtime_dependency 'middleman-core', '~> 4.0'
|
27
|
+
|
28
|
+
# Development dependencies
|
29
|
+
gem.add_development_dependency 'rake'
|
30
|
+
gem.add_development_dependency 'rdoc'
|
31
|
+
gem.add_development_dependency 'travis'
|
32
|
+
gem.add_development_dependency 'websocket-native'
|
33
|
+
gem.add_development_dependency 'yard'
|
20
34
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-vcs-time
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrew Kvalheim
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-05-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: middleman-core
|
@@ -16,14 +16,84 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '4.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rdoc
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: travis
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: websocket-native
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: yard
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
27
97
|
description:
|
28
98
|
email:
|
29
99
|
- Andrew@Kvalhe.im
|
@@ -33,6 +103,7 @@ extra_rdoc_files: []
|
|
33
103
|
files:
|
34
104
|
- ".gitignore"
|
35
105
|
- ".travis.yml"
|
106
|
+
- Appraisals
|
36
107
|
- Gemfile
|
37
108
|
- LICENSE.md
|
38
109
|
- README.md
|
@@ -64,8 +135,11 @@ files:
|
|
64
135
|
- fixtures/git-app/source/show-mtime_untracked.html.erb
|
65
136
|
- fixtures/git-app/source/show-mtime_working.html.erb
|
66
137
|
- fixtures/no-vcs-app/config.rb
|
67
|
-
- fixtures/no-vcs-app/lib/
|
138
|
+
- fixtures/no-vcs-app/lib/generated_resources.rb
|
68
139
|
- fixtures/no-vcs-app/source/show-mtime.html.erb
|
140
|
+
- gemfiles/middleman_4.0.gemfile
|
141
|
+
- gemfiles/middleman_4.1.gemfile
|
142
|
+
- gemfiles/middleman_unreleased.gemfile
|
69
143
|
- lib/middleman-vcs-time.rb
|
70
144
|
- lib/middleman-vcs-time/extension.rb
|
71
145
|
- lib/middleman-vcs-time/systems/fallback.rb
|
@@ -84,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
84
158
|
requirements:
|
85
159
|
- - "~>"
|
86
160
|
- !ruby/object:Gem::Version
|
87
|
-
version: '2.
|
161
|
+
version: '2.2'
|
88
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
89
163
|
requirements:
|
90
164
|
- - ">="
|
@@ -92,7 +166,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
92
166
|
version: '0'
|
93
167
|
requirements: []
|
94
168
|
rubyforge_project:
|
95
|
-
rubygems_version: 2.
|
169
|
+
rubygems_version: 2.6.4
|
96
170
|
signing_key:
|
97
171
|
specification_version: 4
|
98
172
|
summary: Use version control to determine last-modified times of Middleman resources.
|
@@ -124,6 +198,6 @@ test_files:
|
|
124
198
|
- fixtures/git-app/source/show-mtime_untracked.html.erb
|
125
199
|
- fixtures/git-app/source/show-mtime_working.html.erb
|
126
200
|
- fixtures/no-vcs-app/config.rb
|
127
|
-
- fixtures/no-vcs-app/lib/
|
201
|
+
- fixtures/no-vcs-app/lib/generated_resources.rb
|
128
202
|
- fixtures/no-vcs-app/source/show-mtime.html.erb
|
129
203
|
has_rdoc:
|
@@ -1,33 +0,0 @@
|
|
1
|
-
module Middleman
|
2
|
-
module GeneratedResources
|
3
|
-
class GeneratedResource < Middleman::Sitemap::Resource
|
4
|
-
def binary?
|
5
|
-
false
|
6
|
-
end
|
7
|
-
|
8
|
-
def render
|
9
|
-
raise NotImplementedError
|
10
|
-
end
|
11
|
-
|
12
|
-
def source_file
|
13
|
-
''
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
|
-
class Extension < Middleman::Extension
|
18
|
-
def manipulate_resource_list(resources)
|
19
|
-
resource = GeneratedResource.new(app.sitemap, 'show-mtime_generated.html')
|
20
|
-
|
21
|
-
class << resource
|
22
|
-
def render
|
23
|
-
"This page was last modified at #{mtime.strftime('%s')}."
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
resources << resource
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
Middleman::GeneratedResources::Extension.register :generated_resources
|