middleman-aria_current 0.1.1 → 0.1.2

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
- SHA1:
3
- metadata.gz: ff16121cc057d7f72d132ba8babd104ee3a1741f
4
- data.tar.gz: 34a9af9b635c01c9bee5e9def7a6f3ec62b27776
2
+ SHA256:
3
+ metadata.gz: 84cffdd4bf9c52cc6c394ef1b0359cacef0860deff164eb18d43c307fd519631
4
+ data.tar.gz: aaa0047527f7840a38f6622b87665359f09d56df7bf3db487a38d558730fc732
5
5
  SHA512:
6
- metadata.gz: 3ff03e7f82183e64b0427745866d4a290011d58856063ea2edce3fd678e2b6bf7df1c195a6459218e05dad7822f32eebeb7be5fb6488b33676e09aab260a2f40
7
- data.tar.gz: 9c427e58ee4b02279eb25f6d820d804f49499df4bf705b7a6746d5870c307491bc0ca57b8c0606c48dd51c2152629ec827819b3889455a562b9d1a202b077b7c
6
+ metadata.gz: dc70df7f9e9745b15e1209da470cc432767d4c5dd12502df0a39e30956618016b88f794e80d89e971acf1b5efc2acc21207aac57ccd576be04d88615eb77ff8b
7
+ data.tar.gz: e693d2d735fdbf732df9d0d74388b8857732f3d5eb66c881c6ed912c36a9da12388942cb6c1305f79e2069b5d7dec37ff131f6cc2a2f2a0d886b73b0e07a4bd7
data/.gitignore CHANGED
@@ -1,3 +1,4 @@
1
1
  *gem
2
- /Gemfile.lock
3
- /pkg
2
+ build
3
+ Gemfile.lock
4
+ pkg
@@ -1 +1 @@
1
- 2.4.0
1
+ 2.6.5
@@ -8,13 +8,26 @@ The format is loosely based on [Keep a Changelog] and this project adheres to
8
8
  [Keep a Changelog]: http://keepachangelog.com/
9
9
  [Semantic Versioning]: http://semver.org/
10
10
 
