amber 0.3.11 → 0.3.12

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: 5f07ec2e5c2a86cec442c924598f935a40955a32
4
- data.tar.gz: 4eaecfe55678b175942014c5e17f6e90381021b6
3
+ metadata.gz: 7e82110afd292b70bbd258f06cf6d37bcbc0b106
4
+ data.tar.gz: 45b0c8bace315775426dcc05fce64b13c511b2d3
5
5
  SHA512:
6
- metadata.gz: efa8c04a618b8ba9052c6b4f0f1387bb750e20a3544e6afe79668cee9de9278c44168c2ce00fe70fc14c8dc4a3faebdb6a5b069e059cd913adc37373f8ade543
7
- data.tar.gz: 78c14db10c74f733f0cc1899715ccbf771a3bd9b29aebdf84af8d24bd0025845ced2b0df3adfa5c7237e63619defe0932eae0280561f66f1a0051f8d8c21d3b7
6
+ metadata.gz: e43abb63b953d965d14a6ff4c1cbbad67699a74cb6aa35a42d8ea579df477490bb0f5f7326c641da5bf9e04b9e7c0215337317c0f3cf03540ad95ae01bf02eaa
7
+ data.tar.gz: a4dd8cfcff9ffea4d687abc2b5e16d0b0e66dff2ee62032f858125c9cf141b14ebd3e1d8a84fe3d719ba3e563cf86cbeb0d245aff1e59cab2776344a156595f9
data/README.md CHANGED
@@ -19,6 +19,7 @@ features that make it unique:
19
19
  different markup languages).
20
20
  * Flexible: Ability to set custom page path aliases, render partials, rich
21
21
  navigation, and so on.
22
+ * Wiki Linking: Built in wiki-linking, with dead link detection and hierarchical paths.
22
23
 
23
24
  Amber allows ERB (ruby code) in all page markup types, making it unsuitable for
24
25
  any website where you do not trust the source of the page text.
@@ -65,3 +65,4 @@ require 'amber/render/apache'
65
65
  require 'amber/render/filter/autolink'
66
66
  require 'amber/render/filter/bracketlink'
67
67
  require 'amber/render/filter/variables'
68
+ require 'amber/render/sass_helper'
@@ -26,10 +26,12 @@ module Amber
26
26
  src_ext = File.extname(src_file)
27
27
  renderer = RENDER_MAP[src_ext]
28
28
  if renderer
