{"id":18026803,"url":"https://github.com/yegor256/jekyll-github-deploy","last_synced_at":"2025-04-09T08:07:37.566Z","repository":{"id":16215140,"uuid":"18962229","full_name":"yegor256/jekyll-github-deploy","owner":"yegor256","description":"Jekyll Site Automated Deployer to GitHub Pages","archived":false,"fork":false,"pushed_at":"2024-10-01T15:09:10.000Z","size":113,"stargazers_count":80,"open_issues_count":5,"forks_count":13,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-10-07T15:36:02.508Z","etag":null,"topics":["continuous-delivery","deployment","devops","github-pages","jekyll","jekyll-blog","jgd","ruby","ruby-gem"],"latest_commit_sha":null,"homepage":"https://rubygems.org/gems/jekyll-github-deploy","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yegor256.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-04-20T10:22:39.000Z","updated_at":"2024-06-07T07:38:25.000Z","dependencies_parsed_at":"2023-10-11T15:18:56.057Z","dependency_job_id":"64229781-b848-43fa-a5b2-5d84d5194557","html_url":"https://github.com/yegor256/jekyll-github-deploy","commit_stats":{"total_commits":134,"total_committers":12,"mean_commits":"11.166666666666666","dds":0.4850746268656716,"last_synced_commit":"abeb80ac4627e80d6197c1073897cb7eb413b9d6"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Fjekyll-github-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Fjekyll-github-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Fjekyll-github-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yegor256%2Fjekyll-github-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yegor256","download_url":"https://codeload.github.com/yegor256/jekyll-github-deploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247999859,"owners_count":21031046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["continuous-delivery","deployment","devops","github-pages","jekyll","jekyll-blog","jgd","ruby","ruby-gem"],"created_at":"2024-10-30T08:08:07.130Z","updated_at":"2025-04-09T08:07:37.560Z","avatar_url":"https://github.com/yegor256.png","language":"Ruby","readme":"\u003cimg src=\"/logo.svg\" width=\"64px\" height=\"64px\"/\u003e\n\n[![DevOps By Rultor.com](https://www.rultor.com/b/yegor256/jekyll-github-deploy)](https://www.rultor.com/p/yegor256/jekyll-github-deploy)\n[![We recommend RubyMine](https://www.elegantobjects.org/rubymine.svg)](https://www.jetbrains.com/ruby/)\n\n[![rake](https://github.com/yegor256/jekyll-github-deploy/actions/workflows/rake.yml/badge.svg)](https://github.com/yegor256/jekyll-github-deploy/actions/workflows/rake.yml)\n[![Gem Version](https://badge.fury.io/rb/jgd.svg)](https://badge.fury.io/rb/jgd)\n[![Hits-of-Code](https://hitsofcode.com/github/yegor256/jekyll-github-deploy)](https://hitsofcode.com/view/github/yegor256/jekyll-github-deploy)\n[![License](https://img.shields.io/badge/license-MIT-green.svg)](https://github.com/yegor256/jekyll-github-deploy/blob/master/LICENSE.txt)\n\nIf you use some plugins with your [Jekyll](https://jekyllrb.com/) blog, chances are you can not\nhave your blog generated by [GitHub Pages](https://pages.github.com/).\nFirst of all, because they [do not allow](https://help.github.com/en/articles/adding-jekyll-plugins-to-a-github-pages-site)\ncustom plugins.\nThis is where jekyll-github-deploy (a.k.a. jgd) comes in: it will\nautomatically build your Jekyll blog and push it to your gh-pages\nbranch. You may want to read this blog post before you start\nusing this tool:\n[_Deploy Jekyll to GitHub Pages_](https://www.yegor256.com/2014/06/24/jekyll-github-deploy.html).\n\nIt is assumed that your blog is in the home directory of your repo.\n\nInstall it first:\n\n```bash\n$ gem install jgd\n```\n\nRun it locally:\n\n```bash\n$ jgd\n```\n\nNow your site is deployed to `gh-pages` branch of your repo. Done.\n\nBelow is a list of all command line options.\n\n| Option | Description |\n| -------- | ----------- |\n| `-u` or `--url` | The GitHub URL. Defaults to th URL of your current project. |\n| `-b` or `--branch` | The branch to push your site to. Defaults to `gh-pages`. If the branch does not exist, it will be created. |\n| `-r` or `--branch-from` | The source branch. Defaults to `master`. |\n| `-c` or `--config` | Name of the optional deploy config file. See [Production variables](#production-variables) below for more information. |\n| `-d` or `--drafts` | Adds the `--drafts` option to Jekyll so that it will build draft posts. |\n| `-h` or `--help` | Displays a list of all options. |\n\nIf you need to have different values for your deployed blog, just add a\n`_config-deploy.yml` file in your project's root and you're set. Values\nre-defined in `_config-deploy.yml` will override those defined in\n`_config.yml`.\n\nTypical usage includes changing site `url`, disable disqus or ga in\ndevelopment...., you name it.\n\nWhile `_config-deploy.yml` is the default, you may specify any config\nfile by using the `--config` command line option.\n\nFor example:\n```sh\n$ jgd -c _config-deploy-develop.yml -r develop -b gh-pages-develop\n```\n\n## Deploying with Travis\n\nThis is how I configure [my Jekyll blog](https://github.com/yegor256/blog)\nto be deployed automatically by [travis-ci](http://www.travis-ci.org):\n\n```yaml\nbranches:\n  only:\n    - master\nenv:\n  global:\n    - secure: ...\ninstall:\n  - bundle\nscript: jgd -u http://yegor256:$PASSWORD@github.com/yegor256/blog.git\n```\n\nThe environment variable `$PASSWORD` is set through\n`env/global/secure`, as explained\n[here](http://docs.travis-ci.com/user/encryption-keys/).\n\nDon't forget to add `gem require 'jgd'` to your `Gemfile`.\n\nYou can use SSH key instead. First, you should [encrypt](https://docs.travis-ci.com/user/encrypting-files/) it:\n\n```bash\n$ travis encrypt-file id_rsa --add\n```\n\nThen, use the URI that starts with `git@`:\n\n```yaml\nscript:\n  - jgd -u git@github.com:yegor256/blog.git\n```\n\n## Building locally\n\nIn order to build a package locally run below commands.\n\n```bash\ngem build jgd.gemspec\ngem install jgd-\u003cversion\u003e.gem\n```\n\n## How to Contribute\n\nFirst, install\n[Ruby 2.3+](https://www.ruby-lang.org/en/documentation/installation/),\n[Rubygems](https://rubygems.org/pages/download),\nand\n[Bundler](https://bundler.io/).\nThen:\n\n```bash\n$ bundle update\n$ bundle exec rake --quiet\n$ ./tesh.sh\n```\n\nThe build has to be clean. If it's not, [submit an issue](https://github.com/zold-io/out/issues).\n\nThen, make your changes, make sure the build is still clean,\nand [submit a pull request](https://www.yegor256.com/2014/04/15/github-guidelines.html).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyegor256%2Fjekyll-github-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyegor256%2Fjekyll-github-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyegor256%2Fjekyll-github-deploy/lists"}