wax_tasks 0.0.3 → 0.0.40

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5ac9e0a96963154d6625c7f0c4fc71251c86c017
4
- data.tar.gz: 4e87c17755a3da5eb541176aaec2812c305c736f
3
+ metadata.gz: 8e575498bcfd76bd5bd11705d9d6cac510a422eb
4
+ data.tar.gz: 725bae639d3bbb4ed57bdb0d79e9fb8147c85324
5
5
  SHA512:
6
- metadata.gz: 3c885e92b4245d48e44e7af8b7206bee18461b2b4add0d50b23537e562e135755fa1d227d9febb5003cfc942303270867dd455f0ac8508af7619d2717b9dd3ca
7
- data.tar.gz: bca597f6cd84e70ae59a2052c258f10781689753b98ffbad8aaf2828b8906e490f02d58bbc6707aa42390c43c734f9a1c2fc3dc2c2ad61589981ffff28e27a33
6
+ metadata.gz: 4c120c938aaf9778d1061749c2f9f38e0899ba4b56dd20ae97c08a34b3a15a77766f481b91efa43b6612295210368260613f9b79be2d863a7d90f35bc9accb16
7
+ data.tar.gz: 3f71b6b7e531c01f2d8d22aa2ef03d0c053f96a8e5dd9938e352226c0325e75a8c5e2b7fbf58cdf7d4ec3c76d588cd0ac5ad122d90de4e1d766f938d2adbcd35
@@ -1,5 +1,4 @@
1
- require 'yaml'
2
- require 'colorized_string'
1
+ require 'wax_tasks'
3
2
 
4
3
  namespace :wax do
5
4
  desc 'get _config.yaml and parse cmd line args'
@@ -1,7 +1,4 @@
1
- require 'jekyll'
2
- require 'tmpdir'
3
- require 'fileutils'
4
- require 'time'
1
+ require 'wax_tasks'
5
2
 
6
3
  namespace :wax do
7
4
  desc 'build site with gh-baseurl and publish to gh-pages branch'
data/lib/tasks/iiif.rake CHANGED
@@ -1,24 +1,26 @@
1
- require 'colorized_string'
1
+ require 'wax_tasks'
2
2
  require 'iiif_s3'
3
3
 
4
4
  namespace :wax do
5
5
  task :iiif => :config do
6
6
  abort "You must specify a collections after 'bundle exec rake wax:iiif'.".magenta if $argv.empty?
7
- FileUtils.mkdir_p './_iiif/tiles'
7
+ outputdir = './iiif'
8
+ FileUtils.mkdir outputdir
8
9
  all_records = []
9
10
  id_counter = 0
10
11
  build_opts = {
11
- :base_url => $config['baseurl'] + '/tiles',
12
- :output_dir => './_iiif/tiles',
12
+ :base_url => $config['baseurl'] + '/iiif',
13
+ :output_dir => outputdir,
13
14
  :tile_scale_factors => [1, 2],
14
15
  :verbose => true
15
16
  }
16
17
  $argv.each do |a|
17
18
  id_counter += 1
18
- dirpath = './_iiif/source_images/' + a
19
- collection_records = make_records(a) if Dir.exist?(dirpath)
19
+ inpath = './_iiif_source/' + a
20
+ abort "Source path '#{inpath}' does not exist. Exiting.".magenta unless Dir.exist?(inpath)
21
+ paged = $config['collections'][a]['iiif_paged'] == true
22
+ collection_records = make_records(a, inpath, paged)
20
23
  all_records.concat collection_records
21
- abort "Source path '#{dirpath}' does not exist. Exiting.".magenta unless Dir.exist?(dirpath)
22
24
  end
23
25
  builder = IiifS3::Builder.new(build_opts)
24
26
  builder.load(all_records)
@@ -26,15 +28,15 @@ namespace :wax do
26
28
  end
27
29
  end
28
30
 
29
- def make_records(collection_name)
31
+ def make_records(collection_name, inpath, paged)
30
32
  counter = 1