11
+ ## master
12
+
13
+ ## [0.1.2] - 2020-04-03
14
+
15
+ - Yield block as contents
16
+
17
+ - Instead of determining the "current" resource through `String` comparison
18
+ (including incorporating the resource file's extension), make use of the
19
+ [`sitemap`][sitemap].
20
+
21
+ [sitemap]: [sitemap]: https://middlemanapp.com/advanced/sitemap/#accessing-the-sitemap-from-code
22
+
23
+
11
24
  ## [0.1.1] - 2017-03-19
12
25
 
13
26
  ### Changed
14
27
 
15
28
  - Relaxed `middleman-core` dependency from `~> 4.2` to `~> 4.0`. ([#13])
16
29
 
17
- [0.1.1]: https://github.com/thoughtbot/middleman-aria_current/compare/v0.1.0...v0.1.1
30
+ [0.1.1]: https://github.com/thoughtbot/middleman-aria_current/compare/0.1.0...v0.1.1
18
31
  [#13]: https://github.com/thoughtbot/middleman-aria_current/pull/13
19
32
 
20
33
  ## 0.1.0 - 2017-03-17
@@ -0,0 +1,43 @@
1
+ # Contributing
2
+
3
+ We love contributions from everyone.
4
+ By participating in this project,
5
+ you agree to abide by the thoughtbot [code of conduct].
6
+
7
+ [code of conduct]: https://thoughtbot.com/open-source-code-of-conduct
8
+
9
+ We expect everyone to follow the code of conduct
10
+ anywhere in thoughtbot's project codebases,
11
+ issue trackers, chatrooms, and mailing lists.
12
+
13
+ ## Contributing Code
14
+
15
+ 1. Fork the repo.
16
+
17
+ 1. Install dependencies:
18
+
19
+ ```
20
+ bundle install
21
+ ```
22
+
23
+ 1. Make sure the tests pass:
24
+
25
+ ```
26
+ bundle exec rake test
27
+ ```
28
+
29
+ 1. Make your change, with new passing tests. Follow the [style guide][style].
30
+
31
+ 1. Mention how your changes affect the project to other developers and users in
32
+ the `CHANGELOG.md` file.
33
+
34
+ 1. Write a [good commit message][commit]. Push to your fork. Submit a pull
35
+ request.
36
+
37
+ Others will give constructive feedback.
38
+ This is a time for discussion and improvements,
39
+ and making the necessary changes will be required before we can
40
+ merge the contribution.
41
+
42
+ [style]: https://github.com/thoughtbot/guides/tree/master/style
43
+ [commit]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
data/README.md CHANGED
@@ -32,16 +32,74 @@ detailing its usage][article].
32
32
 
33
33
  ## Usage
34
34
 
35
+ middleman-aria_current provides a `current_link_to` helper, which wraps the
36
+ built-in `link_to` helper. It checks the URL of the current visited page and
37
+ outputs an `aria-current` attribute if it matches the URL in the link.
38
+
39
+ As an example, below is a typical website navigation where we use
40
+ `current_link_to` for each link (using ERB):
41
+
35
42
  ```erb
36
- <%= current_link_to "Home", "/" %>
37
- <%= current_link_to "About", "/about" %>
43
+ <nav>
44
+ <%= current_link_to "Home", "/" %>
45
+ <%= current_link_to "About", "/about" %>
46
+ </nav>
38
47
  ```
39
48
 
49
+ Now, when you visit `/about`, the link for that page will be given the
50
+ `aria-current` attribute:
51
+
40
52
  ```html
41
- <a href="/" aria-current="page">Home</a>
42
- <a href="/about">About</a>
53
+ <nav>
54
+ <a href="/">Home</a>
55
+ <a href="/about" aria-current="page">About</a>
56
+ </nav>
43
57
  ```
44
58
 
59
+ ---
60
+
61
+ By default, `current_link_to` will output the `page` value for `aria-current`.
62
+ You can also pass it one of `aria-current`’s other accepted values: `step`,
63
+ `location`, `date`, `time`, `true`, or `false`:
64
+
65
+ ```erb
66
+ <%= current_link_to "Step 1", "/step-1", aria_current: "step" %>
67
+ <%= current_link_to "Step 2", "/step-2", aria_current: "step" %>
68
+ <%= current_link_to "Step 3", "/step-3", aria_current: "step" %>
69
+ ```
70
+
71
+ Provided that you are currently visiting `/step-2`, the output will be:
72
+
73
+ ```html
74
+ <a href="/step-1">Step 1</a>
75
+ <a href="/step-2" aria-current="step">Step 2</a>
76
+ <a href="/step-3">Step 3</a>
77
+ ```
78
+
79
+ ---
80
+
81
+ For styling current links, you can use a [CSS attribute selector][selector_mdn]:
82
+
83
+ ```css
84
+ [aria-current]:not([aria-current="false"]) {
85
+ font-weight: bold;
86
+ }
87
+ ```
88
+
89
+ Note that we _exclude_ styling the link if `aria-current` has a value of
90
+ `false`. This is because `false` is a valid and useful value for denoting a link
91
+ that does not represent the current item within a set.
92
+
93
+ [selector_mdn]: https://developer.mozilla.org/en-US/docs/Web/CSS/Attribute_selectors
94
+
95
+ ## Contributing
96
+
97
+ See the [contributing document].
98
+ Thank you, [contributors]!
99
+
100
+ [contributing document]: CONTRIBUTING.md
101
+ [contributors]: https://github.com/thoughtbot/middleman-aria_current/graphs/contributors
102
+
45
103
  ## License
46
104
 
47
105
  middleman-aria_current is copyright © 2017 Tyson Gach and thoughtbot, inc.
@@ -1,26 +1,23 @@
1
1
  require "middleman-core"
2
2
 
3
3
  class AriaCurrent < ::Middleman::Extension
4
- FILE_EXTENSION = /\.(\w*)$/
5
-
6
4
  helpers do
7
5
  def current_link_to(*arguments, aria_current: "page", **options, &block)
8
6
  if block_given?
9
- text = capture(&block)
10
7
  path = arguments[0]
11
8
  else
12
- text = arguments[0]
13
9
  path = arguments[1]
14
10
  end
15
11
 
16
- link_options = options
17
- current_path = current_page.url.to_s.gsub(FILE_EXTENSION, "")
12
+ link_options = options.dup
13
+
14
+ uri = URI.parse(path.to_s)
18
15
 
19
- if current_path == path
16
+ if current_resource == sitemap.find_resource_by_path(uri.path)
20
17
  link_options.merge!("aria-current" => aria_current)
21
18
  end
22
19
 
23
- link_to(text, path, link_options)
20
+ link_to(*arguments, link_options, &block)
24
21
  end
25
22
  end
26
23
  end
@@ -3,15 +3,20 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "middleman-aria_current"
6
- s.version = "0.1.1"
6
+ s.version = "0.1.2"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ["Tyson Gach", "Sean Doyle"]
9
9
  s.email = ["tyson@thoughtbot.com", "sean@thoughtbot.com"]
10
10
  s.homepage = "https://github.com/thoughtbot/middleman-aria_current"
11
- s.summary = <<-HERE
11
+ s.summary = <<-SUM
12
12
  A Middleman extension for indicating a current (active) link
13
13
  using `aria-current`.
14
- HERE
14
+ SUM
15
+ s.summary = <<-DESC
16
+ middleman-aria_current provides a `current_link_to` helper, which wraps the
17
+ built-in `link_to` helper. It checks the URL of the current visited page and
18
+ outputs an `aria-current` attribute if it matches the URL in the link.
19
+ DESC
15
20
  s.license = "MIT"
16
21
 
17
22
  s.files = `git ls-files`.split("\n")
@@ -19,7 +24,6 @@ using `aria-current`.
19
24
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
25
  s.require_paths = ["lib"]
21
26
 
22
- s.add_development_dependency "aruba", "~> 0.14"
23
27
  s.add_development_dependency "capybara", "~> 2.13"
24
28
  s.add_development_dependency "cucumber", "~> 2.4"
25
29
  s.add_development_dependency "middleman-cli", "~> 4.0"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: middleman-aria_current
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
  - Tyson Gach
@@ -9,22 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-03-19 00:00:00.000000000 Z
12
+ date: 2020-04-03 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: aruba
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '0.14'
21
- type: :development
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: '0.14'
28
14
  - !ruby/object:Gem::Dependency
29
15
  name: capybara
30
16
  requirement: !ruby/object:Gem::Requirement
@@ -121,6 +107,7 @@ files:
121
107
  - ".hound.yml"
122
108
  - ".ruby-version"
123
109
  - CHANGELOG.md
110
+ - CONTRIBUTING.md
124
111
  - Gemfile
125
112
  - LICENSE.md
126
113
  - README.md
@@ -128,7 +115,6 @@ files:
128
115
  - circle.yml
129
116
  - features/aria_current.feature
130
117
  - features/support/env.rb
131
- - fixtures/aria_current-app/build/index.html
132
118
  - fixtures/aria_current-app/config.rb
133
119
  - fixtures/aria_current-app/source/different-url.html.erb
134
120
  - fixtures/aria_current-app/source/foo-bar.html.erb
@@ -157,11 +143,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
157
143
  - !ruby/object:Gem::Version
158
144
  version: '0'
159
145
  requirements: []
160
- rubyforge_project:
161
- rubygems_version: 2.6.8
146
+ rubygems_version: 3.0.3
162
147
  signing_key:
163
148
  specification_version: 4
164
- summary: A Middleman extension for indicating a current (active) link using `aria-current`.
149
+ summary: middleman-aria_current provides a `current_link_to` helper, which wraps the
150
+ built-in `link_to` helper. It checks the URL of the current visited page and outputs
151
+ an `aria-current` attribute if it matches the URL in the link.
165
152
  test_files:
166
153
  - features/aria_current.feature
167
154
  - features/support/env.rb
@@ -1 +0,0 @@
1
- <a href="/" aria_current="page">Home</a>