jektify

Jekyll plugin to generate HTML code fragments to incorporate music from Spotify


Keywords
ruby, jekyll, jekyll-plugin, spotify, jekyll-spotify-plugin, jektify
License
MIT
Install
gem install jektify -v 1.0.7

Documentation

Jektify

Gem Version Build Status security

Jektify is beautiful and Customizable, much more appealing than a simple "iframe"!

Jektify is a jewel using to enter a theme for track entry, playlist, albums and artists of Spotify, in Jekyll templates.

Besides inserting music is fully responsive, adjusting as your page layout, even on mobile devices.

Installation

Add this line to your application's Gemfile:

gem 'jektify'

And then execute:

$ bundle

Or install it yourself as:

$ gem install jektify

Usage

To use, you need Jekyll installed, since Jektify is a gem for the same. You can have more information about Jektify on our homepage, where you'll be detailing step by step how to use Jektyll together.

Documentation

See: https://jektify.github.io

Development

It all starts with:

$ git clone https://github.com/jektify/jektify.git
$ cd jektify

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

Code

The Jektify code is stored in the folder "lib". Every time you change the version, it has to be changed in the file "lib/jektify/version.rb" respecting the version hierarchy. Files where the version should be changed:

  • lib/jektify/version.rb
  • bin/travis
  • src/dev/page/Gemfile
  • package.json
  • gulpfile.babel.js
  • cdn/v[VERSION]

JavaScript

Jektify uses javascript, where it is located in the folder "src/dev/js/jektify.js". All Javascript code must be written to it, regardless of whether it uses ES6 or not. Gem will use it in the folder "assets/vendor/jektify/js", and you need to minify it with Gulp to play it there. To do this, run on the terminal in the root directory of Jektify:

$ gulp

The cdn folder should contain the original and mined jektify javascript file. It will have a folder structure with the name of each version of Jektify. The service that makes CDN available is Jsdelivr.

Sass

The layout of Jektify is being attributed by the file "assets/vendor/jektify/sass/_jektify.scss", in this file you should write everything stylesheets Jektify using the methodology BEM.

Pack

Now, you can generate the gem of Jektify with the bundle exec rake build command, it will be bundled in the directory "pkg". To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Webpage

The development of the Jektify page is in the folder "src/dev/page", it is a Jekyll template. To develop, you need to update the Jektify version in the Gemfile file according to the version of the gem in development of Jektify.

group :jekyll_plugins do
  gem "jektify", "~> [VERSION_DEVELOPMENT]"
end

After that execute:

$ bundle install
$ ./serve

If Jektify adds new features and options, you should configure the file " _config.yml" in the Jektify block.

Travis

The Jektify uses Travis to do the gem tests, you should configure the Ruby version in .travis.yml (hidden) if necessary.

The "bin/travis" file will be the file that Travis will use to perform the script tests, in this file you must change the Jektify version in the variable "APP__VERSION" to the version that the Jekyll test project will use Jektify.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/jektify/jektify. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

Donation

If you liked my work, buy me a coffee <3

paypal

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the Jektify project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.

Credits

William C. Canin