31
33
  collection_records = []
32
- imagefiles = Dir['./_iiif/source_images/' + collection_name + '/*'].sort!
34
+ imagefiles = Dir[inpath + '/*'].sort!
33
35
  imagefiles.each do |imagefile|
34
36
  basename = File.basename(imagefile, '.*').to_s
35
37
  record_opts = {
36
38
  :id => collection_name + '-' + basename,
37
- :is_document => false,
39
+ :is_document => paged,
38
40
  :path => imagefile,
39
41
  :label => $config['title'] + ' - ' + collection_name + ' - ' + basename
40
42
  }
data/lib/tasks/lunr.rake CHANGED
@@ -1,11 +1,11 @@
1
- require 'lunr_index'
1
+ require 'wax_tasks'
2
2
 
3
3
  namespace :wax do
4
4
  desc 'build lunr search index'
5
5
  task :lunr => :config do
6
6
  collections = $config['collections']
7
7
  lunr_language = $config['lunr_language']
8
- index = LunrIndex.new(collections, lunr_language)
8
+ index = Index.new(collections, lunr_language)
9
9
 
10
10
  Dir.mkdir('js') unless File.exist?('js')
11
11
  File.open('js/lunr-index.js', 'w') { |file| file.write(index.output) }
@@ -1,6 +1,4 @@
1
- require 'colorized_string'
2
- require 'wax_collection'
3
- require 'helpers'
1
+ require 'wax_tasks'
4
2
 
5
3
  namespace :wax do
6
4
  desc 'generate collection md pages from yaml or csv data source'
@@ -11,8 +9,8 @@ namespace :wax do
11
9
  else
12
10
  $argv.each do |collection_name|
13
11
  collection_config = valid_pagemaster(collection_name)
14
- collections_dir = $config['collections_dir'].nil? ? '' : $config['collections_dir'].to_s + '/'
15
- collection = WaxCollection.new(collection_name, collection_config, collections_dir)
12
+ collections_dir = $config['collections_dir'].nil? ? '' : $config.fetch('collections_dir').to_s + '/'
13
+ collection = Collection.new(collection_name, collection_config, collections_dir)
16
14
  collection.pagemaster
17
15
  end
18
16
  end
@@ -1,30 +1,12 @@
1
- require 'jekyll'
2
- require 'tmpdir'
3
- require 'fileutils'
4
- require 'time'
1
+ require 'wax_tasks'
5
2
 
6
3
  namespace :wax do
7
4
  desc 'build site with baseurl and publish to s3 branch'
8
- task :s3branch => :config do
9
- FileUtils.rm_rf('_site')
10
-
11
- opts = {
12
- 'source' => '.',
13
- 'destination' => '_site',
14
- 'config' => '_config.yml',
15
- 'incremental' => true,
16
- 'verbose' => true,
17
- 'baseurl' => $config['baseurl']
18
- }
19
-
20
- Jekyll::Site.new(Jekyll.configuration(opts)).process
21
-
5
+ task :s3branch do
22
6
  origin = `git config --get remote.origin.url`
23
-
24
7
  Dir.mktmpdir do |tmp|
25
8
  cp_r '_site/.', tmp
26
9
  Dir.chdir tmp
27
-
28
10
  system 'git init' # Init the repo.
29
11
  system "git add . && git commit -m 'Site updated at #{Time.now.utc}'"
30
12
  system 'git remote add origin ' + origin
data/lib/tasks/test.rake CHANGED
@@ -1,5 +1,5 @@
1
+ require 'wax_tasks'
1
2
  require 'html-proofer'
2
- require 'colorized_string'
3
3
 
4
4
  namespace :wax do
5
5
  desc 'run htmlproofer, rspec if exists'
@@ -1,22 +1,15 @@
1
- require 'yaml'
2
- require 'csv'
3
- require 'json'
4
- require 'fileutils'
5
- require 'colorized_string'
6
- require 'helpers'
7
-
8
1
  include FileUtils
