dsm-portfolio-plugin 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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dsm-portfolio-plugin.rb +43 -54
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 00431e89dfb0e6c1fe1b8baf4f24ae60af356798
4
- data.tar.gz: 9779fca24f3784f8cd7d7c74bc4cef13247ed938
3
+ metadata.gz: e94ebe84ffdf613bb5e753091ed217d408eb02f8
4
+ data.tar.gz: ab8fa778248ae5b3f190b051431ef844e1fc37f3
5
5
  SHA512:
6
- metadata.gz: c082bbddafb07aaf5db413b060c7107b0e0eea00ec7dca807eff17ac4314b4cb719d473d7056b4bff3980f8464ca52d4e0de303d7fb5a26c19ad1c33b0ba2076
7
- data.tar.gz: b6162c6eaeabd4b8a3bfc7c0562af9a4d78c13c9e319f896833934d19195e713bba0b267532c5f0d5ed2fc0eda6bb40f8365ee5fa4216b29b35108d9d1fde824
6
+ metadata.gz: cdcc6ac90783706f9d3b7e62eab8eb3b0086a9e88287d65480b973cbf2e39093a9a93347670700c46138d82799e406244259dfd59a28c7571a1cb43f76cb1d2b
7
+ data.tar.gz: 68a61a6f882559f2a8dfcf3736f4652a505df1fbca63f773e9594ceb3a896227a2f54900c7035bf71a76a651966092fe2ee2e2ea6ae3f6e7c9b833a9df038b05
@@ -2,69 +2,58 @@
2
2
  module Jekyll
3
3
  # Define custom commands.
4
4
  module Commands
5
- class NewProject < Command
5
+ class Post < Command
6
6
  def self.init_with_program(prog)
7
- prog.command(:project) do |c|
8
- c.syntax 'project NAME'
9
- c.description 'Creates a new project with the given NAME'
10
-
11
- c.option 'date', '-d DATE', '--date DATE', 'Specify the post date'
12
- c.option 'force', '-f', '--force', 'Overwrite a post if it already exists'
13
-
14
- c.action do |args, options|
15
- Jekyll::Commands::Project.process(args, options)
16
- end
7
+ prog.command(:post) do |c|
8
+ c.syntax 'post NAME'
9
+ c.description 'Creates a new post with the given NAME'
10
+
11
+ c.option 'type', '-t TYPE', '--type TYPE', 'Specify the content type'
12
+ c.option 'layout', '-t LAYOUT', '--layout LAYOUT', 'Specify the post layout'
13
+ c.option 'date', '-d DATE', '--date DATE', 'Specify the post date'
14
+ c.option 'force', '-f', '--force', 'Overwrite a post if it already exists'
15
+
16
+ c.action do |args, options|
17
+ Jekyll::Commands::Post.process(args, options)
17
18
  end
19
+ end
18
20
  end
19
-
21
+
20
22
  def self.process(args, options = {})
21
- raise ArgumentError.new('You must specify a name.') if args.empty?
22
-
23
- # layout = options["layout"].nil? ? "post" : options["layout"]
24
-
25
- # Create options for each post type.
26
- ext = "md"
27
- date = options["date"].nil? ? Time.now : DateTime.parse(options["date"])
28
-
29
- title = args.shift
30
- name = title.gsub(' ', '-').downcase
31
-
32
- # TODO: Replace this with smart filling from data file and template file.
33
- post_types = []
34
-
35
- post_types.push('vignette')
36
- post_types.push('summary')
37
-
38
- # raise ArgumentError.new("A post already exists at ./#{post_path}") if File.exist?(post_path) and !options["force"]
39
-
40
- # For every post-type in subfolder...
41
- post_types.each do |file_type|
42
- # Format file path.
43
- post_path = file_name(name, post_type, ext, date)
44
-
45
- # Create file.
46
- File.open(post_path, "w") do |f|
47
- # Fill it with appropriate front-matter.
48
- f.puts(front_matter(post_type, title))
49
- end
50
- end
51
-
52
- puts "New posts created at ./_posts/#{date.strftime('%Y-%m-%d')}-#{name}.\n"
23
+ raise ArgumentError.new('You must specify a name.') if args.empty?
24
+
25
+ type = options["type"].nil? ? "markdown" : options["type"]
26
+ layout = options["layout"].nil? ? "post" : options["layout"]
27
+
28
+ date = options["date"].nil? ? Time.now : DateTime.parse(options["date"])
29
+
30
+ title = args.shift
31
+ name = title.gsub(' ', '-').downcase
32
+
33
+ post_path = file_name(name, type, date)
34
+
35
+ raise ArgumentError.new("A post already exists at ./#{post_path}") if File.exist?(post_path) and !options["force"]
36
+
37
+ File.open(post_path, "w") do |f|
38
+ f.puts(front_matter(layout, title))
39
+ end
40
+
41
+ puts "New post created at ./#{post_path}.\n"
53
42
  end
54
-
43
+ # Internal: Gets the filename of the draft to be created
44
+ #
55
45
  # Returns the filename of the draft, as a String
56
- def self.file_name(name, post_type, ext, date)
57
- "_posts/#{date.strftime('%Y-%m-%d')}-#{name}/#{post_type}.#{ext}"
46
+ def self.file_name(name, ext, date)
47
+ "_posts/#{date.strftime('%Y-%m-%d')}-#{name}.#{ext}"
58
48
  end
59
-
60
- # TODO: Replace this with smart filling from data file and template file.
49
+
61
50
  def self.front_matter(layout, title)
62
- "---
63
- layout: #{layout}
64
- title: #{title}
65
- ---"
51
+ "---
52
+ layout: #{layout}
53
+ title: #{title}
54
+ ---"
66
55
  end
67
- end
56
+ end
68
57
  end
69
58
 
70
59
  class ProjectGenerator < Generator
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dsm-portfolio-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Josh Hills