{"id":13725419,"url":"https://github.com/mozillach/gh-projects-content-queue","last_synced_at":"2025-05-07T20:32:31.981Z","repository":{"id":12510532,"uuid":"72034370","full_name":"mozillach/gh-projects-content-queue","owner":"mozillach","description":"A Twitter content curation queue based on GitHub projects.","archived":true,"fork":false,"pushed_at":"2022-04-28T16:01:50.000Z","size":1819,"stargazers_count":7,"open_issues_count":30,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-08-04T01:27:44.110Z","etag":null,"topics":["board","content","ical","issue-cards","issues","mozilla","queue","twitter"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mozillach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null}},"created_at":"2016-10-26T18:51:55.000Z","updated_at":"2023-01-28T01:14:15.000Z","dependencies_parsed_at":"2022-08-07T07:00:15.772Z","dependency_job_id":null,"html_url":"https://github.com/mozillach/gh-projects-content-queue","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozillach%2Fgh-projects-content-queue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozillach%2Fgh-projects-content-queue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozillach%2Fgh-projects-content-queue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozillach%2Fgh-projects-content-queue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mozillach","download_url":"https://codeload.github.com/mozillach/gh-projects-content-queue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224645376,"owners_count":17346138,"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":["board","content","ical","issue-cards","issues","mozilla","queue","twitter"],"created_at":"2024-08-03T01:02:22.593Z","updated_at":"2024-11-14T15:31:20.159Z","avatar_url":"https://github.com/mozillach.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# gh-projects-content-queue\n\n\u003e This project is superceded by [content-queue](https://github.com/content-queue). The aim is to achieve the same thing but using GitHub actions. This makes the tool much easier to install, configure and run.\n\n[![Build Status](https://travis-ci.org/mozillach/gh-projects-content-queue.svg?branch=master)](https://travis-ci.org/mozillach/gh-projects-content-queue) [![codecov](https://codecov.io/gh/mozillach/gh-projects-content-queue/branch/master/graph/badge.svg)](https://codecov.io/gh/mozillach/gh-projects-content-queue) [![docker hub](https://img.shields.io/docker/build/mozillach/content-queue.svg)](https://hub.docker.com/r/mozillach/content-queue/builds)\n\nA content curation queue based on GitHub projects. Originally built for tweeting. Crowd sources content\ncreation, improves collaboration and gives better control over content quality.\n\n## Features\n\n- Represent tweets as GitHub issues\n    - Supports replying and retweets\n    - Auto add unhandled mentions as new issues\n- Auto add issues to a column in a dedicated project board\n- Auto post issues from a column in the dedicated board\n- Validate issue content to be valid for posting\n- Scheduling of posts to an exact time\n- Reaction squad system to ping people to react to a mention\n- Auto posting from a column in certain spacing (à la buffer)\n- Reminder system for posts that are due but not ready\n- Auto create posts for events from an ical feed\n- Auto create posts for new discourse threads\n- Auto create posts for posts in an Atom or RSS feed\n- Mastodon support\n    - Supports replying, reposts and spoilers\n\n### Planned\n\n- Tweet pinning management (will probably happen for Mastodon first, since there's actually an API for that there)\n- See all the issues with the enhancement tag...\n\n## Set up a repo for use with this tool\n\n### Requirements\n\n- GitHub user auth token (will use that to create issues and comment on them etc.)\n    - Log in with your GitHub user\n    - Go to your settings\n    - Go to \"Personal access token\" and go click on the \"Generate new token\" button\n    - Select the \"public_repo\" scope and if you are using it with an organization \"read:org\" and click save\n    - Add the resulting token to the `config.json` file (`accounts.github.token` property)\n- Twitter API credentials incl. OAuth tokens and secret (will tweet to this account)\n    - Create a new App through [developer.twitter.com/apps](https://developer.twitter.com/apps)\n    - Apply for a developer account if you don't have one yet\n    - There is no need to define a redirect URL, just leave the field blank\n    - Copy the consumer key and secret to the fields in the `config.json` file\n    - Click on \"Create access token\"\n    - Copy the access token key and secret to the fields in the `config.json` file\n- Mastodon OAuth access token (will toot to this account)\n    - In the following, replace `https://mastodoninstance.example.com` with the URL of your instance\n    - Create a new application at `https://mastodoninstance.example.com/settings/applications/new`\n    - Grant all read and write scopes. In theory the `read:accounts`, `read:statuses` and `write:statuses` should be enough at the moment, but this is untested\n    - Go to the application and copy the access token under \"Your access token\"\n    - The instance URL is probably `https://mastodoninstance.example.com/api/v1`\n    - Add both the access token and the instance URL to the fields in the `config.json` file\n- Node \u003e= 8.0.0\n\n### Issue template\nIssue templates are generated in the repository. See the documentation for GitHub issue templates.\n\n### Configuration\n[configuration.md](docs/configuration.md)\n\n### Run\n#### The tool\nThe tool can be executed with `npm start`. Note that you should first run `npm ci --production` or equivalent.\n\n#### The docker container\nOfficial Docker container: [`mozillach/content-queue`](https://hub.docker.com/r/mozillach/content-queue)\n\nThe latest tag corresponds to the master branch in this repository. Note that the docker container can only be configured via environment.\n\n#### The tests\nThe test suite can be ran with the default `npm test`. It includes linting of the code using eslint and unit tests with ava. Tests require no prior configuration other than running `npm ci` and that all files from this repository be present.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozillach%2Fgh-projects-content-queue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmozillach%2Fgh-projects-content-queue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozillach%2Fgh-projects-content-queue/lists"}