9
2
 
10
- # WaxCollection class
11
- class WaxCollection
3
+ # initializes a wax collection for use with pagemaster,lunr,and iiif tasks
4
+ class Collection
12
5
  attr_reader :name, :config, :src, :layout, :dir, :data
13
6
 
14
7
  def initialize(collection_name, collection_config, collections_dir)
15
8
  @name = collection_name
16
9
  @config = collection_config
17
10
  @cdir = collections_dir
18
- @src = '_data/' + @config['source']
19
- @layout = File.basename(@config['layout'], '.*')
11
+ @src = '_data/' + @config.fetch('source')
12
+ @layout = File.basename(@config.fetch('layout'), '.*')
20
13
  @dir = @cdir + '_' + @name
21
14
  @data = []
22
15
  @lunr = {}
@@ -49,7 +42,7 @@ class WaxCollection
49
42
  completed = 0
50
43
  skipped = 0
51
44
  data.each do |item|
52
- pagename = slug(item['pid'])
45
+ pagename = slug(item.fetch('pid'))
53
46
  pagepath = @dir + '/' + pagename + '.md'
54
47
  permalink = '/' + @name + '/' + pagename + perma_ext
55
48
  if File.exist?(pagepath)
@@ -1,5 +1,3 @@
1
- require 'colorized_string'
2
-
3
1
  def clean(str)
4
2
  str.gsub!(/\A---(.|\n)*?---/, '') # remove yaml front matter
5
3
  str.gsub!(/{%(.*)%}/, '') # remove functional liquid
@@ -11,11 +9,10 @@ def clean(str)
11
9
  end
12
10
 
13
11
  def valid_pagemaster(collection_name)
14
- c = $config['collections'][collection_name]
15
- abort "Cannot find the collection '#{collection_name}' in _config.yml. Exiting.".magenta if c.nil?
16
- abort "Cannot find 'source' for the collection '#{collection_name}' in _config.yml. Exiting.".magenta if c['source'].nil?
17
- abort "Cannot find 'layout' for the collection '#{collection_name}' in _config.yml. Exiting.".magenta if c['layout'].nil?
18
- abort "Cannot find the file '#{'_data/' + c['source']}'. Exiting.".magenta unless File.file?('_data/' + c['source'])
12
+ c = $config.fetch('collections').fetch(collection_name)
13
+ abort "Cannot find 'source' for the collection '#{collection_name}' in _config.yml. Exiting.".magenta if c.fetch('source').nil?
14
+ abort "Cannot find 'layout' for the collection '#{collection_name}' in _config.yml. Exiting.".magenta if c.fetch('layout').nil?
15
+ abort "Cannot find the file '#{'_data/' + c['source']}'. Exiting.".magenta unless File.file?('_data/' + c.fetch('source'))
19
16
  c
20
17
  end
21
18
 
@@ -1,15 +1,13 @@
1
- require 'yaml'
2
- require 'colorized_string'
3
- require 'helpers'
1
+ include FileUtils
4
2
 
5
- # LunrIndex class
6
- class LunrIndex
3
+ # initializes a lunr index to be output to js/lunr-index.js
4
+ class Index
7
5
  attr_reader :output
8
6
 
9
7
  def initialize(collections, lunr_language)
10
8
  @collections = collections
11
9
  @lunr_language = lunr_language
12
- @cdir = $config['collections_dir'].nil? ? '' : $config['collections_dir'] + '/'
10
+ @cdir = $config['collections_dir'].nil? ? '' : $config.fetch('collections_dir') + '/'
13
11
  @lunr_collections = []
14
12
  @total_fields = []
15
13
  @output = ''
@@ -52,9 +50,9 @@ class LunrIndex
52
50
  yaml = YAML.load_file(page)
53
51
  hash = {
54
52
  'lunr_id' => count,
55
- 'link' => "{{'" + yaml['permalink'] + "' | relative_url }}"
53
+ 'link' => "{{'" + yaml.fetch('permalink') + "' | relative_url }}"
56
54
  }
