{"id":18446119,"url":"https://github.com/grrr-amsterdam/nova-publish","last_synced_at":"2025-04-15T02:37:39.625Z","repository":{"id":42127233,"uuid":"339096179","full_name":"grrr-amsterdam/nova-publish","owner":"grrr-amsterdam","description":"Add a publish button to trigger a Github Action workflow","archived":false,"fork":false,"pushed_at":"2025-02-26T14:21:39.000Z","size":320,"stargazers_count":0,"open_issues_count":4,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-02-26T15:29:36.192Z","etag":null,"topics":["github-actions-workflow","hacktoberfest-accepted","laravel","nova","static-site"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/grrr-amsterdam.png","metadata":{"files":{"readme":".github/readme-hero.png","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"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":"2021-02-15T14:03:20.000Z","updated_at":"2025-02-26T14:21:19.000Z","dependencies_parsed_at":"2025-02-07T15:28:14.680Z","dependency_job_id":"bf9b11a7-5c0c-4ab0-a594-4782d3a9c9de","html_url":"https://github.com/grrr-amsterdam/nova-publish","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grrr-amsterdam%2Fnova-publish","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grrr-amsterdam%2Fnova-publish/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grrr-amsterdam%2Fnova-publish/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/grrr-amsterdam%2Fnova-publish/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/grrr-amsterdam","download_url":"https://codeload.github.com/grrr-amsterdam/nova-publish/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248995118,"owners_count":21195499,"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":["github-actions-workflow","hacktoberfest-accepted","laravel","nova","static-site"],"created_at":"2024-11-06T07:08:26.966Z","updated_at":"2025-04-15T02:37:39.371Z","avatar_url":"https://github.com/grrr-amsterdam.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nova publish\n\n\u003c!-- Header \u0026 Preview Image --\u003e\n\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\".github/readme-hero.png\"\u003e\n\u003c/h1\u003e\n\n\u003c!-- Shields --\u003e\n\n[![Run tests](https://github.com/grrr-amsterdam/nova-publish/actions/workflows/run-tests.yaml/badge.svg)](https://github.com/grrr-amsterdam/nova-publish/actions/workflows/run-tests.yaml) [![Code style](https://github.com/grrr-amsterdam/nova-publish/actions/workflows/code-style.yaml/badge.svg)](https://github.com/grrr-amsterdam/nova-publish/actions/workflows/code-style.yaml)\n\n\u003c!-- Description --\u003e\n\n\u003e Adds a publish button to Nova to trigger a GitHub workflow which runs you static site generator\n\n### Developed with ❤️ by [GRRR](https://grrr.nl)\n\n- GRRR is a [B Corp](https://grrr.nl/en/b-corp/)\n- GRRR has a [tech blog](https://grrr.tech/)\n- GRRR is [hiring](https://grrr.nl/en/jobs/)\n- [@GRRRTech](https://twitter.com/grrrtech) tweets\n\n## Requirements\n\n[Return To Top](#nova-publish)\n\n- PHP 7.4\n- GitHub Actions workflow\n\n## Installation\n\n[Return To Top](#nova-publish)\n\nAdd the repository to `composer.json`\n\n```JSON\n\"repositories\": [\n    {\n        \"type\": \"vcs\",\n        \"url\": \"https://github.com/grrr-amsterdam/nova-publish\"\n    }\n]\n```\n\nAdd install the package\n\n```shell script\ncomposer require grrr-amsterdam/nova-publish\n```\n\nLoad the tool by adding it to `NovaServiceProvider.php`\n\n```php\nuse Publish\\Publish;\n\npublic function tools()\n{\n    return [new Publish()];\n}\n```\n\nPublish configuration\n\n```shell\nphp artisan vendor:publish --provider=\"Publish\\ToolServiceProvider\"\n```\n\nConfigure GitHub credentials, set the path to the workflow file and configure an application version.\n\n## GitHub API credentials\n\nPersonal Access Tokens (PATs) are currently the only way to access the GitHub API. The token is created by a GitHub user. So when this user is removed from the GitHub organization the token must be recreated by another user. Not ideal, so there is room for improvement.\n\nCreate a Personal Access Token: https://github.com/settings/tokens\n\n- Note: the name of the project\n- Expiration: No expiration (or you have to replace the token every time it expires)\n- Scopes: \"repo\" and \"workflow\"\n\nAdd the created token as environment variable `PUBLISH_GITHUB_PERSONAL_ACCESS_TOKEN`.\n\nYou GitHub username must be stored in `PUBLISH_GITHUB_USERNAME`.\n\n## Contribute\n\nYou need a Nova license to run the tests.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrrr-amsterdam%2Fnova-publish","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgrrr-amsterdam%2Fnova-publish","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgrrr-amsterdam%2Fnova-publish/lists"}