{"id":13525198,"url":"https://github.com/tducasse/pico8-deploy","last_synced_at":"2025-04-01T04:31:22.551Z","repository":{"id":50766958,"uuid":"372231175","full_name":"tducasse/pico8-deploy","owner":"tducasse","description":"An easy way to export and deploy PICO-8 projects to itch.io","archived":false,"fork":false,"pushed_at":"2022-03-04T14:31:18.000Z","size":24,"stargazers_count":28,"open_issues_count":0,"forks_count":3,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-11-02T09:33:41.420Z","etag":null,"topics":["build","deploy","gamedev","itchio","makefile","pico-8"],"latest_commit_sha":null,"homepage":"","language":"Makefile","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/tducasse.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}},"created_at":"2021-05-30T14:08:40.000Z","updated_at":"2024-08-23T02:23:21.000Z","dependencies_parsed_at":"2022-09-04T08:30:52.185Z","dependency_job_id":null,"html_url":"https://github.com/tducasse/pico8-deploy","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/tducasse%2Fpico8-deploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tducasse%2Fpico8-deploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tducasse%2Fpico8-deploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tducasse%2Fpico8-deploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tducasse","download_url":"https://codeload.github.com/tducasse/pico8-deploy/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246586085,"owners_count":20801024,"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":["build","deploy","gamedev","itchio","makefile","pico-8"],"created_at":"2024-08-01T06:01:16.771Z","updated_at":"2025-04-01T04:31:22.320Z","avatar_url":"https://github.com/tducasse.png","language":"Makefile","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# pico8-deploy\n## What the problem is\n[PICO-8](https://www.lexaloffle.com/pico-8.php) is super minimalistic. While that's a good thing for development, deploying and rebuilding a project can be a bit involved.\n\n## What this project does\nThis repo contains a single Makefile, which tries to provide a few useful targets to build and deploy a project PICO-8 (to [itch.io](https://itch.io/)).\n\n## Prerequisites\n- a standard version of Make for your system\n- if you plan on deploying to itch.io, [butler](https://itch.io/docs/butler/) - run `butler login` before you use the Makefile\n- well, PICO-8 and at least one .p8 file 😀\n\n## Setup\nFirst, let's do a little bit of setup:\n- put the Makefile in your root carts folder (the one that you get when you run `folder` in PICO-8)\n- for each project you're working on, create a folder and put the relevant .p8 file inside this folder\n- create a Makefile (empty for now) in each one of your \"project folder\"\n\nNow let's give make actual data:\nIn the \"root Makefile\", you'll see that there's a variable called `pico8`; this is where you tell make where `pico8-exe` (or whatever it is on your platform) is:\n```Makefile\n# just an example\npico8 = C://Users/USERNAME/Desktop/pico8.exe\n```\nIn your \"project Makefile\" (the one that's empty in your project folder), add the two following variables:\n```Makefile\n# this is the name of the .p8 in this folder, without the extension\nname = MY_FILE\n# this is your username and the name of your project on itch.io\nitchio = USERNAME/TEST-GAME\n```\n⚠ itch.io tends to convert the name of the project when there's underscores in it, replacing them with hyphens, so make sure you use the one that's shown in the URL and not the actual project name\n\n⚠ also, make sure you created the project on itch.io before you deploy to it, because butler doesn't create it for you\n\nℹ I'd recommend setting the size of your HTML embed on itch.io to 780x680 to get nice looking margins 😀\n\n## How to run\nIn the root carts folder, run\n```sh\nmake TARGET project=FOLDER\n```\nto run the operation `TARGET` on the project `FOLDER_NAME`.\n\n### List of useful targets\n- **all**: exports `web` and `bin`\n- **web**: exports `web`\n- **bin**: exports `bin`\n- **deploy**: exports and deploys `web` and `bin`\n- **deploy_bin**: exports and deploys `bin`\n- **deploy_web**: exports and deploys `web`\n- **clean**: removes the exports for both `web` and `bin`\n- **clean_web**: removes the exports for `web`\n- **clean_bin**: removes the exports for `bin`\n- **count**: count the number of characters in your .lua files\n \nOr just have a read through the Makefile! 😉\n\nFeel free to modify it however you want, and let me know if you come up with something cool, I'll be happy to integrate it to this project!\n\n### Sample run\nGiven the following architecture:\n```\nROOT_FOLDER/\n |_ Makefile\n |_ hello_world/\n    |_ my_file.p8\n    |_ Makefile\n```\n```Makefile\n# hello_world/Makefile\nname = my_file\nitchio = tducasse/test-deploy\n```\n```sh\nmake deploy project=hello_world \u0026\u0026 make clean project=hello_world\n```\n![image](https://user-images.githubusercontent.com/11507599/120108688-ae218c00-c1a9-11eb-8aad-b86b9d7e4186.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftducasse%2Fpico8-deploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftducasse%2Fpico8-deploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftducasse%2Fpico8-deploy/lists"}