{"id":22057076,"url":"https://github.com/fspoettel/stakk-content","last_synced_at":"2025-03-23T16:22:40.301Z","repository":{"id":46336382,"uuid":"388586643","full_name":"fspoettel/stakk-content","owner":"fspoettel","description":"content for stakk.ltd","archived":false,"fork":false,"pushed_at":"2022-02-03T11:00:47.000Z","size":28847,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-28T22:31:31.258Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://stakk.ltd","language":null,"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/fspoettel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-07-22T20:18:07.000Z","updated_at":"2021-10-30T11:37:16.000Z","dependencies_parsed_at":"2022-08-29T20:31:52.036Z","dependency_job_id":null,"html_url":"https://github.com/fspoettel/stakk-content","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/fspoettel%2Fstakk-content","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspoettel%2Fstakk-content/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspoettel%2Fstakk-content/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fspoettel%2Fstakk-content/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fspoettel","download_url":"https://codeload.github.com/fspoettel/stakk-content/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245128988,"owners_count":20565377,"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-11-30T16:16:05.108Z","updated_at":"2025-03-23T16:22:40.257Z","avatar_url":"https://github.com/fspoettel.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# stakk-content\n\nThis repository tracks content for [stakk](https://stakk.ltd). You are welcome to add your own stack to it by following the instructions below.\n\n## Adding a stack\n\nstacks are added as JSON files. You can validate your JSON files [here](https://jsonlint.com/). If you are unsure, check out one of the existing stacks in `/data`.\n\n1. add a folder with your desired username to `/data`.\n2. in `/data/${username}`, add a file `${stackname}.json`. If your stack is named _mixtapes_, name the file `mixtapes.json`. You can have more than one stack if you like.\n3. add content to the file:\n\n```json\n{\n  \"title\": \"Nice Mixtapes\",\n  \"slug\": \"nice-mixtapes\",\n  \"author\": {\n    \"name\": \"Felix S\",\n    \"slug\": \"felix-s\",\n    \"url\": \"https://some-url.com\"\n  },\n  \"theme\": {\n    \"background\": \"#FFD600\",\n    \"text\": \"#34332B\"\n  },\n  \"items\": []\n}\n```\n\n* `id` a unique id. get one [here](https://www.getuniqueid.com/cuid)\n* `title` - the title of this stack\n* `slug` - the slug of this mix. **only lowercase letters and `-`, no spaces**\n* `author`\n  * `name` - your name\n  * `slug` - the slug of your user. **only lowercase letters and `-`, no spaces**\n  * `url` - a link for your user name\n* `theme` (optional)\n  * `background` (optional) a hex code. leave empty or set to `null` (without quotes) for the default theme.\n  * `text` (optional) a hex code. leave empty or set to `null` (without quotes) for the default theme.\n* `items` see below\n\n## Adding a stack item\n\nItems are added to the `items` array in your mix. New items are added to the bottom of the array. Each item should look like this:\n\n```json\n    {\n      \"createdAt\": \"2021-07-01T00:00:00Z\",\n      \"id\": \"ckqz4g09c000301mpeti04vdg\",\n      \"title\": \"Come to my Garden\",\n      \"slug\": \"come-to-my-garden\",\n      \"links\": [\n        \"https://www.mixcloud.com/mcmirage/come-to-my-garden/\",\n        \"https://open.spotify.com/playlist/3877PFqx7sGMccAWA7tInU\",\n        { \"title\": \"Stream\", \"url\": \"https://instagram.com\" }\n      ],\n      \"tags\": [\n        \"Baroque Pop\",\n        \"Psych. Pop\"\n      ],\n      \"tracklist\": [\n        {\n          \"artist\": \"Minnie Riperton\",\n          \"title\": \"Come To My Garden\",\n          \"at\": \"00:00\"\n        },\n        {\n          \"artist\": \"Hildgard Knef\",\n          \"title\": \"Insel meiner Angst\",\n          \"at\": \"03:15\"\n        }\n      ]\n    }\n```\n\n* `createdAt` the date this mix was created as an ISO timestamp. get one [here](https://timestampgenerator.com/)\n* `id` a unique id. get one [here](https://www.getuniqueid.com/cuid)\n* `title` the title of this item\n* `slug` the slug of your user. **only lowercase letters and `-`, no spaces**\n* `tags` (optional) up to **two** tags\n* `links` (optional). an array of links. a link can either be:\n  * a `url` - use this for spotify playlists or mixcloud mixes. we handle these automatically.\n  * an `object` - use this for custom links. You need to enter a `title` and `url` in this case.\n* `tracklist` an array of tracks. each track looks liks this:\n  * `artist`\n  * `title`\n  * `at` set to `00:00` for spotify\n\n## Adding a cover to an item\n\nYou can add a cover to your mix by placing an image into `./assets`. The file name **needs to match the slug of the item**. If your item is called `awesome-mix`, the filename needs to be `awesome-mix.jpg`.\n\nThe file should be **square**. The minimum size is 600x600, preferably 1200x1200. Larger images are automatically optimized but please keep it reasonable as this affects build times. Ideally, you add **1200x1200** images here.\n\n## Submitting your entry\n\nSubmit a PR with your stack. Once merged, a build will start and your stack will be published.\n\n## URLs\n\nOnce you added a stack, it will be available on: `https://stakk.ltd/{user.slug}/{stack.slug}`\n\nYour latest stack will also be available at: `https://stakk.ltd/{user.slug}`\n\nIndividual items in the stack are available via: `https://stakk.ltd/{user.slug}/{stack.slug}/{item.slug}`. In this case, the referenced item will be on top of the stack.\n\nThere is a RSS feed for your stack at: `https://stakk.ltd/rss/{user.slug}/{stack.slug}.xml`\n\n## Why a Github repo?\n\nThis started as a static website I built for myself. I'm currently trying to figure out whether to turn this into an app and this is a stopgap solution. If you have a use case for this that is not music, please [get in touch](https://stakk.ltd/about).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffspoettel%2Fstakk-content","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffspoettel%2Fstakk-content","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffspoettel%2Fstakk-content/lists"}