jalpha 0.1

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 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: []