jekyll-publish 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/jekyll-publish.rb +35 -22
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d11770d3fd4c0dabbcca06a46302f7ef49ff588c
4
- data.tar.gz: ec2c57be1228f1276fd8b1d6c29985447ea51956
3
+ metadata.gz: 84853e6b379d82877ad54d958105da9e51fe30e2
4
+ data.tar.gz: 17f167187eaa0764977eae1ed239beeb2c4e5ea9
5
5
  SHA512:
6
- metadata.gz: deec7400657525fb43aada741874120fa5a45b30404602b1771a1bff7c8a5a1edcf83cabf1597896041df3c45b02de9bd329b890c96320800c7d58062ed173dd
7
- data.tar.gz: ffed4d4b4c1c835a6f1f30220c2a6a62066dea8f0ed2f487f9d569caf2f697b443117630df5131d2e7456944db36db92ead6cb66d32dcbfcea13e1e6a9bc597a
6
+ metadata.gz: 4fd3fd2d8e152783f7f70fe10bf57548fe62f401a132b76b2baa29575dd763b26865638b1d9a9fb674f1b4db964eb18d59f7f3bf51a00c48e544a18ad12078b1
7
+ data.tar.gz: 6bb23720960f1b4432f290bd599de4498e68ae444ab48809f076d38dfff2fbcf4b9c309d46cc14e724b960e740cb84eb4756897f147dd3e18c6b3bb91beaf889
@@ -1,36 +1,49 @@
1
1
  require 'aws-sdk'
2
2
  class Publish < Jekyll::Command
3
3
  class << self
4
-
5
- def set_aws_region(options)
6
- if options['region'].to_s != ''
7
- return options['region']
8
- elsif Jekyll.configuration({})['aws_region'].to_s != ''
9
- return Jekyll.configuration({})['aws_region']
4
+ def get_aws_region()
5
+ if @config['aws_region'].to_s != ''
6
+ region = @config['aws_region']
7
+ Jekyll.logger.info "AWS Region:", region
8
+ return region
10
9
  else
11
10
  raise "No region defined - use -r AWS_REGION or set aws_region: AWS_REGION in _config.yml"
12
11
  end
13
12
  end
14
13
 
15
- def set_bucket_name(options)
16
- if options['bucket_name'].to_s != ''
17
- bucket_name = options['bucket_name']
18
- elsif Jekyll.configuration({})['bucket_name'].to_s != ''
19
- bucket_name = Jekyll.configuration({})['bucket_name']
14
+ def get_bucket_name()
15
+ if @config['bucket_name'].to_s != ''
16
+ bucket_name = @config['bucket_name']
17
+ Jekyll.logger.info "AWS Bucket Name:", bucket_name
18
+ return bucket_name
20
19
  else
21
20
  raise "No bucket_name defined - use -b BUCKET_NAME or set bucket_name: BUCKET_NAME in _config.yml"
22
21
  end
23
22
  end
24
23
 
25
- def upload_to_s3(region, bucket_name)
24
+ def get_files()
26
25
  Dir.chdir("./_site")
26
+ if @config['include_file_extensions'].to_s != ''
27
+ extensions = "html,css,js,xml,#{@config['include_file_extensions']}"
28
+ else
29
+ extensions = "html,css,js,xml"
30
+ end
31
+ Jekyll.logger.info "File Extensions:", extensions
32
+ file_regex = "./**/*.{#{extensions}}"
33
+ return Dir[file_regex]
34
+ end
35
+
36
+ def upload_to_s3(region, bucket_name, files)
27
37
  s3 = Aws::S3::Resource.new(region: region)
28
- Dir['./**/*.{html,css,js,xml}'].each do |file|
38
+ Jekyll.logger.info "Uploading:"
39
+ files.each do |file|
29
40
  key = file[2..-1]
30
- puts "Uploading -> #{key}"
31
41
  obj = s3.bucket(bucket_name).object(key)
32
42
  obj.upload_file(File.absolute_path(file))
43
+ Jekyll.logger.info "", key
33
44
  end
45
+ Jekyll.logger.info "Done!"
46
+ Jekyll.logger.info "Published to:", s3.bucket(bucket_name).url
34
47
  end
35
48
 
36
49
  def init_with_program(prog)
@@ -38,16 +51,16 @@ class Publish < Jekyll::Command
38
51
  c.syntax "publish [options]"
39
52
  c.description 'Publish Jekyll site to AWS S3.'
40
53
 
41
- c.option 'region', '-r AWS_REGION', 'Region with the S3 Bucket.'
42
- c.option 'bucket_name', '-b BUCKET_NAME', 'Region with the S3 Bucket.'
54
+ c.option 'aws_region', '-r AWS_REGION', 'Region with the S3 Bucket.'
55
+ c.option 'bucket_name', '-b BUCKET_NAME', 'Name of the S3 Bucket'
56
+ c.option 'include_file_extensions', '-e FILE_EXTENSION', 'Additionally uploads files with specified extension'
43
57
 
44
58
  c.action do |args, options|
45
- region = set_aws_region options
46
- bucket_name = set_bucket_name options
47
- puts "AWS Region: #{region}"
48
- puts "AWS Bucket Name: #{bucket_name}"
49
- upload_to_s3 region, bucket_name
50
- puts "Done!"
59
+ @config = configuration_from_options options
60
+ region = get_aws_region
61
+ bucket_name = get_bucket_name
62
+ files = get_files
63
+ upload_to_s3 region, bucket_name, files
51
64
  end
52
65
  end
53
66
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll-publish
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
  - Sean Rankine
@@ -31,7 +31,7 @@ extensions: []
31
31
  extra_rdoc_files: []
32
32
  files:
33
33
  - lib/jekyll-publish.rb
34
- homepage: http://rubygems.org/gems/jekyll_publish
34
+ homepage: https://github.com/theseanything/jekyll-publish
35
35
  licenses:
36
36
  - MIT
37
37
  metadata: {}