29
- content = self.send(renderer[:method], *([src_file] + renderer[:args]))
30
- new_dst_file = dst_file.sub(/#{Regexp.escape(src_ext)}$/, renderer[:new_suffix])
31
- File.open(new_dst_file,'w') do |w|
32
- w.write(content)
29
+ if File.basename(src_file) !~ /^_/ # skip partials
30
+ content = self.send(renderer[:method], *([src_file] + renderer[:args]))
31
+ new_dst_file = dst_file.sub(/#{Regexp.escape(src_ext)}$/, renderer[:new_suffix])
32
+ File.open(new_dst_file,'w') do |w|
33
+ w.write(content)
34
+ end
33
35
  end
34
36
  elsif File.basename(src_file) == '.htaccess'
35
37
  # existing htaccess file must be copied, not linked, since
@@ -16,6 +16,12 @@ module Amber
16
16
  end
17
17
  end
18
18
 
19
+ #
20
+ # link_to like rails
21
+ def link_to(label, url, options=nil)
22
+ link({label => url}, options)
23
+ end
24
+
19
25
  #
20
26
  # three forms:
21
27
  #
@@ -30,15 +36,15 @@ module Amber
30
36
  #
31
37
  def link(name, options=nil)
32
38
  options = nil if options && !options.is_a?(Hash)
39
+ klass = nil
33
40
  if name.is_a? Hash
34
41
  klass = name.delete(:class)
35
42
  label, name = name.to_a.first
36
43
  if label.is_a? Symbol
37
44
  label = I18n.t label
38
45
  end
39
- else
40
- klass = options[:class] if options
41
46
  end
47
+ klass ||= options[:class] if options
42
48
  if name =~ /^#/ || name =~ /^http/ || name =~ /\./
43
49
  path = name
44
50
  label ||= name
@@ -0,0 +1,11 @@
1
+ require 'sass'
2
+
3
+ module Amber
4
+ module SassFunctions
5
+ def image_url(path)
6
+ Sass::Script::String.new("url(/assets/images/#{path.value})")
7
+ end
8
+ end
9
+ end
10
+
11
+ ::Sass::Script::Functions.send :include, Amber::SassFunctions
@@ -116,7 +116,7 @@ module Amber
116
116
  return path_with_locale if File.exist?(path_with_locale)
117
117
  end
118
118
  end
119
- Amber.logger.error("No such path `#{path2}` from `#{page.content_file(locale)}`.")
119
+ Amber.logger.error("No such path `#{search_path}` from `#{page.content_file(locale)}`.")
120
120
  return nil
121
121
  end
122
122
 
@@ -94,6 +94,8 @@ module Amber
94
94
  else
95
95
  nil
96
96
  end
97
+ elsif @pages_by_path[filter]
98
+ @pages_by_path[filter]
97
99
  else
98
100
  @pages_by_name[filter]
99
101
  end
@@ -160,7 +162,7 @@ module Amber
160
162
  base_page.config = config
161
163
 
162
164
  # load menu and locals
163
- I18n.load_path += Dir[File.join(config.locales_dir, '/*.{rb,yml,yaml}')] if config.locales_dir
165
+ I18n.load_path += Dir[File.join(config.locales_dir, '/**/*.{rb,yml,yaml}')] if config.locales_dir
164
166
 
165
167
  # add the full directory tree
166
168
  base_page.scan_directory_tree do |page, asset_dir|
@@ -179,7 +181,7 @@ module Amber
179
181
  # registers a page with the site, indexing the page path in our various hashes
180
182
  #
181
183
  def add_page(page)
182
- @pages_by_name[page.name] = page
184
+ @pages_by_name[page.name] ||= page
183
185
  @pages_by_path[page.path.join('/')] = page
184
186
  add_aliases(I18n.default_locale, page, @pages_by_path)
185
187
  page.locales.each do |locale|
@@ -1,5 +1,5 @@
1
1
  module Amber
2
2
  unless defined?(Amber::VERSION)
3
- VERSION = '0.3.11'
3
+ VERSION = '0.3.12'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: amber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.11
4
+ version: 0.3.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elijah Sparrow
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-01 00:00:00.000000000 Z
11
+ date: 2017-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n
@@ -152,6 +152,7 @@ files:
152
152
  - lib/amber/render/helpers/language_helper.rb
153
153
  - lib/amber/render/helpers/navigation_helper.rb
154
154
  - lib/amber/render/layout.rb
155
+ - lib/amber/render/sass_helper.rb
155
156
  - lib/amber/render/table_of_contents.rb
156
157
  - lib/amber/render/template.rb
157
158
  - lib/amber/render/view.rb
@@ -271,7 +272,7 @@ files:
271
272
  - locales/rails-i18n/zh-YUE.yml
272
273
  homepage: https://github.com/leapcode/amber
273
274
  licenses:
274
- - AGPL
275
+ - AGPL-1.0
275
276
  metadata: {}
276
277
  post_install_message:
277
278
  rdoc_options: []
@@ -289,9 +290,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
289
290
  version: '0'
290
291
  requirements: []
291
292
  rubyforge_project:
292
- rubygems_version: 2.2.2
293
+ rubygems_version: 2.5.2
293
294
  signing_key:
294
295
  specification_version: 4
295
296
  summary: Static website generator
296
297
  test_files: []
297
- has_rdoc: