diff --git a/.bowerrc b/.bowerrc new file mode 100644 index 0000000..cc48978 --- /dev/null +++ b/.bowerrc @@ -0,0 +1,3 @@ +{ + "directory": "assets/vendor" +} diff --git a/.gitattributes b/.gitattributes index 412eeda..dfe0770 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,22 +1,2 @@ # Auto detect text files and perform LF normalization * text=auto - -# Custom for Visual Studio -*.cs diff=csharp -*.sln merge=union -*.csproj merge=union -*.vbproj merge=union -*.fsproj merge=union -*.dbproj merge=union - -# Standard to msysgit -*.doc diff=astextplain -*.DOC diff=astextplain -*.docx diff=astextplain -*.DOCX diff=astextplain -*.dot diff=astextplain -*.DOT diff=astextplain -*.pdf diff=astextplain -*.PDF diff=astextplain -*.rtf diff=astextplain -*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore index 2487073..26495ca 100644 --- a/.gitignore +++ b/.gitignore @@ -1,170 +1,10 @@ -################# -## Eclipse -################# - -*.pydevproject -.project -.metadata -bin/ -tmp/ -*.tmp -*.bak -*.swp -*~.nib -local.properties -.classpath -.settings/ -.loadpath - -# External tool builders -.externalToolBuilders/ - -# Locally stored "Eclipse launch configurations" -*.launch - -# CDT-specific -.cproject - -# PDT-specific -.buildpath - - -################# -## Visual Studio -################# - -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.sln.docstates - -# Build results -[Dd]ebug/ -[Rr]elease/ -*_i.c -*_p.c -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.vspscc -.builds -*.dotCover - -## TODO: If you have NuGet Package Restore enabled, uncomment this -#packages/ - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf - -# Visual Studio profiler -*.psess -*.vsp - -# ReSharper is a .NET coding add-in -_ReSharper* - -# Installshield output folder -[Ee]xpress - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish - -# Others -[Bb]in -[Oo]bj -sql -TestResults -*.Cache -ClientBin -stylecop.* -~$* -*.dbmdl -Generated_Code #added for RIA/Silverlight projects - -# Backup & report files from converting an old project file to a newer -# Visual Studio version. Backup files are not needed, because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML - - - -############ -## Windows -############ - -# Windows image file caches -Thumbs.db - -# Folder config file -Desktop.ini - - -############# -## Python -############# - -*.py[co] - -# Packages -*.egg -*.egg-info -dist -build -eggs -parts -bin -var -sdist -develop-eggs -.installed.cfg - -# Installer logs -pip-log.txt - -# Unit test / coverage reports -.coverage -.tox - -#Translations -*.mo - -#Mr Developer -.mr.developer.cfg - -# Mac crap .DS_Store - -# .NET crap -.config - -#jekyll -_site -node_modules \ No newline at end of file +/_site +/node_modules +/.bundle +assets/vendor/zeroclipboard/docs +assets/vendor/zeroclipboard/src +assets/vendor/zeroclipboard/test +assets/vendor/selectivizr/tests +assets/vendor/qtip2/basic +/vendor diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..227cea2 --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.0.0 diff --git a/.travis.yml b/.travis.yml index f9d70f9..1b743c0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,5 +4,13 @@ script: "./script/cibuild" #environment language: ruby -rvm: - - 1.9.3 \ No newline at end of file +rvm: + - 2.0.0 + +branches: + only: + - gh-pages + - /.*/ + +notifications: + email: false diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ba55c10..04435d9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -4,13 +4,13 @@ We love Pull Requests! Your contributions help make ChooseALicense.com great. ## Getting Started -So you want to contribute to ChooseALicense. Great! We welcome any help we can -get. But first, please make sure you understand what +So you want to contribute to ChooseALicense. Great! We welcome any help we can +get. But first, please make sure you understand what [this site is all about](http://choosealicense.com/about). It’s not a comprehensive list of all possible licenses. -If you understand the goals of this site and still want to suggest a change, +If you understand the goals of this site and still want to suggest a change, please: * Make sure you have a [GitHub account](https://github.com/signup/free) @@ -20,13 +20,22 @@ please: ## Making Changes -The easiest way to make a change is to simply edit a file from your browser. +The easiest way to make a change is to simply edit a file from your browser. When you click the edit button, it will fork the repository under your account. Note what issue/issues your patch fixes in the commit message. -For example, to [change this file](https://github.com/github/choosealicense.com/blob/master/CONTRIBUTING.md), -find it in the GitHub repository. Then click the `Edit` button. Make your +For example, to [change this file](https://github.com/github/choosealicense.com/blob/master/CONTRIBUTING.md), +find it in the GitHub repository. Then click the `Edit` button. Make your changes, type in a commit message, and click the `Propose File Change` button. That’s it! For more advanced changes, check out [the bootstrap instructions](https://github.com/github/choosealicense.com#run-it-on-your-machine) in the [project's readme](https://github.com/github/choosealicense.com/blob/master/README.md). + +## Testing + +[HTML::Proofer](https://github.com/gjtorikian/html-proofer) is set up to validate all links within the project. You can run this locally to ensure that your changes are valid: + +```shell +./script/bootstrap +./script/cibuild +``` diff --git a/Gemfile b/Gemfile index ec75eef..d1d35c1 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,9 @@ -source 'https://rubygems.org' +source "https://rubygems.org" +ruby File.read(".ruby-version").strip -gem "jekyll", '=1.0.3' -gem 'liquid', '=2.5.0' -gem 'redcarpet', '=2.2.2' \ No newline at end of file +gem "github-pages" + +group :test do + gem "html-proofer" + gem "rake" +end diff --git a/Gemfile.lock b/Gemfile.lock index e6b3cc1..e231bc7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,41 +1,81 @@ GEM remote: https://rubygems.org/ specs: - classifier (1.3.3) + RedCloth (4.2.9) + blankslate (2.1.2.4) + classifier (1.3.4) fast-stemmer (>= 1.0.0) colorator (0.1) - commander (4.1.3) + colored (1.2) + commander (4.1.5) highline (~> 1.6.11) - directory_watcher (1.4.1) + ethon (0.6.2) + ffi (>= 1.3.0) + mime-types (~> 1.18) fast-stemmer (1.0.2) - highline (1.6.19) - jekyll (1.0.3) + ffi (1.9.3) + github-pages (12) + RedCloth (= 4.2.9) + jekyll (= 1.4.2) + kramdown (= 1.2.0) + liquid (= 2.5.4) + maruku (= 0.7.0) + rdiscount (= 2.1.7) + redcarpet (= 2.3.0) + highline (1.6.20) + html-proofer (0.4.1) + colored (~> 1.2) + mercenary (~> 0.2.0) + nokogiri (~> 1.6.0) + typhoeus (~> 0.6.7) + jekyll (1.4.2) classifier (~> 1.3) colorator (~> 0.1) commander (~> 4.1.3) - directory_watcher (~> 1.4.1) - kramdown (~> 1.0.2) - liquid (~> 2.3) - maruku (~> 0.5) + liquid (~> 2.5.2) + listen (~> 1.3) + maruku (~> 0.7.0) pygments.rb (~> 0.5.0) - safe_yaml (~> 0.7.0) - kramdown (1.0.2) - liquid (2.5.0) - maruku (0.6.1) - syntax (>= 1.0.0) - posix-spawn (0.3.6) - pygments.rb (0.5.1) + redcarpet (~> 2.3.0) + safe_yaml (~> 0.9.7) + toml (~> 0.1.0) + kramdown (1.2.0) + liquid (2.5.4) + listen (1.3.1) + rb-fsevent (>= 0.9.3) + rb-inotify (>= 0.9) + rb-kqueue (>= 0.2) + maruku (0.7.0) + mercenary (0.2.1) + mime-types (1.25.1) + mini_portile (0.5.2) + nokogiri (1.6.1) + mini_portile (~> 0.5.0) + parslet (1.5.0) + blankslate (~> 2.0) + posix-spawn (0.3.8) + pygments.rb (0.5.4) posix-spawn (~> 0.3.6) yajl-ruby (~> 1.1.0) - redcarpet (2.2.2) - safe_yaml (0.7.1) - syntax (1.0.0) + rake (10.1.1) + rb-fsevent (0.9.4) + rb-inotify (0.9.3) + ffi (>= 0.5.0) + rb-kqueue (0.2.0) + ffi (>= 0.5.0) + rdiscount (2.1.7) + redcarpet (2.3.0) + safe_yaml (0.9.7) + toml (0.1.0) + parslet (~> 1.5.0) + typhoeus (0.6.7) + ethon (~> 0.6.2) yajl-ruby (1.1.0) PLATFORMS ruby DEPENDENCIES - jekyll (= 1.0.3) - liquid (= 2.5.0) - redcarpet (= 2.2.2) + github-pages + html-proofer + rake diff --git a/LICENSE.md b/LICENSE.md index 5edc1a7..2a344f7 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2013 GitHub, Inc. +Copyright (c) 2014 GitHub, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -16,4 +16,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. \ No newline at end of file +THE SOFTWARE. diff --git a/README.md b/README.md index a578ee9..ee2b8ff 100644 --- a/README.md +++ b/README.md @@ -1,38 +1,44 @@ -# Choose a License Web Site +# Choose a License Web Site [![Build Status](https://travis-ci.org/github/choosealicense.com.png?branch=gh-pages)](https://travis-ci.org/github/choosealicense.com) Like a Choose Your Own Adventure site, but only much less interesting. # Intro A lot of repositories on GitHub.com don't have a license. GitHub provides -a license chooser, but if you don't know anything about licenses, how are you -supposed to make an informed decision. +a license chooser, but if you don't know anything about licenses, how are you +supposed to make an informed decision? -ChooseALicense.com is designed to help people make an informed decision about -licenses. +ChooseALicense.com is designed to help people make an informed decision about +licenses. # Immediate Goals * Politics Free - Let's just not get into it. * Well designed, but that goes without saying. * The homepage should have just enough to help 99% of folks make a decision. -* For the 1%, the site will contain a list of licenses common for specific +* For the 1%, the site will contain a list of licenses common to specific communities and situations. -* Not comprehensive. Seems like an odd goal, but there are a bajillion -(I counted) licenses out there. We're going to have to filter that down to a +* Not comprehensive. Seems like an odd goal, but there are a bajillion +licenses out there. We're going to have to filter that down to a small list of those that matter. # Run It On Your Machine -1. `git clone https://github.com/github/choosealicense.com` -2. `cd choosealicense.com` -3. `script/bootstrap` -4. `script/server` -5. Open [localhost:4000](http://localhost:4000) in your favorite browser +```bash +git clone https://github.com/github/choosealicense.com.git +cd choosealicense.com +script/bootstrap +script/server +``` +Open `http://localhost:4000` in your favorite browser. # Adding a license -Licenses sit in the `/licenses` folder as markdown (`.md`) files. Each license has YAML front matter describing the license's properties. The body of the markdown file should be the text of the license. The available metadata fields are: +The text of the license should be wrapped to a 78 character width. + +Licenses sit in the `/licenses` folder. Each license has YAML front matter +describing the license's properties. The body of the file should be the text +of the license in plain text. The available metadata fields are: * `title` - The name of the license * `layout` - This should be `license` @@ -43,7 +49,11 @@ Licenses sit in the `/licenses` folder as markdown (`.md`) files. Each license h * `required`, `permitted`, `forbidden` - bulleted list of rules applicable to the license (see below) * `filename` - The filename to be created on GitHub.com when a repository is initialized with this license. -The licenses on choosealicense.com are regularly imported to GitHub.com to be used as the list of licenses available when creating a repository. When we create a repository, we will replace certain strings in the license with variables from the repository. These can be used to create accurate copyright notices. The available variables are: +The licenses on choosealicense.com are regularly imported to GitHub.com to be +used as the list of licenses available when creating a repository. When we +create a repository, we will replace certain strings in the license with +variables from the repository. These can be used to create accurate copyright +notices. The available variables are: * `[fullname]` - The full name or username of the repository owner * `[login]` - The repository owner's username @@ -52,10 +62,19 @@ The licenses on choosealicense.com are regularly imported to GitHub.com to be us * `[description]` - The description of the repository * `[year]` - The current year -# Rules +# Rules -* Rules (the license's properties) are stored as a bulleted list within the licenses YAML front matter. A full list of rules can be found in the repository's `_config.yml` file. Each rule has a name e.g., `include-copyright`, a human-readable label, e.g., `Copyright inclusion`, and a description `Include the original copyright with the code`. To add a new rule, simply add it to config.yml and reference it in the appropriate license. +Rules (the license's properties) are stored as a bulleted list within the +licenses YAML front matter. A full list of rules can be found in the +repository's `_config.yml` file. Each rule has a name e.g., +`include-copyright`, a human-readable label, e.g., `Copyright inclusion`, +and a description `Include the original copyright with the code`. +To add a new rule, simply add it to `config.yml` and reference it in the +appropriate license. # License -The content of this project itself is licensed under the [Creative Commons Attribution 3.0 license](http://creativecommons.org/licenses/by/3.0/us/deed.en_US), and the underlying source code used to format and display that content is licensed under the [MIT license](http://opensource.org/licenses/mit-license.php). +The content of this project itself is licensed under the +[Creative Commons Attribution 3.0 license](http://creativecommons.org/licenses/by/3.0/us/deed.en_US), +and the underlying source code used to format and display that content +is licensed under the [MIT license](http://opensource.org/licenses/mit-license.php). diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..ed29cdb --- /dev/null +++ b/Rakefile @@ -0,0 +1,7 @@ +require "html/proofer" + +task :test do + sh "bundle exec jekyll build --trace" + # ignore href="#" for the "Copy to clipboard" button + HTML::Proofer.new("./_site").run +end diff --git a/_config.yml b/_config.yml index ed961da..e38fb71 100644 --- a/_config.yml +++ b/_config.yml @@ -1,67 +1,77 @@ +--- title: ChooseALicense.com relative_permalinks: false -markdown: redcarpet +markdown: kramdown +url: "http://choosealicense.com" rules: required: - include-copyright: - description: Include a copy of the license and copyright notice with the code. - label: License and copyright notice - document-changes: - description: Indicate significant changes made to the code. - label: State Changes - disclose-source: - description: Source code must be made available when distributing the software. In the case of LGPL, the source for the library (and not the entire program) must be made available. - label: Disclose Source - library-usage: - description: The library may be used within a non-open-source application. - label: Library usage - rename: - description: You must change the name of the software if you modify it. - label: Rename + - description: Include a copy of the license and copyright notice with the code. + label: License and copyright notice + tag: include-copyright + - description: Indicate significant changes made to the code. + label: State Changes + tag: document-changes + - description: Source code must be made available when distributing the software. In the case of LGPL, the source for the library (and not the entire program) must be made available. + label: Disclose Source + tag: disclose-source + - description: The library may be used within a non-open-source application. + label: Library usage + tag: library-usage + - description: You must change the name of the software if you modify it. + label: Rename + tag: rename permitted: - commercial-use: - description: This software and derivatives may be used for commercial purposes. - label: Commercial Use - modifications: - description: This software may be modified. - label: Modification - distribution: - description: You may distribute this software. - label: Distribution - sublicense: - description: You may grant a sublicense to modify and distribute this software to third parties not included in the license. - label: Sublicensing - private-use: - description: You may use and modify the software without distributing it. - label: Private Use - patent-grant: - description: This license provides an express grant of patent rights from the contributor to the recipient. - label: Patent Grant + - description: This software and derivatives may be used for commercial purposes. + label: Commercial Use + tag: commercial-use + - description: This software may be modified. + label: Modification + tag: modifications + - description: You may distribute this software. + label: Distribution + tag: distribution + - description: You may grant a sublicense to modify and distribute this software to third parties not included in the license. + label: Sublicensing + tag: sublicense + - description: You may use and modify the software without distributing it. + label: Private Use + tag: private-use + - description: This license provides an express grant of patent rights from the contributor to the recipient. + label: Patent Grant + tag: patent-grant forbidden: - trademark-use: - description: While this may be implicitly true of all licenses, this license explicitly states that you may NOT use the names, logos, or trademarks of contributors. - label: Use Trademark - no-liability: - description: Software is provided without warranty and the software author/license owner cannot be held liable for damages. - label: Hold Liable - no-sublicense: - description: You may not grant a sublicense to modify and distribute this software to third parties not included in the license. - label: Sublicensing - modifications: - description: This software may not be modified. - label: Modification - distribution: - description: You may not distribute this software. - label: Distribution - sublicense: - description: You may not grant a sublicense to modify and distribute this software to third parties not included in the license. - label: Sublicensing + - description: While this may be implicitly true of all licenses, this license explicitly states that you may NOT use the names, logos, or trademarks of contributors. + label: Use Trademark + tag: trademark-use + - description: Software is provided without warranty and the software author/license owner cannot be held liable for damages. + label: Hold Liable + tag: no-liability + - description: You may not grant a sublicense to modify and distribute this software to third parties not included in the license. + label: Sublicensing + tag: no-sublicense + - description: This software may not be modified. + label: Modification + tag: modifications + - description: You may not distribute this software. + label: Distribution + tag: distribution + - description: You may not grant a sublicense to modify and distribute this software to third parties not included in the license. + label: Sublicensing + tag: sublicense exclude: - - CNAME - - Gemfile* - - script +- app.coffee +- CNAME +- CONTRIBUTING.md +- Gemfile +- Gemfile.lock +- LICENSE.md +- licenses.json +- Rakefile +- README.md +- script +- bundle diff --git a/_includes/breadcrumbs.html b/_includes/breadcrumbs.html index 2022d5a..ec8909f 100644 --- a/_includes/breadcrumbs.html +++ b/_includes/breadcrumbs.html @@ -1,5 +1,5 @@ {% unless page.hide_breadcrumbs == true %} -