Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jamesluberda/github-pages-unscramble
github-pages-unscramble is a simple Jekyll plugin that undoes some runtime github-pages configuration changes
https://github.com/jamesluberda/github-pages-unscramble
Last synced: 5 days ago
JSON representation
github-pages-unscramble is a simple Jekyll plugin that undoes some runtime github-pages configuration changes
- Host: GitHub
- URL: https://github.com/jamesluberda/github-pages-unscramble
- Owner: jamesluberda
- License: mit
- Created: 2018-09-05T00:48:04.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2018-09-05T00:56:45.000Z (about 6 years ago)
- Last Synced: 2024-04-24T18:24:02.457Z (7 months ago)
- Language: Ruby
- Size: 7.81 KB
- Stars: 5
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-jekyll-plugins - **GitHub-Pages Unscramble** - pages-unscramble](https://rubygems.org/gems/github-pages-unscramble)) by James Luberda -- locally undoes the changes the GitHub pages plugin makes to a site's original plugin_dir and safe configuration settings and loads any file-based plugins in plugins_dir as well as any blocked plugins in _config.yml (Settings & Configurations Tweaks)
README
# Github::Pages::Unscramble
`github-pages-unscramble` is a simple Jekyll plugin that runs alongside the `github-pages` plugin to undo the changes that plugin makes to a site's original `plugin_dir` and `safe` configuration settings and load any file-based plugins in `plugins_dir`. It also loads any plugins specified in the site's `_config.yml` that would otherwise be ignored due to the `github-pages` whitelist filter.
For reference, the Jekyll `github-pages` gem reconfigures a Jekyll site at runtime, setting `plugins_dir` to a random string and `safe` to `true`, and as a result, local file-based plugins do not load. If you are not using `github-pages` or do not wish to run file-based plugins or non-whitelisted plugins, you do not need `github-pages-unscramble`.
Note: `github-pages-unscramble` is intended to facilitate local plugin development and execution in a local GitHub Pages configured environment. It does not enable non-whitelisted plugins or file-based plugins to run directly on GitHub Pages.
## Installation
Add this line to your application's Gemfile:
```ruby
gem 'github-pages-unscramble', group: :jekyll-plugins
```And then execute:
```
$ bundle
```NOTE: this gem must be included in the `jekyll-plugins` group to function.
## Usage
No additional action is required by the user after installation. The plugin will automatically run upon site initialization, and will restore the site's original `plugin_dir` and `safe` settings and subsequently load any newly discovered file-based plugins. Note that these are runtime changes only, as with the `github-pages` gem, and no configuration changes are made persistent. Please note that because this plugin is simply restoring pre-`github-pages` settings, if your site is already hard configured with `safe` on, it will continue to retain that value, and no custom plugins will be loaded.
## Debugging
`github-pages-unscramble` will report on the actions it is taking if you add `--verbose` to the end of your `bundle exec jekyll` command.
## Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/jamesluberda/github-pages-unscramble. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
## License
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
## Code of Conduct
Everyone interacting in the Github::Pages::Unscramble project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/jamesluberda/github-pages-unscramble/blob/master/CODE_OF_CONDUCT.md).