{"id":20729585,"url":"https://github.com/nicolasgraph/oui_bandcamp","last_synced_at":"2026-07-29T12:31:39.994Z","repository":{"id":70607029,"uuid":"130195456","full_name":"NicolasGraph/oui_bandcamp","owner":"NicolasGraph","description":"Embed Bandcamp audio players in @Textpattern CMS through oui_player v2+","archived":false,"fork":false,"pushed_at":"2018-08-22T06:57:18.000Z","size":39,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-01-13T09:58:48.710Z","etag":null,"topics":["audio","audio-player","bandcamp","embed","oui-player","player","responsive-design","textpattern","textpattern-plugin"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NicolasGraph.png","metadata":{"files":{"readme":"README.textile","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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-04-19T09:55:31.000Z","updated_at":"2018-08-15T13:45:54.000Z","dependencies_parsed_at":"2023-04-21T13:56:35.459Z","dependency_job_id":null,"html_url":"https://github.com/NicolasGraph/oui_bandcamp","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/NicolasGraph/oui_bandcamp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasGraph%2Foui_bandcamp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasGraph%2Foui_bandcamp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasGraph%2Foui_bandcamp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasGraph%2Foui_bandcamp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NicolasGraph","download_url":"https://codeload.github.com/NicolasGraph/oui_bandcamp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NicolasGraph%2Foui_bandcamp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36032917,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-29T02:00:04.910Z","response_time":95,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["audio","audio-player","bandcamp","embed","oui-player","player","responsive-design","textpattern","textpattern-plugin"],"created_at":"2024-11-17T04:43:35.707Z","updated_at":"2026-07-29T12:31:39.989Z","avatar_url":"https://github.com/NicolasGraph.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"h1. oui_bandcamp\n\n* \"Introduction\":#introduction\n* \"Plugin management\":#plugin-management\n* \"Tags and parameters\":#tags-and-parameters\n* \"Examples\":#examples\n* \"Credits\":#credits\n\nh2. Introduction\n\n\"oui_bandcamp\":https://github.com/NicolasGraph/oui_bandcamp is a \"oui_player\":https://github.com/NicolasGraph/oui_player v2+ extension to easily embed \"Bandcamp\":https://bandcamp.com/ provided albums and tracks in \"Textpattern\":https://textpattern.com/ powered websites.\n\nThe above platform serves cookies with its player, according to the EU legislation, you should warn your users about these cookies before they are added. This can be done by using \"oui_cookie\":https://github.com/NicolasGraph/oui_cookie.\n\nh3. Plugin requirements\n\noui_bandcamp's minimum requirements:\n\n* \"Textpattern CMS\":http://textpattern.com/ v4.6+;\n* \"oui_player\":https://github.com/NicolasGraph/oui_player v2+;\n* \"oui_provider\":https://github.com/NicolasGraph/oui_provider v1+.\n\nh2. Plugin management\n\nh3. Installation\n\nh4. From the admin interface\n\n# \"Download\":https://github.com/NicolasGraph/oui_bandcamp/releases the compiled plugin file or the source to compile a customized file.\n# Paste the content of the compiled plugin file under the \"Admin \u003e Plugins\":?event=plugin tab and click the _Upload_ button.\n# Confirm the plugin install by clicking the _Install_ button on the plugin preview page.\n# Enable the plugin and click the _Options_ link (or visit the _Preferences_ tab) to set the provider preferences.\n\nh4. Via Composer (not available yet)\n\nAfter \"installing Composer\":https://getcomposer.org/doc/00-intro.md…\n\n# Target your project directory:\n@$ cd /path/to/your/textpattern/installation/dir@\n# If it's not already done, lock your version of Txp:\n@$ composer require textpattern/lock:4.6.2@, where @4.6.2@ is the Txp version in use.\n# Install oui_bandcamp:\n@$ composer require nicolasgraph/oui_bandcamp@\n\nh3. Update\n\nh4. From the admin interface\n\n# Follow the installation instruction above.\n\nh4. Via Composer (not available yet)\n\nbc. $ composer update nicolasgraph/oui_bandcamp\n\nh3. Uninstall\n\nh4. From the admin interface\n\n# Check the box on the left of the plugin row under the \"Admin \u003e Plugins\":?event=plugin.\n# open the select list at the bottom of the plugins table and choose _Delete_.\n# confirm the plugin deletion.\n\nh4. Via Composer (not available yet)\n\nbc. $ composer remove nicolasgraph/oui_bandcamp\n\nh2. Tags and parameters\n\nh3. oui_bandcamp vs oui_player\n\nWhile the @\u003ctxp:oui_player /\u003e@ tag is able to embed any media from any extension-related provider, the @\u003ctxp:oui_bandcamp /\u003e@ tag is a shortcut to embed Bandcamp albums and tracks only. It is strictly equivalent to @\u003ctxp:oui_player provider=\"bandcamp\" /\u003e@.\n\nCheck the \"oui_player\":https://github.com/NicolasGraph/oui_player documentation for more informations.\n\nh4. Recognised values for the @play@ attribute\n\n* album=[*ID*];\n* track=[*ID*];\n* album=[*ID*]/track=[*ID*];\n* http(s)://bandcamp.com/(EmbeddedPlayer/)album=[*ID*];\n* http(s)://bandcamp.com/(EmbeddedPlayer/)track=[*ID*];\n* http(s)://bandcamp.com/(EmbeddedPlayer/)album=[*ID*]/(…/)track=[*ID*].\n\nWhen using the \u003ccode\u003eoui_player\u003c/code\u003e tag (vs \u003ccode\u003eoui_bandcamp\u003c/code\u003e), the right provider needs to be set if the \u003ccode\u003eplay\u003c/code\u003e value or its field related one is an ID. It is optional, but can fasten the rendering, if the value is an URL.\n\nh4. Player customization\n\nh5. Preferences vs attributes\n\nWhile some player customization elements, related to the media to play, should be used through attributes, these used as global settings should preferrably be set through the plugin preferences to avoid a massive use of tag attributes.\n\nOf course, it is still possible to override a preference value via an attribute when needed.\n\nh5. Size\n\n- @width@ :=\n@Integer@; initially set to @350@.\nThe width of the player. =:\n- @height@ :=\n@Integer@; initially set to @470@.\nThe height of the player. =:\n- @ratio@ :=\ninteger[@:@]integer; initially not set.\nThe ratio used to calculate the missing value for the width or the height. =:\n- @responsive@ :=\n@true@ or @false@; initially set to @false@.\nAdapts the final player size from the provided width and/or height and/or ratio values to fit the container width.\nWraps the player and adds some styles. =:\n\nh5. Parameters (a→z)\n\nFrom Txp 4.7, paramaters accepting @true@ and @false@ as valid values can be enable through boolean/valueless attributes.\n\n- @artwork@ :=\n@big@ or @small@; initially set to @big@.\nDefines the artwork size. =:\n- @bgcol@ :=\nHexadecimal color value; initially set to @#ffffff@.\nBackground color. =:\n- @linkcol@ :=\nHexadecimal color value; initially set to @#0687f5@.\nLinks colors. =:\n- @tracklist@ :=\n@true@ or @false@; initially set to @true@;\nDisplays the tracklist. =:\n- @size@ :=\n@big@ or @small@; initially not set.\nDefines the player size type; recommended width and height values are:\n* @big@: @350px@ × @470px@ (without the tracklist)\n* @small@: @100%@ × @120px@ (or @42px@ for a slim player) =:\n\nh5. Sets\n\nThe sets of values below allow to render different player types.\n\n* Big:\n** @width=\"470\"@;\n* medium:\n** @artwork=\"small\"@;\n** @width=\"100%\"@;\n** @height=\"120\"@;\n* small:\n** @size=\"small\"@;\n** @width=\"100%\"@;\n** @height=\"42\"@.\n\nh3. oui_if_bandcamp vs oui_if_player\n\np. While the @\u003ctxp:oui_if_player\u003e…\u003c/txp:oui_if_player\u003e@ tag is able to check an URL against any URL from any extension-related provider, the @\u003ctxp:oui_if_bandcamp\u003e…\u003c/txp:oui_if_bandcamp\u003e@ tag is a shortcut to check an URL against Bandcamp related URL schemes only. It is strictly equivalent to @\u003ctxp:oui_if_player provider=\"bandcamp\"\u003e…\u003c/txp:oui_if_player\u003e@.\n\nCheck the \"oui_player\":https://github.com/NicolasGraph/oui_player documentation for more informations.\n\nh2. Examples\n\nh3. Embed a player using the preference values\n\nbc(language-markup). \u003ctxp:oui_player /\u003e\n\n\"oui_player\":https://github.com/NicolasGraph/oui_player preference related field value: @https://bandcamp.com/EmbeddedPlayer/album=3819613117@.\n\nh3. Embed a player by defining its provider and a media ID through attributes\n\nbc(language-markup). \u003ctxp:oui_player provider=\"bandcamp\" play=\"album=3819613117\" /\u003e\n\n…or:\n\nbc(language-markup). \u003ctxp:oui_bandcamp play=\"album=3819613117\" /\u003e\n\nh3. Conditionally embed a player using attributes\n\nbc(language-markup).. \u003ctxp:oui_if_player provider=\"bandcamp\" play=\"https://bandcamp.com/EmbeddedPlayer/album=3819613117/track=1169742928\"\u003e\n    \u003ctxp:oui_player /\u003e\n\u003c/txp:oui_if_player\u003e\n\np. …or:\n\nbc(language-markup).. \u003ctxp:oui_if_bandcamp play=\"https://bandcamp.com/EmbeddedPlayer/album=3819613117/track=1169742928\"\u003e\n    \u003ctxp:oui_bandcamp /\u003e\n\u003c/txp:oui_if_bandcamp\u003e\n\nh2. Credits\n\nh3. Author\n\n\"Nicolas Morand\":https://twitter.com/NicolasGraph\n_Thank you to the Textpattern community and the core team._\n\nh3. License\n\nThis plugin is distributed under \"GPL v2.0\":https://www.gnu.org/licenses/gpl-2.0.txt.\n\noui_bandcamp version 1.0.0-BETA3, Copyright (C) 2018 Nicolas Morand\nThis Textpattern plugin comes with ABSOLUTELY \"NO WARRANTY\":https://www.gnu.org/licenses/gpl-2.0.html#section11.\nThis is free software, and you are welcome to redistribute it \"under certain conditions\":https://www.gnu.org/licenses/gpl-2.0.html#SEC3.\n\nh3. Changelog\n\n* *oui_bandcamp v1.0.0-BETA3* (2018-08-15)\n** Changed: initial player size.\n* *oui_player v1.3.0* (2017-05-24)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolasgraph%2Foui_bandcamp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnicolasgraph%2Foui_bandcamp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnicolasgraph%2Foui_bandcamp/lists"}