middleman-journal 0.0.1 → 0.0.2
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/Gemfile +1 -1
- data/Rakefile +4 -4
- data/lib/middleman-journal.rb +5 -5
- data/lib/middleman-journal/commands/entry.rb +25 -26
- data/lib/middleman-journal/extension.rb +15 -2
- data/lib/middleman-journal/helpers.rb +9 -0
- data/lib/middleman-journal/journal_data.rb +26 -0
- data/lib/middleman-journal/journal_entry.rb +17 -0
- data/lib/middleman-journal/version.rb +3 -5
- data/middleman-journal.gemspec +13 -17
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce32e8f12dfa9f920707fde800c305f3f4798c0702513bca845b33aac4d17e9e
|
4
|
+
data.tar.gz: a6672c771679b7b595ea18eccb410bd04740114ed1872a8599b6ef767f29d92b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6f735442b9e6d3da74cab59145c2f760d4e5c879440bb6e6ec6e94b3515bff900f2223ed3716c9c0f9bb999d602628498fba6778ce83b81dcaa037df49ccb810
|
7
|
+
data.tar.gz: a749ac2a7f815b987efbacff0ad4d082cb3024762acd55aa1704560de87ae3172a154980cd12ec539e95d68e3a7bfc333c094ebf1a15ffa98239a34b7ca1da7e
|
data/Gemfile
CHANGED
data/Rakefile
CHANGED
@@ -11,15 +11,15 @@ end
|
|
11
11
|
|
12
12
|
require 'rake/clean'
|
13
13
|
|
14
|
-
task test: [
|
14
|
+
task test: [:spec]
|
15
15
|
|
16
16
|
require 'rspec/core/rake_task'
|
17
17
|
|
18
|
-
desc
|
18
|
+
desc 'Run RSpec'
|
19
19
|
|
20
|
-
RSpec::Core::RakeTask.new do |
|
20
|
+
RSpec::Core::RakeTask.new do |spec|
|
21
21
|
spec.pattern = 'spec/**/*_spec.rb'
|
22
|
-
spec.rspec_opts = [
|
22
|
+
spec.rspec_opts = ['--color', '--format documentation']
|
23
23
|
end
|
24
24
|
|
25
25
|
task default: :test
|
data/lib/middleman-journal.rb
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
require
|
2
|
-
require
|
3
|
-
require "middleman-journal/extension"
|
4
|
-
require "middleman-journal/commands/entry"
|
1
|
+
require 'middleman-core'
|
2
|
+
require 'middleman-journal/version'
|
5
3
|
|
6
4
|
Middleman::Extensions.register :journal do
|
5
|
+
require 'middleman-journal/extension'
|
6
|
+
require 'middleman-journal/commands/entry'
|
7
7
|
|
8
|
-
|
8
|
+
JournalExtension
|
9
9
|
end
|
@@ -2,18 +2,16 @@ require 'middleman-core/cli'
|
|
2
2
|
require 'date'
|
3
3
|
|
4
4
|
module Middleman
|
5
|
-
|
6
5
|
module Cli
|
7
|
-
|
8
6
|
##
|
9
7
|
# This class provides an "entry" command for the middleman CLI.
|
10
8
|
#
|
11
9
|
# @usage bundle exec middleman entry --help
|
12
10
|
# @usage bundle exec middleman entry
|
11
|
+
# @usage bundle exec middleman entry [BULLET]
|
13
12
|
#
|
14
13
|
##
|
15
14
|
class Entry < ::Thor::Group
|
16
|
-
|
17
15
|
include Thor::Actions
|
18
16
|
|
19
17
|
check_unknown_options!
|
@@ -21,41 +19,42 @@ module Middleman
|
|
21
19
|
# Template files are relative to this file
|
22
20
|
# @return [String]
|
23
21
|
def self.source_root
|
24
|
-
File.dirname(
|
22
|
+
File.dirname(__FILE__)
|
25
23
|
end
|
26
24
|
|
27
25
|
def entry
|
26
|
+
@date = Time.now
|
27
|
+
@title = @date.strftime('%F')
|
28
|
+
@slug = @date.strftime('%F')
|
28
29
|
|
29
|
-
|
30
|
-
|
31
|
-
@slug = @date.strftime('%F')
|
30
|
+
template template_path, destination_path
|
31
|
+
end
|
32
32
|
|
33
|
-
|
34
|
-
config[ :mode ] = :config
|
35
|
-
config[ :disable_sitemap ] = true
|
36
|
-
config[ :watcher_disable ] = true
|
37
|
-
config[ :exit_before_ready ] = true
|
38
|
-
end
|
33
|
+
private
|
39
34
|
|
40
|
-
|
35
|
+
def template_path
|
36
|
+
File.expand_path('entry.tt', File.dirname(__FILE__))
|
37
|
+
end
|
41
38
|
|
42
|
-
|
43
|
-
|
39
|
+
def destination_path
|
40
|
+
app = ::Middleman::Application.new do
|
41
|
+
config[:mode] = :config
|
42
|
+
config[:disable_sitemap] = true
|
43
|
+
config[:watcher_disable] = true
|
44
|
+
config[:exit_before_ready] = true
|
44
45
|
end
|
45
46
|
|
46
|
-
|
47
|
+
path = File.join(app.source_dir, 'journal', "#{@title}.html.markdown")
|
47
48
|
|
48
|
-
|
49
|
+
if File.exist?(path)
|
50
|
+
throw "An entry for #{@title} already exists: #{path}"
|
51
|
+
end
|
49
52
|
|
53
|
+
path
|
50
54
|
end
|
51
55
|
|
52
|
-
protected
|
53
|
-
|
54
56
|
# Add to CLI
|
55
|
-
Base.register(
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
end
|
60
|
-
|
57
|
+
Base.register(self, 'entry', 'entry', 'Add a new entry to the journal')
|
58
|
+
end
|
59
|
+
end
|
61
60
|
end
|
@@ -1,9 +1,22 @@
|
|
1
1
|
require 'date'
|
2
|
+
require 'middleman-journal/journal_data'
|
3
|
+
require 'middleman-journal/journal_entry'
|
4
|
+
require 'middleman-journal/helpers'
|
2
5
|
|
3
6
|
class JournalExtension < Middleman::Extension
|
4
|
-
|
7
|
+
option :date, nil, 'Unique ID for journal entry'
|
5
8
|
|
6
|
-
|
9
|
+
# @return [JournalData] journal data for this journal, which has all
|
10
|
+
# information about the journal entries
|
11
|
+
attr_reader :data
|
12
|
+
|
13
|
+
def initialize(app, options_hash = {}, &block)
|
7
14
|
super
|
8
15
|
end
|
16
|
+
|
17
|
+
def after_configuration
|
18
|
+
options = {}
|
19
|
+
@data = Middleman::Journal::JournalData.new(@app, self, options)
|
20
|
+
@app.sitemap.register_resource_list_manipulator(:journal_entries, @data)
|
21
|
+
end
|
9
22
|
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Middleman
|
2
|
+
module Journal
|
3
|
+
class JournalData
|
4
|
+
def initialize(app, controller, options)
|
5
|
+
@app = app
|
6
|
+
@options = options
|
7
|
+
@controller = controller
|
8
|
+
|
9
|
+
@_entries = []
|
10
|
+
end
|
11
|
+
|
12
|
+
def entries
|
13
|
+
@_entries
|
14
|
+
end
|
15
|
+
|
16
|
+
def manipulate_resource_list(resources)
|
17
|
+
resources.each do |resource|
|
18
|
+
if resource.path =~ %r/journal\/\d{4}-\d{2}-\d{2}\.html/
|
19
|
+
resource.extend JournalEntry
|
20
|
+
@_entries << resource
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/middleman-journal.gemspec
CHANGED
@@ -1,27 +1,23 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
require "middleman-journal/version"
|
1
|
+
$LOAD_PATH.push File.expand_path('../lib', __FILE__)
|
2
|
+
require 'middleman-journal/version'
|
4
3
|
|
5
4
|
Gem::Specification.new do |s|
|
6
|
-
s.name =
|
5
|
+
s.name = 'middleman-journal'
|
7
6
|
s.version = Middleman::Journal::VERSION
|
8
7
|
s.platform = Gem::Platform::RUBY
|
9
8
|
s.authors = ['Mauro Morales']
|
10
|
-
|
11
|
-
s.homepage =
|
12
|
-
s.summary =
|
13
|
-
s.description =
|
14
|
-
s.license =
|
9
|
+
s.email = ['mauro@mrls.xyz']
|
10
|
+
s.homepage = 'http://github.com/mrls/middleman-journal'
|
11
|
+
s.summary = 'Middleman Journal Engine Extension'
|
12
|
+
s.description = 'Middleman Journal Engine Extension'
|
13
|
+
s.license = 'MIT'
|
15
14
|
|
16
15
|
s.files = `git ls-files`.split("\n")
|
17
16
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
18
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
|
-
s.require_paths = [
|
20
|
-
s.required_ruby_version = '>= 2.
|
21
|
-
|
17
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
|
18
|
+
s.require_paths = ['lib']
|
19
|
+
s.required_ruby_version = '>= 2.1.0'
|
20
|
+
|
22
21
|
# The version of middleman-core your extension depends on
|
23
|
-
s.add_runtime_dependency(
|
24
|
-
|
25
|
-
# Additional dependencies
|
26
|
-
# s.add_runtime_dependency("gem-name", "gem-version")
|
22
|
+
s.add_runtime_dependency('middleman-core', ['>= 4.2.1'])
|
27
23
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-journal
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mauro Morales
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-02-
|
11
|
+
date: 2018-02-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: middleman-core
|
@@ -41,6 +41,9 @@ files:
|
|
41
41
|
- lib/middleman-journal/commands/entry.rb
|
42
42
|
- lib/middleman-journal/commands/entry.tt
|
43
43
|
- lib/middleman-journal/extension.rb
|
44
|
+
- lib/middleman-journal/helpers.rb
|
45
|
+
- lib/middleman-journal/journal_data.rb
|
46
|
+
- lib/middleman-journal/journal_entry.rb
|
44
47
|
- lib/middleman-journal/version.rb
|
45
48
|
- middleman-journal.gemspec
|
46
49
|
homepage: http://github.com/mrls/middleman-journal
|
@@ -55,7 +58,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
55
58
|
requirements:
|
56
59
|
- - ">="
|
57
60
|
- !ruby/object:Gem::Version
|
58
|
-
version: 2.
|
61
|
+
version: 2.1.0
|
59
62
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
60
63
|
requirements:
|
61
64
|
- - ">="
|