Display link to github for remote themes

(Daniel Hollas) #1

Hi folks,

it would be nice if a remote theme page contained a direct link to the respective Github repo.
There is a link “About theme” which typically leads to a topic here on meta (where the link to github can be found) and the License link would typically link to the github repo. However, both of these are useless if you happen to fork a theme and make local modifications.

Maybe something like this could work?


Alternatively, the link could be below the Check updates button.

Also, now that we can import from specific branches, the branch itself should be displayed as well or at least the link to Github should go to that branch.

If this sounds reasonable, would you accept a PR?

Remote themes not in database
(Régis Hanol) #2

Definitely would!

Be sure to include before/after screenshots as well :wink:

(Daniel Hollas) #3

Hmm, I started working on this here, but am having two problems (I am Handlebars noob so they are probably trivial):

  1. In app/assets/javascripts/admin/templates/customize-themes-show.hbs, I would expect variable model.remote_theme.branch to work, but it doesn’t i.e it does not return the non-default branch that I imported.

  2. I will probably need a Handlebars helper to create a proper Github link for non-default branch, but I do not know where to put the code. I will need something like this:

Handlebars.registerHelper('getGithubUrl', function(baseUrl, branch) {
   if (! branch) { 
     return baseUrl;
   } else {
     // strip '.git' from the end, it is added there automatically in GitImporter
     var url = str.substring( 0, str.indexOf( ".git" ) );;
     return url + '/tree/' + branch;

Sorry for noob questions, any pointers will be highly appreciated. :blush:

(Sam Saffron) #4

One quick note here, I am not too easy baking “GitHub” into our UIs here, we want to allow diversity here, if people want to use bitbucket or gitlab for themes it is A-OK.

(Daniel Hollas) #5

Thank you! I wasn’t sure others are supported, will change it.

(Jeff Atwood) #6

We should own this feature and not outsource it @sam