{"id":13818882,"url":"https://github.com/fulldecent/lightning-sites","last_synced_at":"2025-07-29T00:32:43.292Z","repository":{"id":3927068,"uuid":"51333282","full_name":"fulldecent/lightning-sites","owner":"fulldecent","description":":cloud: Lightning deployment for your ~/Sites folders","archived":false,"fork":false,"pushed_at":"2023-02-16T16:55:10.000Z","size":127,"stargazers_count":10,"open_issues_count":3,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-06-26T09:53:10.825Z","etag":null,"topics":["continuous-delivery","continuous-deployment","continuous-integration","deployment","frontend","html","website"],"latest_commit_sha":null,"homepage":"","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/fulldecent.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.MD","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":["fulldecent"],"custom":["https://www.paypal.me/fulldecent","https://amazon.com/hz/wishlist/ls/EE78A23EEGQB"]}},"created_at":"2016-02-08T22:55:01.000Z","updated_at":"2022-05-23T15:01:25.000Z","dependencies_parsed_at":"2023-07-05T17:15:32.631Z","dependency_job_id":null,"html_url":"https://github.com/fulldecent/lightning-sites","commit_stats":null,"previous_names":["fulldecent/sites"],"tags_count":28,"template":false,"template_full_name":null,"purl":"pkg:github/fulldecent/lightning-sites","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulldecent%2Flightning-sites","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulldecent%2Flightning-sites/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulldecent%2Flightning-sites/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulldecent%2Flightning-sites/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fulldecent","download_url":"https://codeload.github.com/fulldecent/lightning-sites/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fulldecent%2Flightning-sites/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267184073,"owners_count":24049126,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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","continuous-deployment","continuous-integration","deployment","frontend","html","website"],"created_at":"2024-08-04T08:00:34.033Z","updated_at":"2025-07-29T00:32:43.245Z","avatar_url":"https://github.com/fulldecent.png","language":"Ruby","funding_links":["https://github.com/sponsors/fulldecent","https://www.paypal.me/fulldecent","https://amazon.com/hz/wishlist/ls/EE78A23EEGQB"],"categories":["How do I use it"],"sub_categories":[],"readme":"# :cloud: Lightning Sites ![Gem](https://img.shields.io/gem/v/lightning_sites)\n\n*Lightning Sites* gives you beautifully simple deployment for your ~/Sites folders, inspired by [Fastlane](https://fastlane.tools/). We support all deployment setups, such as:\n\n * Single developer and push when done\n\n    ```\n    [LOCALHOST] ----deploy---\u003e [PRODUCTION]\n    ```\n\n * The way you shouldn't edit PHP websites (but people do it anyway)\n\n    ```\n    [LOCALHOST] \u003c---promote/demote---\u003e [PRODUCTION]\n    ```\n\n * Version-controlled with a build step\n\n    ```\n    [SCM] \u003c-push/pull-\u003e [LOCALHOST] --build-\u003e [STAGING] --deploy-\u003e [QA/PRODUCTION]\n    ```\n\nYou set up each site with a simple rakefile and customize as necessary. Then you can perform powerful tasks quickly, including validation, backups and even SEO tasks.\n\n\n# Instant setup\n\n**The easiest way to to use Lightning Sites is to [clone the example repository](https://github.com/fulldecent/html-website-template).** It is a one-page website, about horses, and includes everything a modern website should have. You do NOT need to be a programmer to use that template, it is very end-user friendly. Click the link and see the features checklist if you are interested.\n\n# Slow setup\n\nCreate a `Gemfile` and add `lightning_sites` to it\n\n```ruby\nsource \"https://rubygems.org\"\n\ngem \"lightning_sites\"\n```\n\nAnd install with:\n\n```sh\ngem install bundler\nbundle install # this takes \u003c10 minutes the first time\n```\n\nNext, create a `Rakefile` by starting with this and editing server credentials:\n\n```ruby\nabort('Please run this using `bundle exec rake`') unless ENV[\"BUNDLE_BIN_PATH\"]\nrequire 'lightning_sites' # https://github.com/fulldecent/lightning-sites\n\n@build_excludes.push('README.md','LICENSE','CONTRIBUTING.md')\nproduction_base = 'horseslov@172.16.11.23:'\n@remote_dir = \"#{production_base}www\"\n@backup_targets = {\n  'www' =\u003e \"#{production_base}www\",\n  'logs' =\u003e \"#{production_base}logs\"\n}\n\ndesc \"Perform website build\"\ntask :build =\u003e ['rsync:copy_build', 'git:save_version']\n\ndesc \"Perform all testing on the built HTML\"\ntask :test =\u003e [:build, 'html:check']\n\ndesc \"Publish website to productions server\"\ntask :publish =\u003e ['rsync:push']\n```\n\n* Update `.gitignore` to include `tmp`, `BUILD/` and `BACKUP/`\n* Update `_travis.yml` to call `bundle exec rake test`, [see full example here](https://github.com/fulldecent/html-website-template/blob/master/.travis.yml)\n* Update Jekyll excludes in `_config.yml`, if you have one, then exclude these new files and gitignores\n\n# How to use it\n\nHere are the amazing new commands you can use right away.\n\n```bash\nbundle exec rake build\nbundle exec rake test\nbundle exec rake publish\n```\n\nHere is the full list of tasks. This list comes up by default when you run `bundle exec rake`.\n\n```bash\nrake git:pull                  # Incorporate changes from the remote repository into the current branch\nrake git:save_version          # Save the commit hash to VERSION in the build directory\nrake git:stale_report          # Print the modified date for all files under source control\nrake git:status                # Display paths that have differences between the index file and the current HEAD commit\nrake html:check                # Check everything with htmlproofer that is reasonable to check\nrake html:check_onsite         # Check HTML with htmlproofer, skip external links\nrake html:find_external_links  # Find all external links\nrake jekyll:build              # Build Jekyll site\nrake jekyll:test               # Run a Jekyll test server\nrake rsync:backup              # Backup items from remote server\nrake rsync:copy_build          # Copy the source directory to the build directory, excluding some files\nrake rsync:pull[remote]        # Bring remote files to build directory (use rsync-style paths)\nrake rsync:push[remote]        # Send build directory to remote server (use rsync-style paths)\nrake seo:find_301              # Find 301s\nrake seo:find_404              # Find 404s\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulldecent%2Flightning-sites","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffulldecent%2Flightning-sites","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffulldecent%2Flightning-sites/lists"}