bookends 0.6.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +3 -0
- data/README.md +28 -24
- data/Rakefile +7 -3
- data/bin/bookends +5 -0
- data/bookends.gemspec +5 -2
- data/fixtures/dummy-jekyll/README.md +64 -0
- data/fixtures/dummy-jekyll/_config.yml +8 -0
- data/fixtures/dummy-jekyll/_layouts/default.html +118 -0
- data/fixtures/dummy-jekyll/_layouts/post.html +14 -0
- data/fixtures/dummy-jekyll/_sass/_base.scss +478 -0
- data/fixtures/dummy-jekyll/_sass/_google-cse.scss +372 -0
- data/fixtures/dummy-jekyll/_sass/_header.scss +780 -0
- data/fixtures/dummy-jekyll/_sass/_legacy.scss +567 -0
- data/fixtures/dummy-jekyll/_sass/_menu-icon.scss +68 -0
- data/fixtures/dummy-jekyll/_sass/_mixins.scss +12 -0
- data/fixtures/dummy-jekyll/_sass/_search.scss +51 -0
- data/{lib/generators/bookends/install/templates/footer.scss → fixtures/dummy-jekyll/_sass/bookends/_footer.scss} +0 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_background-image.scss +48 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_border-radius.scss +22 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_box-sizing.scss +4 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_hide-text.scss +5 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_hidpi.scss +10 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_linear-gradient.scss +41 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_prefixer.scss +49 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_responsiveness.scss +129 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_retina-image.scss +31 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_size.scss +44 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_transition.scss +34 -0
- data/fixtures/dummy-jekyll/_sass/mixins/_triangle.scss +45 -0
- data/fixtures/dummy-jekyll/app.json +15 -0
- data/fixtures/dummy-jekyll/bin/from-gdoc +3 -0
- data/fixtures/dummy-jekyll/bin/platform-setup +15 -0
- data/fixtures/dummy-jekyll/feed.xml +34 -0
- data/fixtures/dummy-jekyll/index.html +40 -0
- data/fixtures/dummy-jekyll/static.json +3 -0
- data/fixtures/dummy-rails/README.md +9 -0
- data/fixtures/dummy-rails/Rakefile +6 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-book.eot +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-book.svg +400 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-book.ttf +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-book.woff +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-medium.eot +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-medium.svg +416 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-medium.ttf +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-medium.woff +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-regular.eot +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-regular.svg +416 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-regular.ttf +0 -0
- data/fixtures/dummy-rails/app/assets/fonts/bentonsans-regular.woff +0 -0
- data/fixtures/dummy-rails/app/assets/images/.keep +0 -0
- data/{lib/generators/bookends/install/templates/footer_images → fixtures/dummy-rails/app/assets/images/bookends/footer}/footer_sprite.png +0 -0
- data/{lib/generators/bookends/install/templates/footer_images → fixtures/dummy-rails/app/assets/images/bookends/footer}/footer_sprite@2x.png +0 -0
- data/{lib/generators/bookends/install/templates/footer_images → fixtures/dummy-rails/app/assets/images/bookends/footer}/salesforce_heroku_gray.png +0 -0
- data/fixtures/dummy-rails/app/assets/javascripts/application.js +15 -0
- data/fixtures/dummy-rails/app/assets/stylesheets/application.css.scss +11 -0
- data/fixtures/dummy-rails/app/controllers/application_controller.rb +5 -0
- data/fixtures/dummy-rails/app/controllers/concerns/.keep +0 -0
- data/fixtures/dummy-rails/app/controllers/pages_controller.rb +5 -0
- data/fixtures/dummy-rails/app/helpers/application_helper.rb +2 -0
- data/fixtures/dummy-rails/app/mailers/.keep +0 -0
- data/fixtures/dummy-rails/app/models/.keep +0 -0
- data/fixtures/dummy-rails/app/models/concerns/.keep +0 -0
- data/fixtures/dummy-rails/app/views/layouts/application.html.erb +16 -0
- data/fixtures/dummy-rails/app/views/pages/home.html.erb +1 -0
- data/fixtures/dummy-rails/bin/bundle +3 -0
- data/fixtures/dummy-rails/bin/rails +4 -0
- data/fixtures/dummy-rails/bin/rake +4 -0
- data/fixtures/dummy-rails/bin/setup +29 -0
- data/fixtures/dummy-rails/config/application.rb +34 -0
- data/fixtures/dummy-rails/config/boot.rb +5 -0
- data/fixtures/dummy-rails/config/database.yml +25 -0
- data/fixtures/dummy-rails/config/environment.rb +5 -0
- data/fixtures/dummy-rails/config/environments/development.rb +41 -0
- data/fixtures/dummy-rails/config/environments/production.rb +79 -0
- data/fixtures/dummy-rails/config/environments/test.rb +42 -0
- data/fixtures/dummy-rails/config/initializers/assets.rb +11 -0
- data/fixtures/dummy-rails/config/initializers/backtrace_silencers.rb +7 -0
- data/fixtures/dummy-rails/config/initializers/cookies_serializer.rb +3 -0
- data/fixtures/dummy-rails/config/initializers/filter_parameter_logging.rb +4 -0
- data/fixtures/dummy-rails/config/initializers/inflections.rb +16 -0
- data/fixtures/dummy-rails/config/initializers/mime_types.rb +4 -0
- data/fixtures/dummy-rails/config/initializers/session_store.rb +3 -0
- data/fixtures/dummy-rails/config/initializers/wrap_parameters.rb +14 -0
- data/fixtures/dummy-rails/config/locales/en.yml +23 -0
- data/fixtures/dummy-rails/config/routes.rb +6 -0
- data/fixtures/dummy-rails/config/secrets.yml +22 -0
- data/fixtures/dummy-rails/config.ru +4 -0
- data/fixtures/dummy-rails/db/development.sqlite3 +0 -0
- data/fixtures/dummy-rails/lib/assets/.keep +0 -0
- data/fixtures/dummy-rails/log/.keep +0 -0
- data/fixtures/dummy-rails/log/development.log +1893 -0
- data/fixtures/dummy-rails/public/404.html +67 -0
- data/fixtures/dummy-rails/public/422.html +67 -0
- data/fixtures/dummy-rails/public/500.html +66 -0
- data/fixtures/dummy-rails/public/favicon.ico +0 -0
- data/lib/bookends/cli.rb +88 -0
- data/lib/bookends/config/framework.rb +24 -0
- data/lib/bookends/config/turbolinks.rb +18 -0
- data/lib/bookends/file_actions.rb +13 -0
- data/lib/bookends/jekyll_handler.rb +21 -0
- data/lib/bookends/rails_handler.rb +30 -0
- data/lib/{generators/bookends/install/templates/footer.html.erb → bookends/templates/footer.html} +18 -18
- data/lib/bookends/templates/footer.scss +403 -0
- data/lib/bookends/templates/footer_images/footer_sprite.png +0 -0
- data/lib/bookends/templates/footer_images/footer_sprite@2x.png +0 -0
- data/lib/bookends/templates/footer_images/salesforce.png +0 -0
- data/lib/bookends/templates/newsletter-init-turbolinks.js +6 -0
- data/lib/bookends/templates/newsletter-init.js +6 -0
- data/lib/{generators/bookends/install → bookends}/templates/newsletter.js +0 -4
- data/lib/bookends/version.rb +1 -1
- data/lib/bookends.rb +1 -1
- metadata +138 -11
- data/lib/generators/bookends/install/install_generator.rb +0 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 155c86552c822026db6fc2df938b995f7b18eb78
|
|
4
|
+
data.tar.gz: 0cbdea32aa3fe30b3621e103006ac74e3e5c9ba9
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: a863a62527004f7a9195c10d2cdc6b7a7e7cffc4948f6a8c30d8ef05096965261c94c8ae4a0917ef25f4335b13343cda6ec79ca40d388fd8ca33e6fa43e5b653
|
|
7
|
+
data.tar.gz: 4f21b39d2ef8a6c34442350f7104962787bf6420601d0ee3417e54a6ddbb5a775222f957c59bf665b1def240cc7c9f989d86c012367b9aa02bc7b4a9f6303d74
|
data/.gitignore
CHANGED
data/README.md
CHANGED
|
@@ -10,7 +10,7 @@ Bookends assumes the presence of:
|
|
|
10
10
|
Add this line to your application's Gemfile:
|
|
11
11
|
|
|
12
12
|
```ruby
|
|
13
|
-
gem 'bookends'
|
|
13
|
+
gem 'bookends', group: :development
|
|
14
14
|
```
|
|
15
15
|
|
|
16
16
|
And then execute:
|
|
@@ -19,17 +19,22 @@ And then execute:
|
|
|
19
19
|
|
|
20
20
|
## Usage
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
$ bookends install
|
|
23
|
+
|
|
24
|
+
## Sites using bookends
|
|
25
|
+
Please make sure the owners of the following properties are apprised of changes
|
|
26
|
+
to bookends:
|
|
27
|
+
|
|
28
|
+
* [www](https://github.com/heroku/www)
|
|
29
|
+
* [blog](https://github.com/heroku/blog)
|
|
30
|
+
* [engineering](https://github.com/heroku/engineering)
|
|
31
|
+
* [elements](https://github.com/heroku/elements)
|
|
27
32
|
|
|
28
33
|
## Development
|
|
29
34
|
|
|
30
35
|
### Spin up
|
|
31
36
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run
|
|
32
|
-
`rake
|
|
37
|
+
`rake` to run the tests.
|
|
33
38
|
|
|
34
39
|
### Install and release
|
|
35
40
|
To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
@@ -40,24 +45,23 @@ git commits and tags, and push the `.gem` file to
|
|
|
40
45
|
|
|
41
46
|
See all rake tasks with `rake -T`
|
|
42
47
|
|
|
43
|
-
### Working on the gem
|
|
44
|
-
```
|
|
45
|
-
$ cd spec/dummy
|
|
46
|
-
$ rails s
|
|
47
|
-
$ open http://localhost:3000
|
|
48
|
-
```
|
|
49
|
-
From there you can edit the files in
|
|
50
|
-
`lib/generators/bookends/install/templates`. Note that images will have to be
|
|
51
|
-
copied over to the dummy app in `/spec`. Also note
|
|
52
|
-
`spec/dummy/config/application.rb` adds directories from lib into the dummy
|
|
53
|
-
app's load path. Add more directories as needed.
|
|
54
|
-
|
|
55
48
|
### Testing it in an app locally
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
49
|
+
#### Rails version
|
|
50
|
+
1. `gem 'bookends', path: 'path/to/local/copy` in the Rails application's Gemfile
|
|
51
|
+
2. `bundle install` from the Rails application
|
|
52
|
+
3. `bookends install` from the Rails application
|
|
53
|
+
4. boot up the Rails application
|
|
54
|
+
5. If you make changes to Bookends's templates, make sure to run the installer from step 3.
|
|
55
|
+
|
|
56
|
+
#### Jekyll version
|
|
57
|
+
1. `gem install bookends --local ../bookends/pkg/bookends-<latest_pkg>` from the
|
|
58
|
+
root of the Jekyll project.
|
|
59
|
+
* Run `rake build` from bookends if there are no `*.gem` files in
|
|
60
|
+
`bookends/pkg/`
|
|
61
|
+
2. `bundle install` from the Jekyll application
|
|
62
|
+
3. `bookends install` from the Jekyll application
|
|
63
|
+
4. boot up the Jekyll application
|
|
64
|
+
5. If you make changes to Bookends's templates, make sure to run the installer from step 3.
|
|
61
65
|
|
|
62
66
|
## Contributing
|
|
63
67
|
|
data/Rakefile
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
require "bundler/gem_tasks"
|
|
2
|
-
require
|
|
2
|
+
require 'rubygems'
|
|
3
|
+
require 'cucumber'
|
|
4
|
+
require 'cucumber/rake/task'
|
|
3
5
|
|
|
4
|
-
|
|
6
|
+
Cucumber::Rake::Task.new(:features) do |t|
|
|
7
|
+
t.cucumber_opts = "features --format pretty"
|
|
8
|
+
end
|
|
5
9
|
|
|
6
|
-
task :default => :
|
|
10
|
+
task :default => :features
|
data/bin/bookends
ADDED
data/bookends.gemspec
CHANGED
|
@@ -14,10 +14,12 @@ Gem::Specification.new do |spec|
|
|
|
14
14
|
spec.homepage = "https://www.heroku.com"
|
|
15
15
|
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
17
|
-
spec.bindir = "
|
|
18
|
-
spec.executables =
|
|
17
|
+
spec.bindir = "bin"
|
|
18
|
+
spec.executables = %w(bookends)
|
|
19
19
|
spec.require_paths = ["lib"]
|
|
20
20
|
|
|
21
|
+
spec.add_runtime_dependency "thor", "~> 0.19"
|
|
22
|
+
|
|
21
23
|
spec.add_development_dependency "rails", ">= 3.2.22"
|
|
22
24
|
spec.add_development_dependency "sass-rails"
|
|
23
25
|
spec.add_development_dependency "bundler", "~> 1.10"
|
|
@@ -25,4 +27,5 @@ Gem::Specification.new do |spec|
|
|
|
25
27
|
spec.add_development_dependency "rspec"
|
|
26
28
|
spec.add_development_dependency "sqlite3"
|
|
27
29
|
spec.add_development_dependency "jquery-rails"
|
|
30
|
+
spec.add_development_dependency "aruba", "~> 0.11"
|
|
28
31
|
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# Writing a post
|
|
2
|
+
|
|
3
|
+
As much or as little support as you'd like is available in writing a post. If you prefer less support in writing a post you can begin with simply an idea. To begin to with an idea visit the [Trello board](https://trello.com/b/KkLCAvMg/engineering-blog) and add your idea there. From there you can get support to work on an outline and draft and test it as we prepare to ship.
|
|
4
|
+
|
|
5
|
+
If you already have a concrete idea and simply are ready to ship it. Then:
|
|
6
|
+
|
|
7
|
+
1. Prep it to post as described below
|
|
8
|
+
1. Add it to the [Trello board](https://trello.com/b/5tmlTvpy/engineering-blog) as a draft, and mentioned craig
|
|
9
|
+
1. Include appropriate details of whose seen it and what feedback you've gotten.
|
|
10
|
+
|
|
11
|
+
# Prepping a post for publishing
|
|
12
|
+
|
|
13
|
+
1. Clone this repo
|
|
14
|
+
1. Create a new branch
|
|
15
|
+
1. Add your post to `_posts`. It should be a [markdown](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet) file.
|
|
16
|
+
Name the file with the date YYYY-MM-DD at the front, and with the '.md' extension.
|
|
17
|
+
1. Run `jekyll serve` and preview your post.
|
|
18
|
+
1. Push your branch to github and submit a PR.
|
|
19
|
+
1. Craig will review and publish.
|
|
20
|
+
|
|
21
|
+
### Local Setup and Editing
|
|
22
|
+
|
|
23
|
+
```console
|
|
24
|
+
$ gem install jekyll
|
|
25
|
+
$ jekyll serve
|
|
26
|
+
$ open http://127.0.0.1:4000
|
|
27
|
+
$ mate public
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
Use `from-gdoc` if pasting from a Google Doc:
|
|
31
|
+
|
|
32
|
+
```console
|
|
33
|
+
$ paste | bin/from-gdoc > _posts/2014-05-my-slug.md
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
### Platform Setup
|
|
37
|
+
|
|
38
|
+
```console
|
|
39
|
+
$ export DEPLOY=... # production/staging/you
|
|
40
|
+
$ bin/platform-setup
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### Updating Syntax Highlighting Assets
|
|
44
|
+
|
|
45
|
+
Select the the relevant items from the
|
|
46
|
+
[Prism](http://prismjs.com/download.html) site and update
|
|
47
|
+
`assets/prism.{js,css}` accordingly.
|
|
48
|
+
|
|
49
|
+
#### Prism lanaguge support selections
|
|
50
|
+
* markup
|
|
51
|
+
* css
|
|
52
|
+
* clike
|
|
53
|
+
* ruby
|
|
54
|
+
* docker
|
|
55
|
+
* elixir
|
|
56
|
+
* erlang
|
|
57
|
+
* git
|
|
58
|
+
* go
|
|
59
|
+
* java
|
|
60
|
+
* php
|
|
61
|
+
* python
|
|
62
|
+
* scss
|
|
63
|
+
* sql
|
|
64
|
+
* yaml
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
{% include head.html %}
|
|
4
|
+
|
|
5
|
+
<body>
|
|
6
|
+
{% if site.google_tag_manager_account != '' %}
|
|
7
|
+
<noscript><iframe src="//www.googletagmanager.com/ns.html?id={{ site.google_tag_manager_account }}">
|
|
8
|
+
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
|
|
9
|
+
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
|
|
10
|
+
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
|
|
11
|
+
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
|
|
12
|
+
'//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
|
|
13
|
+
})(window,document,'script','dataLayer','{{ site.google_tag_manager_account }}');</script>
|
|
14
|
+
{% endif %}
|
|
15
|
+
|
|
16
|
+
<header id="header">
|
|
17
|
+
<div id="navigation" role="navigation">
|
|
18
|
+
<span class="mobile-nav">
|
|
19
|
+
Show nav
|
|
20
|
+
<span></span>
|
|
21
|
+
<span></span>
|
|
22
|
+
<span></span>
|
|
23
|
+
<span></span>
|
|
24
|
+
</span>
|
|
25
|
+
|
|
26
|
+
<div class="wrapper wrapper-full">
|
|
27
|
+
<h1 id="logo">
|
|
28
|
+
<a href="https://www.heroku.com/home">Heroku</a>
|
|
29
|
+
</h1>
|
|
30
|
+
|
|
31
|
+
<div class="nav-wrapper">
|
|
32
|
+
|
|
33
|
+
<ul class="main-nav">
|
|
34
|
+
<li class="has-dropdown">
|
|
35
|
+
<a href="https://www.heroku.com/platform">Products</a>
|
|
36
|
+
<ul class="dropdown">
|
|
37
|
+
<li><a href="https://www.heroku.com/platform" class="platform">Heroku Platform</a></li>
|
|
38
|
+
<li><a href="https://www.heroku.com/postgres" class="postgres">Heroku Postgres</a></li>
|
|
39
|
+
<li><a href="https://www.heroku.com/redis" class="redis">Heroku Redis</a></li>
|
|
40
|
+
<li><a href="https://www.heroku.com/connect" class="connect">Heroku Connect</a></li>
|
|
41
|
+
<li><a href="https://www.heroku.com/enterprise" class="enterprise">Heroku Enterprise</a></li>
|
|
42
|
+
</ul>
|
|
43
|
+
</li>
|
|
44
|
+
<li class="has-dropdown">
|
|
45
|
+
<a href="https://elements.heroku.com/">Elements</a>
|
|
46
|
+
<ul class="dropdown">
|
|
47
|
+
<li><a href="https://elements.heroku.com/addons" class="addons">Add-ons</a></li>
|
|
48
|
+
<li><a href="https://elements.heroku.com/buttons" class="buttons">Buttons</a></li>
|
|
49
|
+
<li><a href="https://elements.heroku.com/buildpacks" class="buildpacks">Buildpacks</a></li>
|
|
50
|
+
</ul>
|
|
51
|
+
</li>
|
|
52
|
+
<li><a href="https://www.heroku.com/pricing">Pricing</a></li>
|
|
53
|
+
<li><a href="https://devcenter.heroku.com">Documentation</a></li>
|
|
54
|
+
<li><a href="https://www.heroku.com/support">Support</a></li>
|
|
55
|
+
|
|
56
|
+
<li class="has-dropdown">
|
|
57
|
+
<a href="#" class="more">More</a>
|
|
58
|
+
<div class="dropdown more">
|
|
59
|
+
<section class="more-resources">
|
|
60
|
+
<span class="more-title">Additional Resources</span>
|
|
61
|
+
<ul>
|
|
62
|
+
<li><a href="https://www.heroku.com/what">What is Heroku?</a></li>
|
|
63
|
+
<li><a href="https://www.heroku.com/help">Help Center</a></li>
|
|
64
|
+
<li><a href="https://www.heroku.com/customers">Customers</a></li>
|
|
65
|
+
<li><a href="https://www.heroku.com/careers">Careers</a></li>
|
|
66
|
+
</ul>
|
|
67
|
+
</section>
|
|
68
|
+
<section class="more-languages">
|
|
69
|
+
<span class="more-title">Languages</span>
|
|
70
|
+
<ul>
|
|
71
|
+
<li><a href="https://www.heroku.com/node">Node</a></li>
|
|
72
|
+
<li><a href="https://www.heroku.com/ruby">Ruby</a></li>
|
|
73
|
+
<li><a href="https://www.heroku.com/java">Java</a></li>
|
|
74
|
+
<li><a href="https://www.heroku.com/php">PHP</a></li>
|
|
75
|
+
<li><a href="https://www.heroku.com/python">Python</a></li>
|
|
76
|
+
<li><a href="https://www.heroku.com/go">Go</a></li>
|
|
77
|
+
<li><a href="https://www.heroku.com/scala">Scala</a></li>
|
|
78
|
+
<li><a href="https://www.heroku.com/clojure">Clojure</a></li>
|
|
79
|
+
</ul>
|
|
80
|
+
</section>
|
|
81
|
+
<section id="more-blog" class="more-blog">
|
|
82
|
+
<span class="more-title">Heroku Blog</span>
|
|
83
|
+
<h3><a class="js-blog-link" href="https://blog.heroku.com">Heroku Blog</a></h3>
|
|
84
|
+
<p class="js-blog-date"></p>
|
|
85
|
+
<p class="js-blog-content">Find out what's new with Heroku on our blog.</p>
|
|
86
|
+
<a href="https://blog.heroku.com" class="button btn-default btn-sm btn-inline">Visit Blog</a>
|
|
87
|
+
</section>
|
|
88
|
+
</div>
|
|
89
|
+
</li>
|
|
90
|
+
</ul>
|
|
91
|
+
|
|
92
|
+
<ul class="tool-nav">
|
|
93
|
+
<li>
|
|
94
|
+
<form action="https://blog.heroku.com/search" class="site-search" id="site-search" method="get">
|
|
95
|
+
<div class="gsc-input">
|
|
96
|
+
<input name="utf8" type="hidden" value="✓">
|
|
97
|
+
<input autocomplete="off" type="text" name="q" title="search" class="gsc-input" style="width: 100%; padding: 0px; border: none; margin: -0.0625em 0px 0px; height: 1.25em; outline: none;" dir="ltr" spellcheck="false">
|
|
98
|
+
<span class="gsc-search-button">
|
|
99
|
+
<input type="submit" class="search-button">
|
|
100
|
+
</span>
|
|
101
|
+
</div>
|
|
102
|
+
</form>
|
|
103
|
+
</li>
|
|
104
|
+
</ul>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</header>
|
|
109
|
+
|
|
110
|
+
<div class="container-fluid">
|
|
111
|
+
{{ content }}
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
{% include bookends/footer.html %}
|
|
115
|
+
{% include body-close.html %}
|
|
116
|
+
</body>
|
|
117
|
+
|
|
118
|
+
</html>
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
layout: default
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<h1>{{ page.title }}</h1>
|
|
6
|
+
<div class="byline">
|
|
7
|
+
{{ page.date | date: "%B %-d, %Y" }}
|
|
8
|
+
|
|
9
|
+
{% if page.author_name %}
|
|
10
|
+
by <address class="author"><a rel="author" href="{{ page.author_url }}">{{ page.author_name }}</a></address>
|
|
11
|
+
{% endif %}
|
|
12
|
+
</div>
|
|
13
|
+
|
|
14
|
+
{{ content }}
|