sitemap_gen 0.1.1 → 0.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b88afbfdf3158e100ed2c0de599f1859711e9c36
4
- data.tar.gz: 5e7212f1711ce1d0b3b3594bc2077f363c36f0ff
3
+ metadata.gz: b8cdcdb67f361a65fc5e59cd7adff5d5d07b1507
4
+ data.tar.gz: 025423411014ac08aaa105615394a9d6cbc090fc
5
5
  SHA512:
6
- metadata.gz: e8593ad5d5ef3f2101bcd67594749ce3976337c339e04efccb5aab2f94bd9ea2fd3bfe3383fc08e1a447933f1593776ed3dab7421c058d4d16e33caa0a2f0972
7
- data.tar.gz: db00bc74b8acf7c6709c1eb253d91cf1734e1b374c719fe1b02befad83543249ca87c91ed4b9747f7d10a13ea4f3a101913fee1b199d42f1211b44790d3eb6ce
6
+ metadata.gz: e04e2e4ae4a36f3e8ed0a64cb706ff3bb1303224cee0bb375d77fab8ed68e638d34cf15cdfef2867a4839d1fee7a79f43354d97d7e0f3f7ac6f33191db4ce697
7
+ data.tar.gz: 4d252c9a5965a7587b1abb32666a55ede6d33e3ac31cdfcc593e4a9c088ef5e74f707980d9118de52fec63972da7ef2f89a00d524c6d8f8f06696cdc7d6da48b
@@ -1,3 +1,3 @@
1
1
  module SitemapGen
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
data/lib/sitemap_gen.rb CHANGED
@@ -10,12 +10,14 @@ module SitemapGen
10
10
  end
11
11
 
12
12
  def generate_csv(data, save_path)
13
- header = data.inject([]) { |max, row| max.size < row.keys.size ? row.keys : max }
13
+ level_header = data.each_with_object([]) { |item, o| o << item[:levels] }
14
+ .inject([]) { |max, row| max.size < row.keys.size ? row.keys : max }
14
15
  save_path ||= Dir.pwd
15
16
  CSV.open("#{save_path}/sitemap.csv", 'wb') do |csv|
16
- csv << header
17
+ csv << ['id'].concat(level_header).push('url')
17
18
  data.each_with_index do |row, i|
18
- csv << [i + 1].concat(row.values)
19
+ gap = level_header.length - row[:levels].values.length
20
+ csv << [i + 1].concat(row[:levels].values).concat(Array.new(gap) { '' }).push(row[:url])
19
21
  end
20
22
  end
21
23
  end
@@ -34,10 +36,8 @@ module SitemapGen
34
36
  server_pathname = file_path.sub(dir_path, '')
35
37
  base_path = File.dirname(server_pathname)
36
38
  last_slash = base_path == '/' ? '' : '/'
37
- data.push({
38
- #page_title: page_title(file_path),
39
- url: base_url + base_path + last_slash
40
- }.merge(dir_levels(server_pathname)))
39
+ data.push({ url: base_url + base_path + last_slash}
40
+ .merge({ levels: dir_levels(dir_path, server_pathname) }))
41
41
  end
42
42
  data
43
43
  end
@@ -47,13 +47,16 @@ module SitemapGen
47
47
  html_doc.css('head title').first.content
48
48
  end
49
49
 
50
- def dir_levels(server_pathname)
50
+ def dir_levels(dir_path, server_pathname)
51
51
  levels = {}
52
52
  dirs = server_pathname.split('/')
53
53
 
54
54
  # Drop first and last element of dirs array, because they are a empty string and a filename
55
55
  dirs[1..-2].each_with_index do |dir, i|
56
- levels.merge!({"level_#{i + 1}": dir})
56
+ current_dir_index = dirs.index(dir)
57
+ current_path = dirs[0..current_dir_index].join('/')
58
+ html_file = Dir.glob("#{dir_path}#{current_path}/index.html").first
59
+ levels.merge!({"level_#{i + 1}": page_title(html_file)})
57
60
  end
58
61
  levels
59
62
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sitemap_gen
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Minh Phan