{"id":15538218,"url":"https://github.com/benbalter/redliner","last_synced_at":"2025-04-23T13:45:14.671Z","repository":{"id":22648595,"uuid":"25991609","full_name":"benbalter/redliner","owner":"benbalter","description":"A tool for facilitating the redlining of documents with the GitHub uninitiated","archived":false,"fork":false,"pushed_at":"2023-01-18T20:42:18.000Z","size":3749,"stargazers_count":26,"open_issues_count":12,"forks_count":6,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-14T13:17:48.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/benbalter.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-30T22:03:12.000Z","updated_at":"2024-03-21T16:24:33.000Z","dependencies_parsed_at":"2023-02-10T18:00:24.356Z","dependency_job_id":null,"html_url":"https://github.com/benbalter/redliner","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbalter%2Fredliner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbalter%2Fredliner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbalter%2Fredliner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benbalter%2Fredliner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benbalter","download_url":"https://codeload.github.com/benbalter/redliner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250442049,"owners_count":21431254,"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":[],"created_at":"2024-10-02T12:02:37.923Z","updated_at":"2025-04-23T13:45:14.656Z","avatar_url":"https://github.com/benbalter.png","language":"Ruby","funding_links":[],"categories":["Tips, tricks, tools, and add-ons for GitHub power users"],"sub_categories":[],"readme":"# Redliner\n\nA tool for facilitating the redlining of documents by the GitHub uninitiated.\n\n![screenshot](https://cloud.githubusercontent.com/assets/282759/4864720/931fdd14-611e-11e4-9d17-927cc5b20704.png)\n\n## How it works\n\n1. You give the editor a unique, hashed URL\n2. They edit the GitHub-hosted document, either semi-anonymously or authenticated through Github\n3. When they click submit, Redliner automatically creates a pull request on their behalf\n\n## Are users authenticated?\n\nBy default, the user is simply prompted to enter their name, so be sure to only share URLs with those you trust.\n\nThe user can also authenticate with their GitHub account, if they have one, which will create the pull request on their behalf, rather than using a bot account.\n\n## How to generate a hashed URL\n\nSwap `github.com` for your hosted Redliner instance in the URL to any file on GitHub.\n\nYou will be automatically redirect to the unique, hashed URL which you can then share with other, non-GitHub users.\n\n## Running\n\nThis app is a simple Sinatra app. It's designed to run on Heroku, but can run anywhere.\n\nFirst, you'll need to create a [developer application](https://github.com/settings/applications), which is used to authenticate users with GitHub accounts. The callback URL for authentication is simply the root URL. Once done, set these two environmental variables:\n\n* `GITHUB_CLIENT_ID`\n* `GITHUB_CLIENT_SECRET`\n\nNext, you'll want to create a bot account with a [personal access token](https://github.com/settings/applications) scoped to the relevant repositories. Select `public_repo` to give it permission to read and write from repositories that it can access (and/or `repo` if it'll be working with private repos). Using your main account, make sure that the bot has both read *and write* access to each repository it will access. Once done, simply set the personal access token as:\n\n* `GITHUB_TOKEN`\n\nYou'll also need a Redis database. The free level of any of the [Heroku addons](https://addons.heroku.com/#data-stores) should work, but Redistogo will work out of the box. Just run\n\n`heroku addons:add redistogo`\n\nIf you want to use a different provider, just make sure that the database's URL is set as `REDIS_URL`.\n\n## Project status\n\nStill in development. [There's a lot to be done](https://github.com/benbalter/redliner/issues), and we'd love your help.\n\n## Contributing\n\n### Flow\n\n\n1. Take a look at [the open issues](https:https://github.com/benbalter/redliner/issues).\n2. Fork the repository\n3. Create a descriptively named feature branch\n4. Tackle an open issue\n5. Submit a pull request\n\n### Working Locally\n\nInstall your fork of Redliner locally:\n\n```\ngit clone git@github.com:your-name/redliner.git\ncd redliner\nbundle install\ntouch .env\ngit checkout -b descriptive-branch-name\n```\nSet your local variables for `GITHUB_CLIENT_ID`, `GITHUB_CLIENT_SECRET`, and `GITHUB_TOKEN` in `.env`. You'll probably want to create a separate Github application for this, as you'll need to set `localhost:5000` as the callback URL.\n\nThen, start up a local Redis server (you may need to install Redis):\n```\nredis-server --port 16379\n```\nStart the app:\n```\nforeman start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenbalter%2Fredliner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenbalter%2Fredliner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenbalter%2Fredliner/lists"}