57
- fields.each { |f| hash[f] = rm_diacritics(yaml[f]) }
55
+ fields.each { |f| hash[f] = rm_diacritics(yaml[f].to_s) }
58
56
  hash['content'] = rm_diacritics(clean(File.read(page))) if c[1]['lunr_index']['content']
59
57
  @output += "\nindex.addDoc(" + hash.to_json + "); "
60
58
  store_string += "\n" + hash.to_json + ", "
data/lib/wax_tasks.rb ADDED
@@ -0,0 +1,7 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.require(:default)
4
+
5
+ require 'wax_tasks/helpers'
6
+ require 'wax_tasks/collection'
7
+ require 'wax_tasks/index'
data/spec/spec_helper.rb CHANGED
@@ -1,7 +1,7 @@
1
- require 'fake_helpers'
2
- require 'fake_site'
3
- require 'fake_data'
4
- require 'test_config'
5
- require 'test_pagemaster'
6
- require 'test_lunr'
7
- require 'test_iiif'
1
+ require 'fake/helpers'
2
+ require 'fake/site'
3
+ require 'fake/data'
4
+ require 'test/config'
5
+ require 'test/pagemaster'
6
+ require 'test/lunr'
7
+ require 'test/iiif'
metadata CHANGED
@@ -1,141 +1,141 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wax_tasks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.40
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marii Nyrop
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-02-04 00:00:00.000000000 Z
11
+ date: 2018-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
14
+ name: colorize
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '1.16'
20
- type: :development
19
+ version: '0.8'
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: '1.16'
26
+ version: '0.8'
27
27
  - !ruby/object:Gem::Dependency
28
- name: faker
28
+ name: html-proofer
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '1.8'
34
- type: :development
33
+ version: '3.0'
34
+ type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '1.8'
40
+ version: '3.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
42
+ name: iiif_s3
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '3.5'
48
- type: :development
47
+ version: '0.1'
48
+ type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '3.5'
54
+ version: '0.1'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rubocop
56
+ name: jekyll
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '0.52'
62
- type: :development
61
+ version: '3.7'
62
+ type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '0.52'
68
+ version: '3.7'
69
69
  - !ruby/object:Gem::Dependency
70
- name: colorize
70
+ name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '0.8'
75
+ version: '12.0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '0.8'
82
+ version: '12.0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: html-proofer
84
+ name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.0'
90
- type: :runtime
89
+ version: '1.16'
90
+ type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.0'
96
+ version: '1.16'
97
97
  - !ruby/object:Gem::Dependency
98
- name: iiif_s3
98
+ name: faker
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '0.1'
104
- type: :runtime
103
+ version: '1.8'
104
+ type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '0.1'
110
+ version: '1.8'
111
111
  - !ruby/object:Gem::Dependency
112
- name: jekyll
112
+ name: rspec
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.7'
118
- type: :runtime
117
+ version: '3.5'
118
+ type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.7'
124
+ version: '3.5'
125
125
  - !ruby/object:Gem::Dependency
126
- name: rake
126
+ name: rubocop
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: '12.0'
132
- type: :runtime
131
+ version: '0.52'
132
+ type: :development
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: '12.0'
138
+ version: '0.52'
139
139
  description: Rake tasks for minimal iiif exhibition sites with Jekyll.
140
140
  email:
141
141
  - m.nyrop@columbia.edu
@@ -144,8 +144,6 @@ extensions: []
144
144
  extra_rdoc_files: []
145
145
  files:
146
146
  - Gemfile
147
- - lib/helpers.rb
148
- - lib/lunr_index.rb
149
147
  - lib/tasks/config.rake
150
148
  - lib/tasks/ghbranch.rake
151
149
  - lib/tasks/iiif.rake
@@ -153,15 +151,11 @@ files:
153
151
  - lib/tasks/pagemaster.rake
154
152
  - lib/tasks/s3branch.rake
