{"id":22120139,"url":"https://github.com/maxpleaner/my_music","last_synced_at":"2025-03-24T06:26:27.349Z","repository":{"id":84577103,"uuid":"64253737","full_name":"MaxPleaner/my_music","owner":"MaxPleaner","description":"a website to stream / download my music. Source code to make one of your own.","archived":false,"fork":false,"pushed_at":"2016-10-05T19:45:57.000Z","size":109277,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-29T12:14:49.387Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://my-music.s3-website-us-west-1.amazonaws.com/","language":"Ruby","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/MaxPleaner.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-26T20:51:01.000Z","updated_at":"2016-08-13T20:41:09.000Z","dependencies_parsed_at":"2023-03-12T23:42:48.612Z","dependency_job_id":null,"html_url":"https://github.com/MaxPleaner/my_music","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/MaxPleaner%2Fmy_music","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxPleaner%2Fmy_music/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxPleaner%2Fmy_music/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaxPleaner%2Fmy_music/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaxPleaner","download_url":"https://codeload.github.com/MaxPleaner/my_music/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245219980,"owners_count":20579677,"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-12-01T14:20:57.837Z","updated_at":"2025-03-24T06:26:27.321Z","avatar_url":"https://github.com/MaxPleaner.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"### About\n\nThere are two branches here: _master_ and _gh-pages_ - both serve a different purpose.\n\n_master_ contains the source code, but not the audio files themselves or the produced static site. However, It does contain a script to download a user-specified list of audio files from youtube or bandcamp and can generate a static site in the process.\n\n_gh-pages_ is a static site hosted at [maxpleaner.github.io/my-music](maxpleaner.github.io/my-music). It is a web interface for listening to and downloading the music.\n\nSince the final product is a static website, it can be pushed to most any hosting provider. I've chosen to go with AWS s3, and have my music deployed at  [http://my-music.s3-website-us-west-1.amazonaws.com/](http://my-music.s3-website-us-west-1.amazonaws.com/)\n\n### How to use\n\n_note that all these commands should be run in the repo's root dir unless specified_\n\n- clone the repo\n- run bundle install, point the repo to your own git remote\n- edit the [`scripts/sources.rb`](./scripts/sources.rb) file to point to your favorite music sources.\n- then run [`scripts/import.rb`](./scripts/import.rb)\n- `cd web` and `ruby gen.rb` to compile the static website\n- `cd ..web/dist` and run of the following to deploy:\n  - `git push origin HEAD:gh-pages` for github pages (easy, free). To do this, make a new git repo inside `dist/` pointing at the same origin as the main repo and commit.\n  -  `aws s3 sync . s3://MY_S3_BUCKET_NAME` (free, a little more difficult). I prefer doing this because it removes the necessity to track `dist/` in git (the change\n- visit website, listen to music, click download buttons\n\n### How its build\n\nIt uses my [youtube_audio_downloader](http://github.com/maxpleaner/youtube_audio_downloader)\nand [bandcamp_downloader](http://github.com/maxpleaner/bandcamp_downloader) projects.\n\nIt also uses my [static](http://github.com/maxpleaner/static) framework.\n\nThe main piece this repo adds to glue those together is the [scripts/import.rb](./scripts/import.rb) file and [scripts/import_helpers.rb](./scripts/import_helpers.rb)\n\n### Notes\n\nMany files are excluded from git tracking, this is so the repo doesn't blow up in size.\n\nThe following directories are included in the root level `.gitignore`\n\n- `audio/**/*`\n- `web/source/markdown/**/*`\n- `web/source/audio/**/*`\n- `web/dist/**/*`\n\nWhich basically leaves `scripts/sources.rb` as the only trackable source file.\n\nThe list of songs contained in this file are the only seed needed for the app. [`scripts/import.rb`](./scripts/import.rb) will download the songs and [`web/gen.rb`](./web/gen.rb) generates the website.\n\nI've chosen to deploy this to S3 instead of github pages so that I don't worry about hitting the ceiling on Github pages' storage limits.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxpleaner%2Fmy_music","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxpleaner%2Fmy_music","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxpleaner%2Fmy_music/lists"}