From 2b4d6c6d96c144da80698d17a12b8feb47dba82d Mon Sep 17 00:00:00 2001 From: Jordon Bedwell Date: Fri, 6 Mar 2020 03:59:11 -0600 Subject: [PATCH] Simplify the repo. This also adjust the license to ISC. --- .travis.yml | 3 +- CHANGELOG.md | 140 --------------------------------------------- CODE_OF_CONDUCT.md | 42 -------------- CONTRIBUTING.md | 130 ----------------------------------------- COPYING | 14 +++++ Gemfile | 11 ++-- LICENSE | 20 ------- 7 files changed, 23 insertions(+), 337 deletions(-) delete mode 100644 CHANGELOG.md delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md create mode 100644 COPYING delete mode 100644 LICENSE diff --git a/.travis.yml b/.travis.yml index def1c825..5d5f7461 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,7 +20,8 @@ env: " matrix: - JEKYLL_BRANCH="master" - - JEKYLL_VERSION="~> 3.7.0" + - JEKYLL_VERSION="~> 3.8.0" + - JEKYLL_VERSION="~> 4.0.0" - LINTING=true rvm: - 2.6 diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 78d46dfa..00000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,140 +0,0 @@ -## [Planned] - Planned as: [3.1.0] -### Change - -- Remove Sprockets 3.x support. -- Rewrite `{% asset srcset %}` so it takes raw proxy args. -- Remove support for Ruby < 2.4 - -## [Unreleased] - Planned as: [3.0.9] -### Added -- `magick:transparency` -- Add the ability to change formats w/ srcset. -- Allow raw compiles to -- Add default ImgOptim profile. -- `magick:background` - -### Fixed -- Make sure `@optim` worked, and `optim=profile` works. -- Make ImageMagick slightly faster using `new` w/ combine_options w/ format. -- Make sure that multiple proxy calls return the right path. -- Make sure not to output Proxy keys into HTML. - -## [3.0.8] - 2018-3-10 -### Added -- Add support for adding Clojure style `/* @alternate */` -- `:jekyll_assets_sassc` compressor. -- `:jekyll_assets_uglify` compressor. -- `:jekyll_assets_scss` compressor. - -### Hooks -- Added `asset` -> `after_compression` - This is useful for when you wish to implement things after compressing, - but before writing, or any other kind of pre-write transformations that might - happen within Sprockets. - -### Fixed -- Made sure to only enable Uglify.js when JavaScript is available. - -### Changes -- Revamped SourceMap integrations. -- Improved Utils.javascript? to return a boolean. -- Made AutoPrefixer load early, because it breaks a lot of stuff if not. -- Improved Utils.activate to return a boolean. -- Moved SourceMaps to the Plugin folder. - -### API Changes -- `SprocketsExportersFileExporterPatches` -> `SprocketsWriterPatches` -- Moved `Env.old_sprockets?`, and `Env.old?` to `Utils.old_sprockets?` -- [Alpha Feature]: Moved SourceMaps to the Plugin folder. - -## [3.0.7] - 2018-1-29 -### Added - -- Added a link to the migration guide. -- Make sure our defaults run first, so they never override plugin defaults. -- Add support for SASSC compression. This speeds us up a bit. -- Added total time taken to do work as a final log. - -#### Hooks -- Added `asset` -> `before_read` -- Added `asset` -> `before_write` -- Added `asset` -> `after_write` -- Added `asset` -> `after_read` - -### Changes - -- Allow `+` in Content-Types. -- Fix hook, where assets wouldn't generate. -- Fixed a bug with loopy Proxies, thanks @benben -- Refactored the way we handle `env` -> `after_write`. Now with 100% more asset. -- Moved `Utils.with_timed_logging` to `Logger.with_timed_logging` -- Refactored `Logger` to give it far less complexity. -- Encapsulate and handle errors more cleanly. -- Fixed a bug with discovering SVG images. -- Start colorizing the log. - -## [3.0.5, 3.0.6] - 2017-12-05 -### Fixed - -- Make sure we remove non-digested assets, so we can write them again. We - will subscribe to the always write method of handling non-digesting so that - we don't run into any problems when working with non-digested assets. - -## [3.0.4] - 2017-12-05 -### Added - -- `env` -> `before_write`, hook. - -### Changed - -- Use Regexp's for our HTML builders. -- Optimize our writes, speeding up our system slightly. The reason this is - slightly faster is because of the way Sprockets handles writing, if we do - it all at once, it's much faster than doing it one at a time. - -### Fixed - -- Don't output a path when doing `@inline` - - -## [3.0.3] - 2017-11-29 -### Added - -- Allow lowercase DOCTYPE. #455 -- Prevent network connections on XML. -- Add support for non-digest assets again (*sponsored-by* @anomaly) #458 -- Show how to use WebComponents. - -### Fixed - -- Make sure loops aren't broken. #449 -- Make sure we exclude some of our directories. #456. -- Only search for `` inside of `.html`, `.md` -- Make proxies deterministic. #451 -- Prevent Entity Decoding. - -## [3.0.2] - 2017-11-27 -### Fixed - -- Added support for Favicon #448 -- Enforce minimum Ruby version so people don't try to use older versions - of Ruby even though we note the minimum version inside of the README. - -## [3.0.1] - 2017-11-21 -### Added - -- `jekyll-assets.rb` - -## [3.0.0] - 2017-11-21 -### Changed - -- Rewrite for Sprockets 4.x -- Rewrite Proxies so they are cleaner, and faster/cached. -- Rewrite the Hook System. - -### Added - -- Sprockets 4.x support. -- SourceMaps for SASS, JavaScript. (*sponsored-by* @cameronmcefee) -- HTML Builder Defaults -- HTML Builders diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index 3ca3730b..00000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,42 +0,0 @@ -# Contributor Covenant Code of Conduct -## 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. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Gracefully accepting constructive criticism -* Being respectful of differing viewpoints and experiences -* Showing empathy towards other community members -* Focusing on what is best for the community -* Using welcoming and inclusive language - -Examples of unacceptable behavior by participants include: - -* Trolling, insulting/derogatory comments, and personal or political attacks -* Publishing private info, such as a physical, or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting -* Sexualized language, or imagery, and unwelcome sexual attention or advances -* Public, or private harassment - -## 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 `jordon@envygeeks.io`. The project team will review and investigate all complaints, and will respond in a way that it deems 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][homepage], version 1.4
-Available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index abc1866a..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,130 +0,0 @@ -[@envygeeks]: https://github.com/envygeeks - -# Contributing - -**Hi!** *Thanks for considering a contribution to this project*. Below you will find a short set of guidelines to help you with your contribution. Be it a bug report, a pull request, or even a question. Let me also let you know that you don't have to file a pull-request, or contribute "raw code" to this project. I would never ask you to do that if you do not wish to, or currently are unable to. All I ask is that you file bug reports, and be respectful of the fact that this software is provided for free, on a donation basis, and at mostly [@envygeeks] expense via time (and sometimes cash.) - -## Dependencies - -This project has an almost strict policy on dependencies. I do not do major updates (major version updates) of our current dependencies in anything but major releases, regardless of backwards compatibility. Dependencies are locked until the next major version. If there is a security reason for a major update, I ask that you file a bug with the upstream library and ask them to cut a minor release of the last release, which is proper. - -***If they cannot provide a security update for the latest version, I will consider adding the major version as an optional version, but not restricting it as the only acceptable starting version, but I will complain about having to do so, because that's not cool.*** - -### Languages - -When it comes to the language versions I support, if a language version becomes EOL (end-of-life) before a major release can be made, I will remove all official support for it before a major release, and update the list of supported versions inside of the testing. This is done to encourage users to keep updating quickly, rather than remaining on old, unstable, and unsupported versions of the language. - -#### Policies - -I tend to test on more than one version, and more than one back version of any given language if a major update hasn't been done in a while, and continue to support them as long as they are not end-of-life. For example, if my software starts with Ruby `2.2`, and the version is currently `2.5`, and I have no plans for a major update you can add `2.5` to the list of supported Rubies, however, the next major update will drop it to `2.4`, and `2.5`. If `2.2` becomes end-of-life, I will also drop it from the list. - -* **Ruby:** Latest + 1 Back -* **JRuby:** Latest Release ***only*** -* **Rubinius:** We do not support Rubinius at all. -* **Node.js:** Latest LTS + Latest Release + 1 Back -* **Go:** Latest + 1 Back - -***It should be noted that if I wish to have a feature of a language before I can make a major release, I may, or may not go ahead and enforce a newer version of a language in a point release (exp: 3.x) so that I can update my code and clean it up.*** - - -## Bugs/Features - -***If you do not wish to (or are unable to) file a pull-request, you can file a bug report for any issue you have...*** as long as it is not a question. Issues include *random results*, *random errors*, *segfaults*, or anything of that nature. When you do, please make sure to include the system you are working from, the version of the language or compiler you are working with, and any relevant information that can be used to replicate the issue. ***Unreplicable issues will be closed.*** ***You can (and are encouraged to) ask questions if they are about something not documented, or if there is a question about an ambiguity in the documentation, this will prompt me to update the documentation to fix the problem.*** - -### What to not do - -* Ask me to put an urgency on your issue. -* Be disrespectful: **I will block your comments**. -* ":+1:" comments, I will lock issues; preventing further comments. - * If you wish to "👍", "👎", or otherwise, please us the emoji-voting. -* Ask if there are "any updates" - -**I do accept donations for fixing issues on a case-by-case urgency basis, as well as for creating features, if you need an issue addressed quickly. If you wish to do this you should contact [@envygeeks]. Otherwise issues are fixed based on complexity, time, and importance. All my projects get equal love, and sometimes it takes a minute to get back around.** - -### Policies -#### Closing -* **Immediately:** `wontfix`, `stale`, `not-a-bug` -* **Closed on Next Release:** `close-on-next-release` -* **1 Week (7 Days)**: `pending-feedback` - -#### Fixing -* **Bugfix x.x.X:** `bug`, `blocker` -* **Minor x.X.x:** `non-blocker`, `bug`, `feature` -* **Immediately:** `documentation` - -## Pull Requests -### Tests - -If you change a method in any way, your tests ***must*** pass, and if there is an additional surface added, then you ***must add tests***, in Ruby I generally prefer to use RSpec, you should refer to RSpec's documentation for information on how it works, in Go, I prefer to use Go's native testing. - -* ***Ruby:*** `rake spec` -* ***Go:*** `go test -cover -v` -* `script/test` - -### Code - -Code updates should follow the formatting of the given repository, formatting in Ruby is generally done via `rubocop` and is generally tied into `rake` and `rake spec`. Changes that are unrelated will be rejected and asked to be removed, regardless of your personal preference. You can always port those unrelated changes into another pull-request, unless they are arbitrary. - -#### Basics - -* Write your code in a clean and readable format. -* Comment your code, at the high level, not lots of inline comments. -* Stay at 80 lines if you can. - -##### Good - -```ruby -# -- -# @param hello [String] your greeting -# Allows you to send a greeting back to the user -# @raise if the given object is not a string -# @return [String] the greeting -# -- -def greet(hello) - raise ArgumentError, "needs string" unless hello.is_a?(String) - alert hello, { - class: ".greeting" - } -end -``` - -##### Bad - -```ruby -# -- -# @param hello [String] your greeting -# Allows you to send a greeting back to the user -# @return [String] the greeting -# -- -def greet(hello) - # @raise if the given object is not a string - raise ArgumentError, "needs string" unless hello.is_a?(String) - # Ship it to the user - alert hello, { - class: ".greeting" - } -end -``` - -#### Commits - -Your pull-request should not add additional information outside of the Git-Commit. I understand this is Github, but explanitory data should remain in Git itself, not within Github (for the most part.) You should put the comment body of your pull request inside of your commit. - -``` -Message - -This pull-request solves X issue because it was really buggy. -Please do not add extra `\n\n` here because Github displays it -badly, so just let it flow, besides, this is what was intended for -Git anyways, you only keep your message at 80c. -``` - - -### Documentation - -Documentation updates should follow the formatting of the given repository. You will be required to go through an approval process and even a comment processes. This process is mostly simple and should not impede a quick resolution. You should be prepared for the following: - -* Requests for unrelated changes to be removed. -* Requests for language changes if the author feels it's ambiguous. -* Requests for formatting changes. -* Requests for `git squash` diff --git a/COPYING b/COPYING new file mode 100644 index 00000000..e9d2417a --- /dev/null +++ b/COPYING @@ -0,0 +1,14 @@ +Copyright 2012 - 2015 Aleksey V Zapparov +Copyright 2015 - 2018 Jordon Bedwell + +Permission to use, copy, modify, and/or distribute this software for +any purpose with or without fee is hereby granted, provided that the +above copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN +AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING +OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/Gemfile b/Gemfile index 42d4bb1a..48f41c12 100644 --- a/Gemfile +++ b/Gemfile @@ -1,13 +1,14 @@ # Frozen-string-literal: true -# Copyright: 2012 - 2018 - MIT License +# Copyright: 2012 - 2020 - MIT License +# rubocop:disable Bundler/DuplicatedGem # Encoding: utf-8 source "https://rubygems.org" gemspec -sv = "~> 4.0.beta" -gem "sprockets", ENV["SPROCKETS_VERSION"] || sv, require: false -# rubocop:disable Bundler/DuplicatedGem +s_version = "~> 4.0" +j_version = "~> 4.0" +gem "sprockets", ENV["SPROCKETS_VERSION"] || s_version, require: false if ENV["JEKYLL_VERSION"] gem "jekyll", ENV["JEKYLL_VERSION"], { require: false, @@ -17,4 +18,6 @@ elsif ENV["JEKYLL_BRANCH"] git: "https://github.com/jekyll/jekyll", branch: ENV["JEKYLL_BRANCH"], } +else + gem "jekyll", j_version end diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 818cbd3f..00000000 --- a/LICENSE +++ /dev/null @@ -1,20 +0,0 @@ -Copyright (c) 2012 - 2015 Aleksey V Zapparov (http://ixti.net/) -Copyright (c) 2015 - 2018 Jordon Bedwell (https://envygeeks.io) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -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.