{"id":15684046,"url":"https://github.com/azu/post-tweet","last_synced_at":"2025-05-07T15:01:32.048Z","repository":{"id":66143577,"uuid":"128194876","full_name":"azu/post-tweet","owner":"azu","description":"Simple post client for twitter and bluesky.","archived":false,"fork":false,"pushed_at":"2024-05-26T04:54:54.000Z","size":468,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-31T11:11:37.178Z","etag":null,"topics":["bluesky","electron","scheme","twitter","webhook"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/azu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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},"funding":{"github":"azu"}},"created_at":"2018-04-05T11:09:40.000Z","updated_at":"2024-12-23T14:32:01.000Z","dependencies_parsed_at":"2024-11-02T09:03:19.690Z","dependency_job_id":null,"html_url":"https://github.com/azu/post-tweet","commit_stats":{"total_commits":48,"total_committers":2,"mean_commits":24.0,"dds":0.08333333333333337,"last_synced_commit":"8cfd669bd4312994c827d48e692fd1f4a688b6a5"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azu%2Fpost-tweet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azu%2Fpost-tweet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azu%2Fpost-tweet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/azu%2Fpost-tweet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/azu","download_url":"https://codeload.github.com/azu/post-tweet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252902604,"owners_count":21822259,"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":["bluesky","electron","scheme","twitter","webhook"],"created_at":"2024-10-03T17:10:11.180Z","updated_at":"2025-05-07T15:01:31.989Z","avatar_url":"https://github.com/azu.png","language":"JavaScript","funding_links":["https://github.com/sponsors/azu"],"categories":[],"sub_categories":[],"readme":"# post-tweet\n\nPost only twitter/bluesky client application.\n\n![Image](docs/screenshot.png)\n\npost-tweet should be launched by [URL Scheme](https://github.com/azu/post-tweet#url-scheme).\n\n## Feature\n\n- Simple Post UI\n- Post to Twitter\n- Post to Bluesky\n- Cross Posting\n- URL Scehema Support - Easy to integrate with Browser\n\n## Installation\n\nYou should create a binary on your env.\n\n    yarn\n    cp src/renderer/service.example.js src/renderer/service.js\n    # edit src/renderer/service.js\n    yarn dist\n    # output binary\n\n## Configuration\n\nYou need to edit `src/renderer/service.js` to enable services.\n\n### Twitter\n\n0. Visit https://developer.twitter.com/en/portal/dashboard\n1. Create App(development App) with read and write permission\n2. Generate Consumer Key and Secret\n3. Generate Access Token and Secret\n4. Fill the following options\n\n```json5\n{\n  enabled: true,\n  name: \"twitter\",\n  indexPath: path.join(__dirname, \"services/twitter/index.js\"),\n  options: {\n    // 0. Visit https://developer.twitter.com/en/portal/dashboard\n    // 1. Create App(development App) with read and write permission\n    // 2. Generate Consumer Key and Secret\n    // 3. Generate Access Token and Secret\n    // 4. Fill the following fields\n    // Consumer Keys\n    appKey: \"app key\",\n    appSecret: \"app secret\",\n    // Authentication Tokens(Access Token and Secret).\n    // Warning: Not Bearer Token\n    // Post Tweets that requires access token and secret\n    accessToken: \"access token\",\n    accessSecret: \"access token secret\"\n  }\n}\n```\n\n### Bluesky\n\n1. Visit https://bsky.app/settings/app-passwords\n2. Create new App Password\n3. Fill the following options\n\n```json5\n{\n  enabled: true,\n  name: \"bluesky\",\n  indexPath: path.join(__dirname, \"services/bluesky/index.js\"),\n  options: {\n    // 1. Visit https://bsky.app/settings/app-passwords\n    // 2. Create new App Password\n    // 3. Fill the following fields\n    username: \"username.bsky.social\",\n    appPassword: \"password\"\n  }\n}\n```\n\n## Usage\n\n1. Open app\n    - Launch app and register URL Scheme\n2. Input description\n3. Post tweet by \u003ckbd\u003eCmd+Shift+Enter\u003c/kbd\u003e shortcut\n\n## URL Scheme\n\npost-tweet support `post-tweet://` schema.\n\n:warning: You should launch the app before call URL Scheme.\n\nYou can open the app from your browser.\n `post-tweet://` schema support following parameter.\n\n- `url`: URL\n- `title`: Title\n- `quote`: Quoted text\n\nExample:\n\n```js\nconst selectedText = window.getSelection().toString();\nlocation.href = `post-tweet://?url=${encodeURIComponent(window.top.location.href)}\u0026title=${encodeURIComponent(window.top.document.title)}\u0026quote=${encodeURIComponent(selectedText)}`\n```\n\n## Related\n\n- [Postem](https://github.com/azu/postem)\n  - [Postem](https://github.com/azu/postem) is similar concet, but it has more rich features\n\n## Contributing\n\n1. Fork it!\n2. Create your feature branch: `git checkout -b my-new-feature`\n3. Commit your changes: `git commit -am 'Add some feature'`\n4. Push to the branch: `git push origin my-new-feature`\n5. Submit a pull request :D\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazu%2Fpost-tweet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fazu%2Fpost-tweet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fazu%2Fpost-tweet/lists"}