155
153
  - lib/tasks/test.rake
156
- - lib/wax_collection.rb
157
- - spec/fake_data.rb
158
- - spec/fake_helpers.rb
159
- - spec/fake_site.rb
154
+ - lib/wax_tasks.rb
155
+ - lib/wax_tasks/collection.rb
156
+ - lib/wax_tasks/helpers.rb
157
+ - lib/wax_tasks/index.rb
160
158
  - spec/spec_helper.rb
161
- - spec/test_config.rb
162
- - spec/test_iiif.rb
163
- - spec/test_lunr.rb
164
- - spec/test_pagemaster.rb
165
159
  homepage: https://github.com/mnyrop/wax_tasks
166
160
  licenses:
167
161
  - MIT
@@ -188,10 +182,3 @@ specification_version: 4
188
182
  summary: Rake tasks for minimal exhibitions.
189
183
  test_files:
190
184
  - spec/spec_helper.rb
191
- - spec/test_iiif.rb
192
- - spec/test_config.rb
193
- - spec/test_lunr.rb
194
- - spec/fake_helpers.rb
195
- - spec/fake_data.rb
196
- - spec/fake_site.rb
197
- - spec/test_pagemaster.rb
data/spec/fake_data.rb DELETED
@@ -1,43 +0,0 @@
1
- require 'csv'
2
- require 'faker'
3
- require 'json'
4
- require 'rake'
5
-
6
- # make csvs
7
- I18n.enforce_available_locales = false
8
- Faker::Config.locale = 'zh-CN'
9
- Dir.mkdir('_data') unless File.exist?('_data')
10
-
11
- def fake_data(name, type)
12
- data = []
13
- keys = ['pid']
14
- 5.times { keys << slug(Faker::Lovecraft.unique.word) } # keys = pid + 5
15
- 5.times do # with 5 records
16
- record = {
17
- keys[0] => slug(Faker::Dune.unique.character),
18
- keys[1] => Faker::Lorem.sentence,
19
- keys[2] => Faker::TwinPeaks.quote,
20
- keys[3] => Faker::Name.name,
21
- keys[4] => Faker::Space.star,
22
- keys[5] => Faker::Lovecraft.sentence
23
- }
24
- data << record
25
- $collection_data[name] = { 'keys' => keys, 'type' => type }
26
- end
27
- data
28
- end
29
-
30
- 5.times do |i|
31
- name = slug(Faker::RuPaul.unique.queen)
32
- if i.even?
33
- data = fake_data(name, '.csv')
34
- path = '_data/' + name + '.csv'
35
- write_csv(path, data)
36
- else
37
- data = fake_data(name, '.json')
38
- path = '_data/' + name + '.json'
39
- File.open(path, 'w') { |f| f.write(data.to_json) }
40
- end
41
- Faker::Dune.unique.clear
42
- Faker::Lovecraft.unique.clear
43
- end
data/spec/fake_helpers.rb DELETED
@@ -1,22 +0,0 @@
1
- require 'csv'
2
- require 'colorized_string'
3
-
4
- # global
5
- $collection_data = {}
6
-
7
- # helper methods
8
- def slug(str)
9
- str.downcase.tr(' ', '_').gsub(/[^\w-]/, '')
10
- end
11
-
12
- def write_csv(path, hashes)
13
- CSV.open(path, 'wb:UTF-8') do |csv|
14
- csv << hashes.first.keys
15
- hashes.each do |hash|
16
- csv << hash.values
17
- end
18
- end
19
- puts "Writing csv data to #{path}."
20
- rescue StandardError
21
- abort "Cannot write csv data to #{path} for some reason.".magenta
22
- end
data/spec/fake_site.rb DELETED
@@ -1,27 +0,0 @@
1
- require 'fileutils'
2
- require 'jekyll'
3
- require 'yaml'
4
-
5
- include FileUtils
6
-
7
- site_dir = 'faker_site'
8
- mkdir_p(site_dir)
9
- image_dir = Dir.glob('spec/data/_iiif')
10
- cp_r(image_dir, site_dir)
11
- cd(site_dir)
12
-
13
- config_file = {
14
- 'title' => 'faker',
15
- 'url' => '',
16
- 'baseurl' => '',
17
- 'exclude' => ['Rakefile']
18
- }
19
- config_opts = {
20
- 'source' => '.',
21
- 'destination' => '_site',
22
- 'config' => '_config.yml'
23
- }
24
-
25
- File.open('_config.yml', 'w') { |f| f.puts(config_file.to_yaml) }
26
- File.open('Rakefile', 'w') { |f| f.puts('Dir.glob("../lib/tasks/*.rake").each { |r| load r }') }
27
- Jekyll::Site.new(Jekyll.configuration(config_opts)).process
data/spec/test_config.rb DELETED
@@ -1,28 +0,0 @@
1
- require 'rake'
2
- require 'yaml'
3
-
4
- # run + test wax:config
5
- describe 'wax:config' do
6
- it 'accesses _config.yml and argvs' do
7
- load File.expand_path("../../lib/tasks/config.rake", __FILE__)
8
- Rake::Task['wax:config'].invoke
9
-
10
- $collection_data.each { |col| $argv << col[0] }
11
- expect($config.length)
12
- expect($argv.length)
13
-
14
- # add collection data to config file
15
- collection_hash = {}
16
- $argv.each do |coll_name|
17
- ext = $collection_data[coll_name]['type']
18
- collection_hash[coll_name] = {
19
- 'source' => coll_name + ext,
20
- 'layout' => 'default'
21
- }
22
- end
23
-
24
- $config['collections'] = collection_hash
25
- output = YAML.dump $config
26
- File.write('_config.yml', output)
27
- end
28
- end
data/spec/test_iiif.rb DELETED
@@ -1,20 +0,0 @@
1
- require 'csv'
2
- require 'fileutils'
3
- require 'rake'
4
-
5
- include FileUtils
6
-
7
- describe 'wax:iiif' do
8
- it 'generates iiif tiles and data' do
9
- images = Dir.glob('./_iiif/source_images/*.jpg')
10
- $collection_data.each do |coll|
11
- new_dir = './_iiif/source_images/' + coll[0]
12
- mkdir_p(new_dir)
13
- images.each { |f| cp(File.expand_path(f), new_dir) }
14
- end
15
- rm_r(images)
16
- $argv = [$argv.first] # make tests faster by only running on 1/3 collections
17
- load File.expand_path("../../lib/tasks/iiif.rake", __FILE__)
18
- Rake::Task['wax:iiif'].invoke
19
- end
20
- end
data/spec/test_lunr.rb DELETED
@@ -1,24 +0,0 @@
1
- require 'rake'
2
-
3
- describe 'wax:lunr' do
4
- it 'generates a lunr index' do
5
- $config['collections'].each do |collection|
6
- name = collection[0]
7
- # get info on what to index
8
- lunr_hash = {
9
- 'content' => false,
10
- 'fields' => $collection_data[name]['keys']
11
- }
12
- # add it to config
13
- $config['collections'][name]['lunr_index'] = lunr_hash
14
- output = YAML.dump $config
15
- File.write('_config.yml', output)
16
- end
17
- # invoke lunr task
18
- load File.expand_path("../../lib/tasks/lunr.rake", __FILE__)
19
- Rake::Task['wax:lunr'].invoke
20
- # expect a populated index
21
- index = File.open('js/lunr-index.js', 'r').read
22
- expect(index.length > 1000)
23
- end
24
- end
@@ -1,9 +0,0 @@
1
- require 'rake'
2
- require 'yaml'
3
-
4
- describe 'wax:pagemaster' do
5
- it 'generates pages' do
6
- load File.expand_path("../../lib/tasks/pagemaster.rake", __FILE__)
7
- Rake::Task['wax:pagemaster'].invoke
8
- end
9
- end