jekyll_pages_api_search 0.3.2 → 0.4.0

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.
@@ -1,7 +1,7 @@
1
1
  # @author Mike Bland (michael.bland@gsa.gov)
2
2
 
3
- require_relative 'compressor'
4
- require_relative 'site'
3
+ require_relative './compressor'
4
+ require_relative './site'
5
5
  require 'fileutils'
6
6
  require 'jekyll_pages_api'
7
7
 
@@ -30,7 +30,7 @@ module JekyllPagesApiSearch
30
30
  File.open(outfile, 'w') {|f| f << content}
31
31
  end
32
32
  Compressor::gzip_in_memory_content output
33
- JavascriptCopier::copy_to_basedir site.source
33
+ Assets::copy_to_basedir site.source
34
34
  end
35
35
  end
36
36
  end
@@ -7,9 +7,14 @@ module JekyllPagesApiSearch
7
7
  NAME = 'jekyll_pages_api_search_interface'
8
8
  Liquid::Template.register_tag(NAME, self)
9
9
  CODE = File.read(File.join(File.dirname(__FILE__), 'search.html'))
10
+ TEMPLATE = Liquid::Template.parse(CODE)
10
11
 
11
12
  def render(context)
12
- CODE
13
+ site = context.registers[:site]
14
+ baseurl = site.config['baseurl'] || ''
15
+ search_endpoint = site.config['search_endpoint'] || 'search/'
16
+ search_endpoint = "/#{baseurl}/#{search_endpoint}/".gsub('//', '/')
17
+ TEMPLATE.render('search_endpoint' => search_endpoint)
13
18
  end
14
19
  end
15
20
 
@@ -29,4 +34,13 @@ module JekyllPagesApiSearch
29
34
  "</script>"
30
35
  end
31
36
  end
37
+
38
+ class SearchResultsTag < Liquid::Tag
39
+ NAME = 'jekyll_pages_api_search_results'
40
+ Liquid::Template.register_tag(NAME, self)
41
+
42
+ def render(context)
43
+ '<ol id=\'search-results\'></ol>'
44
+ end
45
+ end
32
46
  end
@@ -1,5 +1,5 @@
1
1
  # @author Mike Bland (michael.bland@gsa.gov)
2
2
 
3
3
  module JekyllPagesApiSearch
4
- VERSION = '0.3.2'
4
+ VERSION = '0.4.0'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jekyll_pages_api_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Bland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-08 00:00:00.000000000 Z
11
+ date: 2016-02-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jekyll_pages_api
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.1.4
27
- - !ruby/object:Gem::Dependency
28
- name: therubyracer
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.12.2
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.12.2
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: sass
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -165,11 +151,15 @@ files:
165
151
  - assets/js/search-bundle.js
166
152
  - assets/js/search-bundle.js.gz
167
153
  - assets/js/search.js
154
+ - assets/png/search.png
155
+ - assets/svg/search.svg
168
156
  - bin/jekyll_pages_api_search
169
157
  - lib/jekyll_pages_api_search.rb
170
158
  - lib/jekyll_pages_api_search/assets.rb
171
159
  - lib/jekyll_pages_api_search/compressor.rb
172
- - lib/jekyll_pages_api_search/js_copier.rb
160
+ - lib/jekyll_pages_api_search/config.rb
161
+ - lib/jekyll_pages_api_search/generator.rb
162
+ - lib/jekyll_pages_api_search/layouts/search-results.html
173
163
  - lib/jekyll_pages_api_search/lunr.min.js
174
164
  - lib/jekyll_pages_api_search/sass.rb
175
165
  - lib/jekyll_pages_api_search/sass/jekyll_pages_api_search.scss
@@ -177,6 +167,8 @@ files:
177
167
  - lib/jekyll_pages_api_search/search.js
178
168
  - lib/jekyll_pages_api_search/search.rb
179
169
  - lib/jekyll_pages_api_search/search_hook.rb
170
+ - lib/jekyll_pages_api_search/search_page.rb
171
+ - lib/jekyll_pages_api_search/search_page_layouts.rb
180
172
  - lib/jekyll_pages_api_search/site.rb
181
173
  - lib/jekyll_pages_api_search/standalone.rb
182
174
  - lib/jekyll_pages_api_search/tags.rb
@@ -1,33 +0,0 @@
1
- # @author Mike Bland (michael.bland@gsa.gov)
2
-
3
- require 'fileutils'
4
- require 'jekyll/static_file'
5
-
6
- module JekyllPagesApiSearch
7
- class JavascriptCopier
8
- SOURCE = File.realpath(File.join(File.dirname(__FILE__), '..', '..'))
9
- ASSETS_DIR = File.join('assets', 'js')
10
- BEGIN_PATH = SOURCE.size + File::SEPARATOR.size
11
-
12
- def self.copy_to_site(site)
13
- self.search_bundle_paths do |f|
14
- site.static_files << ::Jekyll::StaticFile.new(
15
- site, SOURCE, File.dirname(f), File.basename(f))
16
- end
17
- end
18
-
19
- def self.copy_to_basedir(basedir)
20
- target_path = File.join basedir, ASSETS_DIR
21
- FileUtils.mkdir_p target_path
22
- self.search_bundle_paths {|f| FileUtils.cp f, target_path}
23
- end
24
-
25
- private
26
-
27
- def self.search_bundle_paths
28
- Dir.glob(File.join(SOURCE, ASSETS_DIR, 'search-bundle.js*')) do |f|
29
- yield f[BEGIN_PATH..-1]
30
- end
31
- end
32
- end
33
- end