Skip to content

Commit 6b7d78d

Browse files
committed
up-for-grabs#682 - Added functionality to allow external project links open in a separate tab
1 parent f360262 commit 6b7d78d

File tree

3 files changed

+135
-67
lines changed

3 files changed

+135
-67
lines changed

Gemfile.lock

+132-64
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,82 @@
11
GEM
22
remote: https://rubygems.org/
33
specs:
4-
activesupport (4.2.7)
4+
activesupport (4.2.8)
55
i18n (~> 0.7)
6-
json (~> 1.7, >= 1.7.7)
76
minitest (~> 5.1)
87
thread_safe (~> 0.3, >= 0.3.4)
98
tzinfo (~> 1.1)
10-
addressable (2.4.0)
9+
addressable (2.5.1)
10+
public_suffix (~> 2.0, >= 2.0.2)
1111
coffee-script (2.4.1)
1212
coffee-script-source
1313
execjs
14-
coffee-script-source (1.10.0)
14+
coffee-script-source (1.12.2)
1515
colorator (1.1.0)
16-
ethon (0.9.1)
16+
ethon (0.10.1)
1717
ffi (>= 1.3.0)
1818
execjs (2.7.0)
19-
faraday (0.9.2)
19+
faraday (0.12.2)
2020
multipart-post (>= 1.2, < 3)
21-
ffi (1.9.14)
21+
ffi (1.9.18)
22+
ffi (1.9.18-x64-mingw32)
23+
ffi (1.9.18-x86-mingw32)
2224
forwardable-extended (2.6.0)
23-
gemoji (2.1.0)
24-
github-pages (100)
25-
activesupport (= 4.2.7)
26-
github-pages-health-check (= 1.2.0)
27-
jekyll (= 3.2.1)
25+
gemoji (3.0.0)
26+
github-pages (146)
27+
activesupport (= 4.2.8)
28+
github-pages-health-check (= 1.3.5)
29+
jekyll (= 3.4.5)
30+
jekyll-avatar (= 0.4.2)
2831
jekyll-coffeescript (= 1.0.1)
29-
jekyll-feed (= 0.7.2)
32+
jekyll-default-layout (= 0.1.4)
33+
jekyll-feed (= 0.9.2)
3034
jekyll-gist (= 1.4.0)
31-
jekyll-github-metadata (= 2.1.1)
35+
jekyll-github-metadata (= 2.5.1)
3236
jekyll-mentions (= 1.2.0)
37+
jekyll-optional-front-matter (= 0.2.0)
3338
jekyll-paginate (= 1.1.0)
34-
jekyll-redirect-from (= 0.11.0)
35-
jekyll-sass-converter (= 1.3.0)
36-
jekyll-seo-tag (= 2.0.0)
37-
jekyll-sitemap (= 0.11.0)
39+
jekyll-readme-index (= 0.1.0)
40+
jekyll-redirect-from (= 0.12.1)
41+
jekyll-relative-links (= 0.4.1)
42+
jekyll-sass-converter (= 1.5.0)
43+
jekyll-seo-tag (= 2.2.3)
44+
jekyll-sitemap (= 1.0.0)
3845
jekyll-swiss (= 0.4.0)
39-
jemoji (= 0.7.0)
40-
kramdown (= 1.11.1)
46+
jekyll-theme-architect (= 0.0.4)
47+
jekyll-theme-cayman (= 0.0.4)
48+
jekyll-theme-dinky (= 0.0.4)
49+
jekyll-theme-hacker (= 0.0.4)
50+
jekyll-theme-leap-day (= 0.0.4)
51+
jekyll-theme-merlot (= 0.0.4)
52+
jekyll-theme-midnight (= 0.0.4)
53+
jekyll-theme-minimal (= 0.0.4)
54+
jekyll-theme-modernist (= 0.0.4)
55+
jekyll-theme-primer (= 0.3.1)
56+
jekyll-theme-slate (= 0.0.4)
57+
jekyll-theme-tactile (= 0.0.4)
58+
jekyll-theme-time-machine (= 0.0.4)
59+
jekyll-titles-from-headings (= 0.2.0)
60+
jemoji (= 0.8.0)
61+
kramdown (= 1.13.2)
4162
liquid (= 3.0.6)
4263
listen (= 3.0.6)
4364
mercenary (~> 0.3)
44-
minima (= 1.2.0)
65+
minima (= 2.1.1)
4566
rouge (= 1.11.1)
4667
terminal-table (~> 1.4)
47-
github-pages-health-check (1.2.0)
68+
github-pages-health-check (1.3.5)
4869
addressable (~> 2.3)
4970
net-dns (~> 0.8)
5071
octokit (~> 4.0)
51-
public_suffix (~> 1.4)
72+
public_suffix (~> 2.0)
5273
typhoeus (~> 0.7)
53-
html-pipeline (2.4.2)
74+
html-pipeline (2.6.0)
5475
activesupport (>= 2)
5576
nokogiri (>= 1.4)
56-
i18n (0.7.0)
57-
jekyll (3.2.1)
77+
i18n (0.8.6)
78+
jekyll (3.4.5)
79+
addressable (~> 2.4)
5880
colorator (~> 1.0)
5981
jekyll-sass-converter (~> 1.0)
6082
jekyll-watch (~> 1.1)
@@ -64,80 +86,126 @@ GEM
6486
pathutil (~> 0.9)
6587
rouge (~> 1.7)
6688
safe_yaml (~> 1.0)
89+
jekyll-avatar (0.4.2)
90+
jekyll (~> 3.0)
6791
jekyll-coffeescript (1.0.1)
6892
coffee-script (~> 2.2)
69-
jekyll-feed (0.7.2)
93+
jekyll-default-layout (0.1.4)
94+
jekyll (~> 3.0)
95+
jekyll-feed (0.9.2)
96+
jekyll (~> 3.3)
7097
jekyll-gist (1.4.0)
7198
octokit (~> 4.2)
72-
jekyll-github-metadata (2.1.1)
99+
jekyll-github-metadata (2.5.1)
73100
jekyll (~> 3.1)
74-
octokit (~> 4.0)
101+
octokit (~> 4.0, != 4.4.0)
75102
jekyll-mentions (1.2.0)
76103
activesupport (~> 4.0)
77104
html-pipeline (~> 2.3)
78105
jekyll (~> 3.0)
106+
jekyll-optional-front-matter (0.2.0)
107+
jekyll (~> 3.0)
79108
jekyll-paginate (1.1.0)
80-
jekyll-redirect-from (0.11.0)
81-
jekyll (>= 2.0)
82-
jekyll-sass-converter (1.3.0)
83-
sass (~> 3.2)
84-
jekyll-seo-tag (2.0.0)
85-
jekyll (~> 3.1)
86-
jekyll-sitemap (0.11.0)
87-
addressable (~> 2.4.0)
109+
jekyll-readme-index (0.1.0)
110+
jekyll (~> 3.0)
111+
jekyll-redirect-from (0.12.1)
112+
jekyll (~> 3.3)
113+
jekyll-relative-links (0.4.1)
114+
jekyll (~> 3.3)
115+
jekyll-sass-converter (1.5.0)
116+
sass (~> 3.4)
117+
jekyll-seo-tag (2.2.3)
118+
jekyll (~> 3.3)
119+
jekyll-sitemap (1.0.0)
120+
jekyll (~> 3.3)
88121
jekyll-swiss (0.4.0)
122+
jekyll-theme-architect (0.0.4)
123+
jekyll (~> 3.3)
124+
jekyll-theme-cayman (0.0.4)
125+
jekyll (~> 3.3)
126+
jekyll-theme-dinky (0.0.4)
127+
jekyll (~> 3.3)
128+
jekyll-theme-hacker (0.0.4)
129+
jekyll (~> 3.3)
130+
jekyll-theme-leap-day (0.0.4)
131+
jekyll (~> 3.3)
132+
jekyll-theme-merlot (0.0.4)
133+
jekyll (~> 3.3)
134+
jekyll-theme-midnight (0.0.4)
135+
jekyll (~> 3.3)
136+
jekyll-theme-minimal (0.0.4)
137+
jekyll (~> 3.3)
138+
jekyll-theme-modernist (0.0.4)
139+
jekyll (~> 3.3)
140+
jekyll-theme-primer (0.3.1)
141+
jekyll (~> 3.3)
142+
jekyll-theme-slate (0.0.4)
143+
jekyll (~> 3.3)
144+
jekyll-theme-tactile (0.0.4)
145+
jekyll (~> 3.3)
146+
jekyll-theme-time-machine (0.0.4)
147+
jekyll (~> 3.3)
148+
jekyll-titles-from-headings (0.2.0)
149+
jekyll (~> 3.3)
89150
jekyll-watch (1.5.0)
90151
listen (~> 3.0, < 3.1)
91-
jemoji (0.7.0)
152+
jemoji (0.8.0)
92153
activesupport (~> 4.0)
93-
gemoji (~> 2.0)
154+
gemoji (~> 3.0)
94155
html-pipeline (~> 2.2)
95156
jekyll (>= 3.0)
96-
json (1.8.3)
97-
kramdown (1.11.1)
157+
kramdown (1.13.2)
98158
liquid (3.0.6)
99159
listen (3.0.6)
100160
rb-fsevent (>= 0.9.3)
101161
rb-inotify (>= 0.9.7)
102162
mercenary (0.3.6)
103-
mini_portile2 (2.1.0)
104-
minima (1.2.0)
105-
minitest (5.9.1)
163+
mini_portile2 (2.2.0)
164+
minima (2.1.1)
165+
jekyll (~> 3.3)
166+
minitest (5.10.3)
106167
multipart-post (2.0.0)
107168
net-dns (0.8.0)
108-
nokogiri (1.6.8.1)
109-
mini_portile2 (~> 2.1.0)
110-
octokit (4.4.1)
111-
sawyer (~> 0.7.0, >= 0.5.3)
169+
nokogiri (1.8.0)
170+
mini_portile2 (~> 2.2.0)
171+
nokogiri (1.8.0-x64-mingw32)
172+
mini_portile2 (~> 2.2.0)
173+
nokogiri (1.8.0-x86-mingw32)
174+
mini_portile2 (~> 2.2.0)
175+
octokit (4.7.0)
176+
sawyer (~> 0.8.0, >= 0.5.3)
112177
pathutil (0.14.0)
113178
forwardable-extended (~> 2.6)
114-
public_suffix (1.5.3)
115-
rb-fsevent (0.9.8)
116-
rb-inotify (0.9.7)
117-
ffi (>= 0.5.0)
179+
public_suffix (2.0.5)
180+
rb-fsevent (0.10.2)
181+
rb-inotify (0.9.10)
182+
ffi (>= 0.5.0, < 2)
118183
rouge (1.11.1)
119184
safe_yaml (1.0.4)
120-
sass (3.4.22)
121-
sawyer (0.7.0)
122-
addressable (>= 2.3.5, < 2.5)
123-
faraday (~> 0.8, < 0.10)
124-
terminal-table (1.7.3)
125-
unicode-display_width (~> 1.1.1)
126-
thread_safe (0.3.5)
185+
sass (3.5.1)
186+
sass-listen (~> 4.0.0)
187+
sass-listen (4.0.0)
188+
rb-fsevent (~> 0.9, >= 0.9.4)
189+
rb-inotify (~> 0.9, >= 0.9.7)
190+
sawyer (0.8.1)
191+
addressable (>= 2.3.5, < 2.6)
192+
faraday (~> 0.8, < 1.0)
193+
terminal-table (1.8.0)
194+
unicode-display_width (~> 1.1, >= 1.1.1)
195+
thread_safe (0.3.6)
127196
typhoeus (0.8.0)
128197
ethon (>= 0.8.0)
129-
tzinfo (1.2.2)
198+
tzinfo (1.2.3)
130199
thread_safe (~> 0.1)
131-
unicode-display_width (1.1.1)
200+
unicode-display_width (1.3.0)
132201

