jekyll_pages_api_search 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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