diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000..c5e4341d1 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,8 @@ +{ + "name": "choosealicense.com", + "image": "mcr.microsoft.com/devcontainers/base:ubuntu-24.04", + "remoteEnv": { + "PATH": "/home/vscode/.rbenv/shims:/home/vscode/.rbenv/bin:${containerEnv:PATH}" + }, + "postCreateCommand": "bash .devcontainer/post-create.sh" +} \ No newline at end of file diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh new file mode 100755 index 000000000..f69fd6aa3 --- /dev/null +++ b/.devcontainer/post-create.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash +set -euo pipefail + +for cmd in curl git sed; do + if ! command -v "${cmd}" >/dev/null 2>&1; then + echo "${cmd} is required for .devcontainer/post-create.sh" + exit 1 + fi +done + +if command -v apt-get >/dev/null 2>&1; then + packages=( + build-essential + cmake + pkg-config + libffi-dev + libyaml-dev + libssl-dev + zlib1g-dev + libreadline-dev + libgdbm-dev + libncurses-dev + libssh2-1-dev + ) + + missing_packages=() + for package in "${packages[@]}"; do + if ! dpkg-query -W -f='${Status}' "${package}" 2>/dev/null | grep -q 'install ok installed'; then + missing_packages+=("${package}") + fi + done + + if [[ ${#missing_packages[@]} -gt 0 ]]; then + echo "Installing Ruby build dependencies: ${missing_packages[*]}" + if command -v sudo >/dev/null 2>&1; then + sudo apt-get update + sudo apt-get install -y "${missing_packages[@]}" + else + apt-get update + apt-get install -y "${missing_packages[@]}" + fi + fi +fi + +echo "Initializing/updating git submodules" +git submodule update --init --recursive + +versions_json="$(curl -fsSL https://pages.github.com/versions.json)" || { + echo "Failed to fetch https://pages.github.com/versions.json" + exit 1 +} + +pages_ruby_version="$( + printf '%s' "${versions_json}" | + sed -n 's/.*"ruby"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' | + head -n 1 +)" + +echo "GitHub Pages Ruby version: ${pages_ruby_version}" + +if [[ -z "${pages_ruby_version}" ]]; then + echo "Could not determine Ruby version from https://pages.github.com/versions.json" + exit 1 +fi + +if [[ ! -d "$HOME/.rbenv" ]]; then + git clone --depth 1 https://github.com/rbenv/rbenv.git "$HOME/.rbenv" +fi + +if [[ ! -d "$HOME/.rbenv/plugins/ruby-build" ]]; then + mkdir -p "$HOME/.rbenv/plugins" + git clone --depth 1 https://github.com/rbenv/ruby-build.git "$HOME/.rbenv/plugins/ruby-build" +fi + +export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH" +eval "$(rbenv init - bash)" + +rbenv install -s "${pages_ruby_version}" +rbenv global "${pages_ruby_version}" +rbenv rehash + +for profile in "$HOME/.bashrc" "$HOME/.zshrc"; do + if [[ -f "$profile" ]] && ! grep -q 'rbenv init - bash' "$profile"; then + { + echo + echo '# Load rbenv' + echo 'export PATH="$HOME/.rbenv/bin:$HOME/.rbenv/shims:$PATH"' + echo 'eval "$(rbenv init - bash)"' + } >> "$profile" + fi +done + +gem install bundler --no-document +rbenv rehash +mkdir -p "$HOME/.local/bin" +ln -sf "$HOME/.rbenv/shims/bundle" "$HOME/.local/bin/bundle" +bundle install \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..4962ba6b0 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,28 @@ +name: Build and Test +permissions: + contents: read + +on: + push: + branches: [gh-pages] + pull_request: + branches: [gh-pages] + +jobs: + test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 + with: + submodules: true + + - name: Set up Ruby + uses: ruby/setup-ruby@4a9ddd6f338a97768b8006bf671dfbad383215f4 + with: + ruby-version: 3.3.4 + bundler-cache: true + + - name: Run tests + run: ./script/cibuild diff --git a/.gitignore b/.gitignore index d5a931a0c..07b2cce5a 100644 --- a/.gitignore +++ b/.gitignore @@ -2,10 +2,7 @@ /_site /node_modules /.bundle -assets/vendor/clipboard/src -assets/vendor/clipboard/test -assets/vendor/selectivizr/tests -assets/vendor/qtip2/basic +assets/vendor/hint.css/src /vendor /.sass-cache .ruby-version diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 000000000..36e330427 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "license-list-XML"] + path = license-list-XML + url = https://github.com/spdx/license-list-XML.git diff --git a/.rubocop.yml b/.rubocop.yml index 4b122f820..82e3368bb 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,5 +1,6 @@ AllCops: - TargetRubyVersion: 2.5 + NewCops: enable + TargetRubyVersion: 3.3 Exclude: - _site/**/* - vendor/**/* @@ -7,7 +8,7 @@ AllCops: Metrics/BlockLength: Enabled: false -Metrics/LineLength: +Layout/LineLength: Enabled: false Metrics/MethodLength: diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2caf39f95..000000000 --- a/.travis.yml +++ /dev/null @@ -1,31 +0,0 @@ -#bootstrap and build -before_script: "./script/bootstrap" -script: "./script/cibuild" - -#environment -language: ruby -rvm: - - 2.5.3 - -addons: - apt: - packages: - - libcurl4-openssl-dev - -before_install: - - gem update --system - -branches: - only: - - gh-pages - - /.*/ - -notifications: - email: false - -env: - global: - - NOKOGIRI_USE_SYSTEM_LIBRARIES=true - -sudo: false -cache: bundler diff --git a/404.md b/404.md new file mode 100644 index 000000000..595e6bca7 --- /dev/null +++ b/404.md @@ -0,0 +1,6 @@ +--- +title: 404 Not Found +--- +Sorry! We could not find the page you were looking for. + +If you were trying to see a license, go to [licenses](/licenses). diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 31394edcd..8d86db12c 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -1,71 +1,51 @@ -Contributor Covenant Code of Conduct +# Contributor Covenant Code of Conduct -Our Pledge +## Our Pledge -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. +In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. -Our Standards -Examples of behavior that contributes to creating a positive environment -include: +## Our Standards -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members +Examples of behavior that contributes to creating a positive environment include: + +- Using welcoming and inclusive language +- Being respectful of differing viewpoints and experiences +- Gracefully accepting constructive criticism +- Focusing on what is best for the community +- Showing empathy towards other community members + + +## Unacceptable Behavior Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery and unwelcome sexual attention or -advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at opensource+choosealicense.com@github.com. All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -Attribution - -This Code of Conduct is adapted from the Contributor Covenant, version 1.4, -available at http://contributor-covenant.org/version/1/4/ +- The use of sexualized language or imagery and unwelcome sexual attention or advances +- Trolling, insults, derogatory remarks, or personal/political attacks +- Public or private harassment +- Disclosure of private information (such as physical or electronic addresses) without explicit permission +- Other conduct which could reasonably be considered inappropriate in a professional setting + + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. + + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. + + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at opensource+choosealicense.com@github.com. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. + + +## Attribution + +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, available at https://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 4ad2b89aa..ae8aebaa7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,4 +1,4 @@ -# How to Contribute +# How to contribute We love Pull Requests! Your contributions help make ChooseALicense.com great. @@ -6,7 +6,7 @@ Contributions to this project are [released](https://help.github.com/articles/gi Please note that this project is released with a [Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms. -## Getting Started +## 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 @@ -16,13 +16,13 @@ get. But first, please make sure you understand what Choosealicense.com is intended to demystify license choices, not present or catalog all of them. As such, only a small number are highlighted on the home page or , and there are several requirements for a license to be [cataloged](https://choosealicense.com/appendix/) on the site: -1. The license must have [an SPDX identifier](https://spdx.org/licenses/). If your license isn't registered with SPDX, please [request that it be added](https://spdx.org/spdx-license-list/request-new-license). +1. The license must have [an SPDX identifier](https://spdx.org/licenses/). If your license isn't registered with SPDX, please [request that it be added](https://github.com/spdx/license-list-XML/blob/main/CONTRIBUTING.md). 2. The license must be listed on one of the following approved lists of licenses: * [List of OSI approved licenses](https://opensource.org/licenses/alphabetical) * [GNU's list of free licenses](https://www.gnu.org/licenses/license-list.en.html) (*note: the license must be listed in one of the three "free" categories*) * [Open Definition's list of conformant licenses](https://opendefinition.org/licenses/) (non-code) -3. A [GitHub code search](https://github.com/search?q=MIT+filename%3ALICENSE&type=Code) must reveal at least *1,000* public repositories using the license. -4. 3 notable projects using the license must be identified. These must have straightforward LICENSE files which serve as examples newcomers can follow and that could be detected by [licensee](https://github.com/benbalter/licensee) if it knew about the license. +3. The license must be used in at least *1,000* public repositories. This may be documented, for example, with a [GitHub code search](https://github.com/search?q=MIT+path%3ALICENSE&type=Code). +4. 3 notable projects using the license must be identified. These must have straightforward LICENSE files which serve as examples newcomers can follow and that could be detected by [licensee](https://github.com/licensee/licensee) if it knew about the license. If your proposed license meets the above criteria, here's a few other things to keep in mind as you propose the license's addition: @@ -34,7 +34,7 @@ If your proposed license meets the above criteria, here's a few other things to * The text of the license should match the corresponding text found in [spdx/license-list-data](https://github.com/spdx/license-list-data/blob/master/text/). If there are errors there, please fix them in [spdx/license-list-XML](https://github.com/spdx/license-list-XML) (from which the plain text version is generated) so as to minimize license text variation and make it easier for choosealicense.com to eventually consume license texts directly from SPDX. * The body of the file should be the text of the license in plain text. -## Making Changes +## Making changes 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. diff --git a/Gemfile b/Gemfile index 667766250..9ba535a33 100644 --- a/Gemfile +++ b/Gemfile @@ -3,11 +3,14 @@ source 'https://rubygems.org' require 'json' -require 'open-uri' -versions = JSON.parse(open('https://pages.github.com/versions.json').read) +require 'net/http' +versions = JSON.parse(Net::HTTP.get(URI('https://pages.github.com/versions.json'))) gem 'github-pages', versions['github-pages'] +# https://github.com/jekyll/jekyll/issues/8523 +gem 'webrick', '~> 1.7' + group :development do gem 'colored' gem 'fuzzy_match' @@ -16,7 +19,7 @@ end group :test do gem 'html-proofer', '~> 3.0' - gem 'licensee' + gem 'licensee', git: 'https://github.com/licensee/licensee.git', branch: 'master' gem 'rake' gem 'rspec' gem 'rubocop' diff --git a/LICENSE.md b/LICENSE.md index 4b26f776a..6a84ea4fb 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -Copyright (c) 2013-2018 GitHub, Inc. and contributors +Copyright (c) GitHub, Inc. and contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index 7b6b8604d..cd8d19157 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ **[ChooseALicense.com](https://choosealicense.com)** aims to provide **accurate**, **non-judgmental**, and **understandable** information about popular **open source licenses** in order to **help people make informed decisions** about the projects they start, maintain, contribute to, and use. -[![Build Status](https://travis-ci.org/github/choosealicense.com.svg?branch=gh-pages)](https://travis-ci.org/github/choosealicense.com) +[![](https://github.com/github/choosealicense.com/workflows/Build%20and%20Test/badge.svg)](https://github.com/github/choosealicense.com/actions?query=workflow%3ABuild%20and%20Test) -We catalog [select](CONTRIBUTING.md#adding-a-license) open source licenses with a [Jekyll collection](https://jekyllrb.com/docs/collections/) (in `_licenses`). The catalog is used to render [ChooseALicense.com](https://choosealicense.com) and is regularly vendored into [Licensee](https://github.com/benbalter/licensee), which GitHub uses to provide a [license chooser and license detection](https://help.github.com/articles/adding-a-license-to-a-repository/), a [licenses API](https://developer.github.com/v3/licenses/), and to [display license descriptions and metadata](https://github.com/blog/2335-open-source-license-descriptions-and-metadata). +We catalog [select](CONTRIBUTING.md#adding-a-license) open source licenses with a [Jekyll collection](https://jekyllrb.com/docs/collections/) (in `_licenses`). The catalog is used to render [ChooseALicense.com](https://choosealicense.com) and is regularly vendored into [Licensee](https://github.com/licensee/licensee), which GitHub uses to provide a [license chooser and license detection](https://help.github.com/articles/adding-a-license-to-a-repository/), a [licenses API](https://developer.github.com/v3/licenses/), and to [display license descriptions and metadata](https://github.com/blog/2335-open-source-license-descriptions-and-metadata). ## Goals @@ -12,17 +12,34 @@ We catalog [select](CONTRIBUTING.md#adding-a-license) open source licenses with * Collaborate with and reinforce other licensing best practices and standards projects. * 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 +## Run it on your machine +### Managing Dependencies + +It may be the case that your system doesn't have the required dependencies. You will need `cmake` and `make` installed on your computer. + +For MacOS, use Homebrew to update your dependencies (install Homebrew from ): ```bash -git clone https://github.com/github/choosealicense.com.git +brew install make cmake +``` +For Linux/Ubuntu, use the `apt-get` tool to install the dependencies: +```bash +sudo apt-get install make cmake +``` + +### Installing and Running the tool + +```bash +git clone https://github.com/github/choosealicense.com.git --recursive cd choosealicense.com -script/bootstrap -script/server +./script/bootstrap +./script/server ``` Open `http://localhost:4000` in your favorite browser. +If you encounter any issues with the above steps, please refer to the official [Jekyll](https://jekyllrb.com/docs/) documentation and this [guide on running Jekyll as a non-superuser](https://jekyllrb.com/docs/troubleshooting/#no-sudo) for more detailed installation instructions. + ## Adding a license For information on adding a license, see [the CONTRIBUTING file](https://github.com/github/choosealicense.com/blob/gh-pages/CONTRIBUTING.md#adding-a-license). @@ -37,7 +54,7 @@ Licenses sit in the `/_licenses` folder. Each license has YAML front matter desc * `spdx-id` - Short identifier specified by https://spdx.org/licenses/ * `description` - A human-readable description of the license * `how` - Instructions on how to implement the license -* `using` - A list of 3 notable projects using the license with straightforward LICENSE files which serve as examples newcomers can follow and that can be detected by [licensee](https://github.com/benbalter/licensee) in the form of `project_name: license_file_url` +* `using` - A map of 3 notable projects using the license with straightforward LICENSE files which serve as examples newcomers can follow and that can be detected by [licensee](https://github.com/licensee/licensee) in the form of `project_name: license_file_url` * `permissions` - Bulleted list of permission rules * `conditions` - Bulleted list of condition rules * `limitations` - Bulleted list of limitation rules @@ -81,6 +98,7 @@ The license properties (rules) are stored as a bulleted list within the licenses #### Conditions * `include-copyright` - A copy of the license and copyright notice must be included with the software. +* `include-copyright--source` - A copy of the license and copyright notice must be included with the software in source form, but is not required for binaries. * `document-changes` - Changes made to the code must be documented. * `disclose-source` - Source code must be made available when the software is distributed. * `network-use-disclose` - Users who interact with the software via network are given the right to receive a copy of the source code. diff --git a/Rakefile b/Rakefile index 45c207c99..51a08c704 100644 --- a/Rakefile +++ b/Rakefile @@ -17,7 +17,9 @@ task :test do enforce_https: true, validation: { ignore_script_embeds: true }, url_swap: { %r{https://choosealicense.com} => '' }, - url_ignore: [%r{https://github.com/github/choosealicense.com/edit/gh-pages/_licenses/}], + url_ignore: [%r{https://github.com/github/choosealicense.com/edit/gh-pages/_licenses/}, + %r{https://help.github.com}, + %r{https://opensource.org}], hydra: { max_concurrency: 10 }, check_img_http: true).run end @@ -30,7 +32,7 @@ task :approved_licenses do puts approved.join(', ') puts "\n" - potential = approved - (licenses.map { |l| l['id'] }) + potential = approved - licenses.map { |l| l['id'] } puts "#{potential.count} potential additions:" puts potential.join(', ') end diff --git a/_config.yml b/_config.yml index dffa75277..d1628fc02 100644 --- a/_config.yml +++ b/_config.yml @@ -20,7 +20,6 @@ defaults: layout: license exclude: - - app.coffee - CNAME - CONTRIBUTING.md - Gemfile @@ -30,17 +29,15 @@ exclude: - README.md - script - vendor/bundle - - test - - tests + - spec - assets/vendor/selectivizr/tests - - assets/vendor/clipboard/test - assets/vendor/*/README.* + - license-list-XML plugins: - jekyll-sitemap - jekyll-redirect-from - jekyll-seo-tag - - jekyll-coffeescript - jekyll-github-metadata # For 'Improve this page' links sass: diff --git a/_data/meta.yml b/_data/meta.yml index 2a5887276..61d7160ee 100644 --- a/_data/meta.yml +++ b/_data/meta.yml @@ -30,7 +30,7 @@ required: true - name: using - description: 'A list of 3 notable projects using the license with straightforward LICENSE files which serve as examples newcomers can follow and that can be detected by [licensee](https://github.com/benbalter/licensee) in the form of `project_name: license_file_url`' + description: 'A list of 3 notable projects using the license with straightforward LICENSE files which serve as examples newcomers can follow and that can be detected by [licensee](https://github.com/licensee/licensee) in the form of `project_name: license_file_url`' required: true # Optional fields diff --git a/_data/rules.yml b/_data/rules.yml index 3a20f10a8..54e4504d8 100644 --- a/_data/rules.yml +++ b/_data/rules.yml @@ -1,14 +1,14 @@ permissions: -- description: This software and derivatives may be used for commercial purposes. +- description: The licensed material and derivatives may be used for commercial purposes. label: Commercial use tag: commercial-use -- description: This software may be modified. +- description: The licensed material may be modified. label: Modification tag: modifications -- description: This software may be distributed. +- description: The licensed material may be distributed. label: Distribution tag: distribution -- description: This software may be used and modified in private. +- description: The licensed material may be used and modified in private. label: Private use tag: private-use - description: This license provides an express grant of patent rights from contributors. @@ -16,25 +16,28 @@ permissions: tag: patent-use conditions: -- description: A copy of the license and copyright notice must be included with the software. +- description: A copy of the license and copyright notice must be included with the licensed material. label: License and copyright notice tag: include-copyright -- description: Changes made to the code must be documented. +- description: A copy of the license and copyright notice must be included with the licensed material in source form, but is not required for binaries. + label: License and copyright notice for source + tag: include-copyright--source +- description: Changes made to the licensed material must be documented. label: State changes tag: document-changes -- description: Source code must be made available when the software is distributed. +- description: Source code must be made available when the licensed material is distributed. label: Disclose source tag: disclose-source -- description: Users who interact with the software via network are given the right to receive a copy of the source code. +- description: Users who interact with the licensed material via network are given the right to receive a copy of the source code. label: Network use is distribution tag: network-use-disclose -- description: Modifications must be released under the same license when distributing the software. In some cases a similar or related license may be used. +- description: Modifications must be released under the same license when distributing the licensed material. In some cases a similar or related license may be used. label: Same license tag: same-license -- description: Modifications of existing files must be released under the same license when distributing the software. In some cases a similar or related license may be used. +- description: Modifications of existing files must be released under the same license when distributing the licensed material. In some cases a similar or related license may be used. label: Same license (file) tag: same-license--file -- description: Modifications must be released under the same license when distributing the software. In some cases a similar or related license may be used, or this condition may not apply to works that use the software as a library. +- description: Modifications must be released under the same license when distributing the licensed material. In some cases a similar or related license may be used, or this condition may not apply to works that use the licensed material as a library. label: Same license (library) tag: same-license--library @@ -48,6 +51,6 @@ limitations: - description: This license explicitly states that it does NOT grant any rights in the patents of contributors. label: Patent use tag: patent-use -- description: The license explicitly states that it does NOT provide any warranty. +- description: This license explicitly states that it does NOT provide any warranty. label: Warranty tag: warranty diff --git a/_includes/css/responsive.css b/_includes/css/responsive.css index b104d270c..64524f36b 100644 --- a/_includes/css/responsive.css +++ b/_includes/css/responsive.css @@ -46,6 +46,10 @@ .license-body { width: calc(100% - 250px); } + + .hint--large::after{ + width: 150px; + } } /* iPads (portrait) ----------- */ @@ -142,25 +146,21 @@ font-size: 10px; } .license-rules:not(.license-rules-sidebar) li { + padding-left: 14px; margin-right: 5px; font-size: 10px; -webkit-text-size-adjust: none; } - .license-rules:not(.license-rules-sidebar) li span { - background-size: 44px; + .license-rules:not(.license-rules-sidebar) .license-marker { width: 10px; - height: 10px; + font-size: 10px; + left: 0; top: 1px; - position: relative; - } - .license-rules:not(.license-rules-sidebar) .license-conditions span { - background-position: -34px 0; - } - .license-rules:not(.license-rules-sidebar) .license-permissions span { - background-position: -24px 0px; + position: absolute; } - .license-rules:not(.license-rules-sidebar) .license-limitations span { - background-position: -14px 0; + + .hint--large::after{ + width: 80px; } } diff --git a/_includes/footer.html b/_includes/footer.html index 6a162157a..a4a549107 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -9,21 +9,18 @@ Creative Commons Attribution 3.0 Unported License.

- Curated with <3 by GitHub, Inc. and You! + Curated with ❤️ by GitHub, Inc. and You!
{% if page.collection == "licenses" or page.class == "license-types" %} - - - - + {% endif %} - - - diff --git a/_includes/header.html b/_includes/header.html index 06ee4e02a..7e2b10d2e 100644 --- a/_includes/header.html +++ b/_includes/header.html @@ -2,15 +2,10 @@ - - - - + + {% seo %} diff --git a/_includes/license-overview.html b/_includes/license-overview.html index 320c4142a..c810fe2f0 100644 --- a/_includes/license-overview.html +++ b/_includes/license-overview.html @@ -33,7 +33,7 @@

{% assign req = rule_obj.tag %} {% if license[type] contains req %}
  • - + {% if type == "permissions" %}✓{% elsif type == "conditions" %}ⓘ{% else %}✕{% endif %} {{ rule_obj.label }}
  • {% endif %} diff --git a/_includes/sidebar.html b/_includes/sidebar.html index e51b48e4a..414c19106 100644 --- a/_includes/sidebar.html +++ b/_includes/sidebar.html @@ -1,51 +1,54 @@