jalpha 0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 460f98590528e8f9b0e3567b4407c8fcde7ffb11
4
+ data.tar.gz: 106b63a87c4aca745ef33092a205b0e214db9eeb
5
+ SHA512:
6
+ metadata.gz: 46e638556367a3d8fb61f2f480cbbd9fbb4f7e4ce63f01b71750c1347feb29a72fed5c58c40a2e5ff344fcfe3a65db86c2f98b0772d92e82230d797fa7c573c0
7
+ data.tar.gz: 5acd8e3a0cfa2c8bbea45d743c1c12b517c6521f40afc0e7e6b88f9df67517d52a060f84a3b95814753e2562da23d0fc6e62553cb6cfd05fa52e0869a78e660f
data/.gitignore ADDED
@@ -0,0 +1,15 @@
1
+ /.asset-cache/
2
+ /.bundle/
3
+ /.yardoc
4
+ /Gemfile.lock
5
+ /_site/
6
+ /_vendor/
7
+ /_yardoc/
8
+ /coverage/
9
+ /doc/
10
+ /pkg/
11
+ /spec/reports/
12
+ /tmp/
13
+ *.DS_Store
14
+ *.sass-cache
15
+ *.gem
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "https://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in jalpha.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,48 @@
1
+ # Jalpha
2
+
3
+ Jalpha generates a new Jekyll project packed with everything you should need to get started on your examplar's Alpha. This allows you to concentrate on your project from day one.
4
+
5
+ ## What do you get
6
+
7
+ - [Jekyll](https://jekyllrb.com/)
8
+ - [Jekyll assets](https://github.com/jekyll/jekyll-assets)
9
+ - [Jekyll Sitemap](https://github.com/jekyll/jekyll-sitemap)
10
+ - [Autoprefixer](https://github.com/postcss/autoprefixer)
11
+ - [Bower](http://bower.io/)
12
+ - [Html-proofer](https://github.com/gjtorikian/html-proofer)
13
+ - [HTML5 Boilerplate](https://html5boilerplate.com/) (Influenced by)
14
+ - [Circle CI](https://circleci.com/)
15
+ - [Cloudfoundry manifest.yml](https://www.cloudfoundry.org/)
16
+ - setup for multibranch continual deployment to a cloudfoundry platform
17
+
18
+ ## Installation
19
+
20
+ Install the gem:
21
+
22
+ gem install jalpha
23
+
24
+ Execute gem and generate a new project:
25
+
26
+ jalpha new site_name
27
+
28
+ Setup your environment:
29
+
30
+ bin/setup
31
+
32
+ ## Bugs
33
+
34
+ If you have found a bug please report it in [GitHub issues](https://github.com/AusDTO/jalpha/issues).
35
+
36
+ ## License
37
+
38
+ MIT License
39
+
40
+ ## Contributing
41
+
42
+ 1. Fork it
43
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
44
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
45
+ 4. Push to the branch (`git push origin my-new-feature`)
46
+ 5. Create a new Pull Request
47
+
48
+ Big thanks to [@nielsenramon](https://github.com/nielsenramon) for https://github.com/nielsenramon/kickster
data/Rakefile ADDED
@@ -0,0 +1,3 @@
1
+ # encoding: utf-8
2
+ require "rubygems"
3
+ require "bundler/gem_tasks"
data/bin/jalpha ADDED
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + "/../lib/jalpha.rb"
4
+ Jalpha::Generator.start
data/circle.yml ADDED
@@ -0,0 +1,16 @@
1
+ machine:
2
+ ruby:
3
+ version: 2.3.1
4
+
5
+ dependencies:
6
+ pre:
7
+ - gem build jalpha.gemspec
8
+ - gem install jalpha
9
+
10
+ test:
11
+ override:
12
+ - jalpha new test
13
+ - ls -al
14
+ - cd test && bin/setup
15
+ - cd test && bundle exec jekyll build
16
+ - cd test && bundle exec htmlproofer ./_site --allow-hash-href
data/jalpha.gemspec ADDED
@@ -0,0 +1,21 @@
1
+ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
2
+ require "jalpha/version"
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "jalpha"
6
+ spec.version = Jalpha::VERSION
7
+ spec.platform = Gem::Platform::RUBY
8
+ spec.author = "Mick Pollard"
9
+ spec.summary = "Opinionated Jekyll project generator."
10
+ spec.description = "Jalpha scaffolds new Jekyll projects complete with everything needed for continual deployment to a cloud foundry platform."
11
+ spec.email = "mick.pollard@digital.gov.au"
12
+ spec.license = "MIT"
13
+
14
+ spec.files = `git ls-files`.split("\n")
15
+ spec.executables = `git ls-files -- bin/*`.split("\n").map { |f| File.basename(f) }
16
+ spec.require_paths = ['lib']
17
+
18
+ spec.add_runtime_dependency("thor", "~> 0")
19
+ spec.add_development_dependency "bundler", "~> 1.8"
20
+ spec.add_development_dependency "rake", "~> 10.0"
21
+ end
data/lib/jalpha.rb ADDED
@@ -0,0 +1,3 @@
1
+ require_relative "jalpha/version"
2
+ require_relative "jalpha/install"
3
+ require_relative "jalpha/generator"
@@ -0,0 +1,16 @@
1
+ require "thor"
2
+
3
+ module Jalpha
4
+ class Generator < Thor
5
+ include Thor::Actions
6
+
7
+ map ["-v", "--version"] => :version
8
+
9
+ desc "version", "Show Jalpha version"
10
+ def version
11
+ say "Jalpha #{Jalpha::VERSION}"
12
+ end
13
+
14
+ register(Jalpha::Install, "new", "new", "Create new folder with the Jalpha template")
15
+ end
16
+ end
@@ -0,0 +1,46 @@
1
+ require "thor"
2
+
3
+ module Jalpha
4
+ class Install < Thor::Group
5
+ include Thor::Actions
6
+
7
+ argument :name
8
+ class_options force: :boolean
9
+
10
+ def self.source_root
11
+ File.expand_path("../../../template", __FILE__)
12
+ end
13
+
14
+ def name_components
15
+ @_name_components ||= name.scan(/[[:alnum:]]+/)
16
+ end
17
+
18
+ def snake_name
19
+ @_snake_name = name_components.map(&:downcase).join("_")
20
+ end
21
+
22
+ def camel_name
23
+ @_camel_name = name_components.map(&:capitalize).join("")
24
+ end
25
+
26
+ def check_if_exists?
27
+ if File.directory?(snake_name) && !options[:force]
28
+ say "Folder already exist, use --force to overwrite.", :red
29
+ exit 1
30
+ end
31
+ end
32
+
33
+ def copy_templates
34
+ directory("./", "./#{snake_name}")
35
+ end
36
+
37
+ def grant_permissions
38
+ chmod "./#{snake_name}/bin/cideploy.sh", 0755
39
+ chmod "./#{snake_name}/bin/setup", 0755
40
+ end
41
+
42
+ def report_success
43
+ say "Jalpha template folder successfully created!", :green
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,3 @@
1
+ module Jalpha
2
+ VERSION = "0.1"
3
+ end
data/template/.bowerrc ADDED
@@ -0,0 +1,3 @@
1
+ {
2
+ "directory": "_vendor"
3
+ }
@@ -0,0 +1,6 @@
1
+ !.keep
2
+ *.DS_Store
3
+ *.sass-cache
4
+ /.asset-cache/*
5
+ /_site/*
6
+ /_vendor/*
@@ -0,0 +1 @@
1
+ 2.3.1
data/template/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "autoprefixer-rails"
4
+ gem "html-proofer"
5
+ gem "jekyll"
6
+ gem "jekyll-assets"
7
+ gem "jekyll-sitemap"
8
+ gem "sass"
9
+ gem "uglifier"
@@ -0,0 +1,23 @@
1
+ # <%= camel_name %>
2
+
3
+ ## Installation
4
+
5
+ Setup your environment:
6
+
7
+ bin/setup
8
+
9
+ ## Development
10
+
11
+ Run Jekyll:
12
+
13
+ bundle exec jekyll serve --watch
14
+
15
+ Used tools:
16
+ - [Autoprefixer](https://github.com/postcss/autoprefixer)
17
+ - [Bower](http://bower.io/)
18
+ - [Circle CI](https://circleci.com/)
19
+ - [Html-proofer](https://github.com/gjtorikian/html-proofer)
20
+ - [Jekyll](http://jekyllrb.com/)
21
+ - [Jekyll assets](https://github.com/jekyll/jekyll-assets)
22
+ - [Jekyll Sitemap](https://github.com/jekyll/jekyll-sitemap)
23
+ - [HTML5 Boilerplate](https://html5boilerplate.com/) (Influenced by)
File without changes
@@ -0,0 +1 @@
1
+ //= require_self
@@ -0,0 +1 @@
1
+ //= require jquery/dist/jquery
File without changes
@@ -0,0 +1,32 @@
1
+ assets:
2
+ sources:
3
+ - _assets/fonts
4
+ - _assets/images
5
+ - _assets/javascripts
6
+ - _assets/stylesheets
7
+ - _vendor/
8
+
9
+ baseurl: /
10
+
11
+ exclude:
12
+ - .bowerrc
13
+ - .travis.yml
14
+ - bin/*
15
+ - bower.json
16
+ - circle.yml
17
+ - Gemfile
18
+ - Gemfile.lock
19
+ - README.md
20
+ - vendor/
21
+
22
+ ga_analytics: UA-XXXXXXXX-X
23
+
24
+ gems:
25
+ - jekyll-assets
26
+ - jekyll-sitemap
27
+
28
+ name: <%= snake_name %>
29
+
30
+ permalink: pretty
31
+
32
+ url: # add site url
File without changes
File without changes
@@ -0,0 +1,45 @@
1
+ <!doctype html>
2
+ <html lang="">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="x-ua-compatible" content="ie=edge">
6
+ <title>{{ site.name }} | {{ page.title }}</title>
7
+ <meta name="description" content="{{ page.description }}">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+
10
+ <meta property="og:title" content="{{ page.title }}">
11
+ <meta property="og:url" content="{{ site.url }}">
12
+ <meta property="og:description" content="{{ page.description }}">
13
+ <meta property="og:site_name" content="{{ site.name }}">
14
+ <meta property="og:image" content="{% asset_path og-image.jpg %}">
15
+
16
+ <meta name="twitter:card" content="summary">
17
+ <meta name="twitter:url" content="{{ site.url }}">
18
+ <meta name="twitter:title" content="{{ page.title }}">
19
+ <meta name="twitter:description" content="{{ page.description }}">
20
+ <meta name="twitter:image" content="{% asset_path og-image.jpg %}">
21
+
22
+ <link rel="apple-touch-icon" href="{% asset_path apple-touch-icon.png %}">
23
+
24
+ {% stylesheet application %}
25
+ </head>
26
+ <body>
27
+ <!--[if lt IE 8]>
28
+ <p class="browserupgrade">You are using an <strong>outdated</strong>
29
+ browser. Please <a href="http://browsehappy.com/">upgrade your browser</a>
30
+ to improve your experience.</p>
31
+ <![endif]-->
32
+
33
+ <main role="main">
34
+ {{ content }}
35
+ </main>
36
+
37
+ {% javascript vendor %}
38
+ {% javascript application %}
39
+
40
+ <script>
41
+ window.ga=function(){ga.q.push(arguments)};ga.q=[];ga.l=+new Date;
42
+ ga('create','{{ site.ga_analytics }}','auto');ga('send','pageview')
43
+ </script>
44
+ </body>
45
+ </html>
@@ -0,0 +1,42 @@
1
+ !/usr/bin/env bash
2
+
3
+ # Exit immediately if there is an error
4
+ set -e
5
+
6
+ # cause a pipeline (for example, curl -s http://sipb.mit.edu/ | grep foo) to produce a failure return code if any command errors not just the last command of the pipeline.
7
+ set -o pipefail
8
+
9
+ # setup basic auth on the container
10
+ #
11
+ basicauth() {
12
+ if [[ -n ${CF_BASIC_AUTH_PASSWORD+x} ]]
13
+ then
14
+ htpasswd -cb site/Staticfile.auth $CF_BASIC_AUTH_USERNAME $CF_BASIC_AUTH_PASSWORD
15
+ else
16
+ echo "Not setting a password."
17
+ fi
18
+ }
19
+
20
+ # main script function
21
+ #
22
+ main() {
23
+ readonly GITBRANCH="${CIRCLE_BRANCH}"
24
+
25
+ case "${GITBRANCH}" in
26
+ master)
27
+ appname="${CIRCLE_PROJECT_REPONAME}"
28
+ ;;
29
+ *)
30
+ appname="${CIRCLE_PROJECT_REPONAME}-${GITBRANCH}"
31
+ ;;
32
+ esac
33
+
34
+ basicauth
35
+ cf api $CF_API
36
+ cf auth $CF_USER $CF_PASSWORD
37
+ cf target -o $CF_ORG
38
+ cf target -s $CF_SPACE
39
+ cf push $appname
40
+ }
41
+
42
+ main $@
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env sh
2
+
3
+ # Set up Jekyll site. Run this script immediately after cloning the codebase.
4
+ # https://github.com/thoughtbot/guides/tree/master/protocol
5
+
6
+ # Exit if any subcommand fails
7
+ set -e
8
+
9
+ # Set up Ruby dependencies via Bundler.
10
+ gem install bundler --conservative
11
+ bundle check || bundle install
12
+ bundle update
13
+
14
+ # Set up JS dependencies via Bower.
15
+ bower --version > /dev/null || npm install -g bower
16
+ bower install
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "<%= snake_name %>",
3
+ "dependencies": {
4
+ "jquery": "~2.2.3"
5
+ }
6
+ }
@@ -0,0 +1,23 @@
1
+ machine:
2
+ ruby:
3
+ version: 2.3.1
4
+ post:
5
+ - "curl -v -L -o cf-cli_amd64.deb 'https://cli.run.pivotal.io/stable?release=debian64&version=6.18.1&source=github-rel'"
6
+ - sudo dpkg -i cf-cli_amd64.deb
7
+ - cf -v
8
+
9
+ dependencies:
10
+ override:
11
+ - ./bin/setup
12
+
13
+ test:
14
+ override:
15
+ - bundle exec jekyll hyde
16
+ - bundle exec jekyll build
17
+ - bundle exec htmlproofer ./_site --allow-hash-href
18
+
19
+ deployment:
20
+ alpha:
21
+ branch: /.*/
22
+ commands:
23
+ - ./bin/cideploy.sh
Binary file
@@ -0,0 +1,5 @@
1
+ ---
2
+ layout: default
3
+ title: ""
4
+ description: ""
5
+ ---
@@ -0,0 +1,7 @@
1
+ ---
2
+
3
+ path: _site/
4
+ instances: 1
5
+ memory: 64M
6
+ disk_quota: 256M
7
+ buildpack: staticfile_buildpack
@@ -0,0 +1,5 @@
1
+ # www.robotstxt.org/
2
+
3
+ # Allow crawling of all content
4
+ User-agent: *
5
+ Disallow:
metadata ADDED
@@ -0,0 +1,121 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: jalpha
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.1'
5
+ platform: ruby
6
+ authors:
7
+ - Mick Pollard
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-08 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: thor
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '1.8'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ description: Jalpha scaffolds new Jekyll projects complete with everything needed
56
+ for continual deployment to a cloud foundry platform.
57
+ email: mick.pollard@digital.gov.au
58
+ executables:
59
+ - jalpha
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".gitignore"
64
+ - Gemfile
65
+ - README.md
66
+ - Rakefile
67
+ - bin/jalpha
68
+ - circle.yml
69
+ - jalpha.gemspec
70
+ - lib/jalpha.rb
71
+ - lib/jalpha/generator.rb
72
+ - lib/jalpha/install.rb
73
+ - lib/jalpha/version.rb
74
+ - template/.bowerrc
75
+ - template/.gitignore
76
+ - template/.ruby-version
77
+ - template/Gemfile
78
+ - template/README.md.tt
79
+ - template/_assets/fonts/.keep
80
+ - template/_assets/images/apple-touch-icon.png
81
+ - template/_assets/images/og-image.jpg
82
+ - template/_assets/javascripts/application.js
83
+ - template/_assets/javascripts/vendor.js
84
+ - template/_assets/stylesheets/application.scss
85
+ - template/_config.yml.tt
86
+ - template/_data/.keep
87
+ - template/_includes/.keep
88
+ - template/_layouts/default.html
89
+ - template/bin/cideploy.sh
90
+ - template/bin/setup
91
+ - template/bower.json.tt
92
+ - template/circle.yml
93
+ - template/favicon.ico
94
+ - template/index.html
95
+ - template/manifest.yml
96
+ - template/robots.txt
97
+ homepage:
98
+ licenses:
99
+ - MIT
100
+ metadata: {}
101
+ post_install_message:
102
+ rdoc_options: []
103
+ require_paths:
104
+ - lib
105
+ required_ruby_version: !ruby/object:Gem::Requirement
106
+ requirements:
107
+ - - ">="
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ required_rubygems_version: !ruby/object:Gem::Requirement
111
+ requirements:
112
+ - - ">="
113
+ - !ruby/object:Gem::Version
114
+ version: '0'
115
+ requirements: []
116
+ rubyforge_project:
117
+ rubygems_version: 2.4.5.1
118
+ signing_key:
119
+ specification_version: 4
120
+ summary: Opinionated Jekyll project generator.
121
+ test_files: []