middleman-hashicorp 0.3.35 → 0.3.37
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +63 -53
- data/lib/middleman-hashicorp/redcarpet.rb +8 -3
- data/lib/middleman-hashicorp/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 04d8b35b212ee6ca03b20cadc7609dff3721bfe9782ba67e5900464fdf510ee1
|
4
|
+
data.tar.gz: 6e8514c78339f9512a0712d58e6fcdd0133cfc0b89b2535af23539bd563633dc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f27b4368499002f2ee5b6c00342c6c13232f8d6066d1b9b12fdc82c948c6af3aa164fb121d24c4057cbbc75db5302929b8dcc1e328997f73581ec6d475be7773
|
7
|
+
data.tar.gz: 6fd4cd3c9fec357693e29235c4b81725c43713e4629b86309c58be00bfa8ed1d80705cf4bbc681eee4cb72b209d61286315fe6f849620db40856c04ae516c3bc
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
|
-
HashiCorp Middleman Customizations
|
2
|
-
|
1
|
+
# HashiCorp Middleman Customizations
|
2
|
+
|
3
3
|
A wrapper around [Middleman][] for HashiCorp's customizations.
|
4
4
|
|
5
|
-
Installation
|
6
|
-
|
5
|
+
## Installation
|
6
|
+
|
7
7
|
Add this line to the Gemfile:
|
8
8
|
|
9
9
|
```ruby
|
@@ -16,9 +16,8 @@ And then run:
|
|
16
16
|
$ bundle
|
17
17
|
```
|
18
18
|
|
19
|
+
## Usage
|
19
20
|
|
20
|
-
Usage
|
21
|
-
-----
|
22
21
|
To generate a new site, follow the instructions in the [Middleman docs][]. Then add the following line to your `config.rb`:
|
23
22
|
|
24
23
|
```ruby
|
@@ -52,20 +51,21 @@ $ middleman server
|
|
52
51
|
|
53
52
|
and you are off running!
|
54
53
|
|
55
|
-
Customizations
|
56
|
-
|
54
|
+
## Customizations
|
55
|
+
|
57
56
|
### Default Options
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
57
|
+
|
58
|
+
* Syntax highlighting (via [middleman-syntax][]) is automatically enabled
|
59
|
+
* Asset directories are organized like Rails:
|
60
|
+
* `assets/stylesheets`
|
61
|
+
* `assets/javascripts`
|
62
|
+
* `assets/images`
|
63
|
+
* `assets/fonts`
|
64
|
+
* The Markdown engine is redcarpet (see the section below on Markdown customizations)
|
65
|
+
* During development, live-reload is automatically enabled
|
66
|
+
* During build, css, javascript and HTML are minified
|
67
|
+
* During build, assets are hashed
|
68
|
+
* During build, gzipped assets are also created
|
69
69
|
|
70
70
|
### IE Compatibility
|
71
71
|
|
@@ -150,6 +150,7 @@ Finally include the required javascript:
|
|
150
150
|
```
|
151
151
|
|
152
152
|
### Mega Nav
|
153
|
+
|
153
154
|
HashiCorp has a consistent mega-nav used across all project sites. This is insertable into any document using the following:
|
154
155
|
|
155
156
|
```erb
|
@@ -165,51 +166,54 @@ Additionally, you must import the CSS and Javascript:
|
|
165
166
|
|
166
167
|
```scss
|
167
168
|
// assets/stylesheets/application.scss
|
168
|
-
@import 'hashicorp/mega-nav'
|
169
|
+
@import 'hashicorp/mega-nav';
|
169
170
|
```
|
170
171
|
|
171
172
|
### Helpers
|
172
|
-
- `latest_version` - get the version specified in `config.rb` as `version`, but replicated here for use in views.
|
173
173
|
|
174
|
-
|
175
|
-
|
176
|
-
|
174
|
+
* `latest_version` - get the version specified in `config.rb` as `version`, but replicated here for use in views.
|
175
|
+
|
176
|
+
```ruby
|
177
|
+
latest_version #=> "1.0.0"
|
178
|
+
```
|
177
179
|
|
178
|
-
|
180
|
+
* `system_icon` - use vendored image assets for a system icon
|
179
181
|
|
180
|
-
|
181
|
-
|
182
|
-
|
182
|
+
```ruby
|
183
|
+
system_icon(:windows) #=> "<img src=\"/images/icons/....png\">"
|
184
|
+
```
|
183
185
|
|
184
|
-
|
186
|
+
* `pretty_os` - get the human name of the given operating system
|
185
187
|
|
186
|
-
|
187
|
-
|
188
|
-
|
188
|
+
```ruby
|
189
|
+
pretty_os(:darwin) => "Mac OS X"
|
190
|
+
```
|
189
191
|
|
190
|
-
|
192
|
+
* `pretty_arch` - get the arch out of an arch
|
191
193
|
|
192
|
-
|
193
|
-
|
194
|
-
|
194
|
+
```ruby
|
195
|
+
pretty_arch(:amd64) #=> "64-bit"
|
196
|
+
```
|
195
197
|
|
196
198
|
### Markdown
|
199
|
+
|
197
200
|
This extension extends the redcarpet markdown processor to add some additional features:
|
198
201
|
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
202
|
+
* Autolinking of URLs
|
203
|
+
* Fenced code blocks
|
204
|
+
* Tables
|
205
|
+
* TOC data
|
206
|
+
* Strikethrough
|
207
|
+
* Superscript
|
205
208
|
|
206
209
|
In addition to "standard markdown", the custom markdown parser supports the following:
|
207
210
|
|
208
211
|
#### Auto-linking Anchor Tags
|
212
|
+
|
209
213
|
Since the majority of HashiCorp's projects use the following syntax to define APIs, this extension automatically converts those to named anchor links:
|
210
214
|
|
211
215
|
```markdown
|
212
|
-
|
216
|
+
* `api_method` - description
|
213
217
|
```
|
214
218
|
|
215
219
|
Outputs:
|
@@ -226,12 +230,13 @@ Header links will automatically generate linkable hrefs on hover. This can be us
|
|
226
230
|
|
227
231
|
```scss
|
228
232
|
// assets/stylesheets/application.scss
|
229
|
-
@import 'hashicorp/anchor-links'
|
233
|
+
@import 'hashicorp/anchor-links';
|
230
234
|
```
|
231
235
|
|
232
236
|
Any special characters are converted to an underscore (`_`).
|
233
237
|
|
234
238
|
#### Recursive Markdown Rendering
|
239
|
+
|
235
240
|
By default, the Markdown spec does not call for rendering markdown recursively inside of HTML. With this extension, it is valid:
|
236
241
|
|
237
242
|
```markdown
|
@@ -241,12 +246,13 @@ By default, the Markdown spec does not call for rendering markdown recursively i
|
|
241
246
|
```
|
242
247
|
|
243
248
|
#### Bootstrap Alerts
|
249
|
+
|
244
250
|
There are 4 custom markdown extensions that automatically create Twitter Bootstrap-style alerts:
|
245
251
|
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
252
|
+
* `=>` => `success`
|
253
|
+
* `->` => `info`
|
254
|
+
* `~>` => `warning`
|
255
|
+
* `!>` => `danger`
|
250
256
|
|
251
257
|
```markdown
|
252
258
|
-> Hey, you should know...
|
@@ -271,6 +277,7 @@ Of course you can use Markdown inside the block:
|
|
271
277
|
```
|
272
278
|
|
273
279
|
### Bootstrap
|
280
|
+
|
274
281
|
Twitter Bootstrap (3.x) is automatically bundled. Simply activate it it in your CSS and Javascript:
|
275
282
|
|
276
283
|
```scss
|
@@ -283,15 +290,18 @@ Twitter Bootstrap (3.x) is automatically bundled. Simply activate it it in your
|
|
283
290
|
//= require bootstrap
|
284
291
|
```
|
285
292
|
|
286
|
-
|
287
|
-
|
293
|
+
## Publishing a New Release
|
294
|
+
|
295
|
+
Just bump the version string and push a new tag to the repository and our CI will release the gem automatically. Do not try running any of the Makefile tasks yourself, the CI will run them for you.
|
296
|
+
|
297
|
+
## Contributing
|
298
|
+
|
288
299
|
1. [Fork it](https://github.com/hashicorp/middleman-hashicorp/fork)
|
289
300
|
2. Create your feature branch (`git checkout -b my-new-feature`)
|
290
301
|
3. Commit your changes (`git commit -am 'Add some feature'`)
|
291
302
|
4. Push to the branch (`git push origin my-new-feature`)
|
292
303
|
5. Create a new Pull Request
|
293
304
|
|
294
|
-
|
295
|
-
[
|
296
|
-
[Middleman docs]: http://middlemanapp.com/basics/getting-started/
|
305
|
+
[middleman]: http://middlemanapp.com/
|
306
|
+
[middleman docs]: http://middlemanapp.com/basics/getting-started/
|
297
307
|
[middleman-syntax]: http://github.com/middleman/middleman-syntax/
|
@@ -69,10 +69,15 @@ class Middleman::HashiCorp::RedcarpetHTML < ::Middleman::Renderers::MiddlemanRed
|
|
69
69
|
|
70
70
|
if md = raw.match(/\<(.+?)\>(.*)\<(\/.+?)\>/m)
|
71
71
|
open_tag, content, close_tag = md.captures
|
72
|
-
|
73
|
-
|
74
|
-
|
72
|
+
rendered_content = recursive_render(content)
|
73
|
+
# If the recursive render did more than simply wrap
|
74
|
+
# the content within a paragraph, assume this is valid
|
75
|
+
# markdown content and return the result
|
76
|
+
if rendered_content != paragraph(content)
|
77
|
+
return "<#{open_tag}>\n#{rendered_content}<#{close_tag}>"
|
78
|
+
end
|
75
79
|
end
|
80
|
+
raw
|
76
81
|
end
|
77
82
|
|
78
83
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: middleman-hashicorp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.37
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Seth Vargo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: middleman
|