133202
PLATFORMS
134203
ruby
135204
x64-mingw32
136205
x86-mingw32
137206

138207
DEPENDENCIES
139-
github-pages (= 100)
140-
json
208+
github-pages (= 146)
141209

142210
BUNDLED WITH
143-
1.13.6
211+
1.15.3

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ Then open your browser to `localhost:4000` to view the site.
7474
## How This All Works
7575
We use a few great features of Jekyll and GitHub Pages to host this entire site for free.
7676

77-
* We are using a file called `scripts.html` which is an include file. When we publish the site, Jekyll uses this to concatenate generate the scripts that will actually be downloaded when a user visits the site.
77+
* We are using a file called `scripts.html` which is an include file. When we publish the site, Jekyll uses this to concatenate and generate the scripts that will actually be downloaded when a user visits the site.
7878
* Within the `scripts.html` template, we're referencing `site.data.projects`, which gives us access to the entire directory of `.yml` files as a set of variables. We combine this with the `jsonify` liquid transformer to turn them into a JSON object. This means that the raw data is generated once, so it downloads very quickly as static data.
7979
* When the web page is opened, our startup JS processes each project in the array of projects and pushes it into the array that the rest of the site uses.
8080
* We use [travis-ci](https://travis-ci.org/up-for-grabs/up-for-grabs.net) to run a custom ruby script, `cibuild`, that checks all the `.yml` files to make sure they can be appropriately parsed. This makes sure we don't merge any incorrectly formed project files.

_includes/scripts.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ <h5>Popular tags: </h5>
1818
<tbody>
1919
<tr>
2020
<td colspan="2" class="title">
21-
<span class="proj"><a href="<%-project.site %>"><%-project.name %></a></span>
21+
<span class="proj"><a href="<%-project.site %>" target="_blank"><%-project.name %></a></span>
2222
</td>
2323
</tr>
2424
<tr>
2525
<td class="details">
26-
<p class="label"><a href="<%- project.upforgrabs.link %>" title="View open issues for <%-project.name %>"><%-project.upforgrabs.name %></a></p>
26+
<p class="label"><a href="<%- project.upforgrabs.link %>" title="View open issues for <%-project.name %>" target="_blank"><%-project.upforgrabs.name %></a></p>
2727
</td>
2828
<td class="details">
2929
<% if (project.desc) { %>

0 commit comments

Comments
 (0)