-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No dynamically redirecting URLs anymore for downloads #34
Comments
Jekyll doesn't have support for this, I don't think. |
What about using JS routing like in Backbone.js? Davis.js? |
That doesn't help. We need shoesrb.com/download/mac to redirect to s3. JS can't do that, that I know of. |
I haven't used Davis.js but by looking at their example wouldn't the following work? var app = Davis(function () {
this.get('/download/:os', function (req) {
if (req.params['os'] == 'mac') {
window.location.replace(...)
}
else {
...
}
})
})
app.start() |
It would work for clients that evaluate javascript, I think. Has anyone used this technique before? (meta tag with refresh of 0) http://www.w3.org/TR/WCAG20-TECHS/H76.html Seems what we want, though I don't know if all clients would follow it. |
See http://en.wikipedia.org/wiki/Meta_refresh#Usability. It does seem like the best option though. |
if we do it/try it we would still have to make that it works without JavaScript. I'm a noscript user and I want the basic functionality of shoesrb.com to be available without JS :-) |
Uses for these download URLs:
This last one has always been the trickiest one. In Shoes 3, there is an option to package a Shoes app without Shoes. It comes with a small stub that only knows how to download and install the latest version of Shoes. It does not know how to navigate links or javascript. Actually, if I remember correctly, the stub hits a particular URL, which returns a text/plain string. That string is the URL for the download. I don't know if Shoes 4 will have this same kind of stub installer, but it seems prudent to think about this use case. We want to have a stable URL that can (somehow) direct clients to the real current URL. |
Idea! GitHub has a releases API. So we could implement it several ways. None of which, unfortunately, will work outside of the browser. The Meta Refresh/JavaScript Way <!DOCTYPE html>
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script>
$.getJSON('https://api.github.com/repos/shoes/shoes/releases', function(data) {
release = data[0].tarball_url;
$('head').append('<META http-equiv="refresh" content="0;URL=' + release + '">');
});
</script>
<title>Latest Shoes Release</title>
</head>
<body>
</body>
</html> This will have jQuery append a meta refresh/redirect to the head, which will in turn download the tarball. The JavaScript Only Way Just pretend this is in the head of the same document. $.getJSON('https://api.github.com/repos/shoes/shoes/releases', function(data) {
release = data[0].tarball_url;
window.location.href = release;
}); Let me know what you think. |
As for OS specific downloads, it really depends on how Shoes releases will released. But I'm sure I can make it work. |
Hi everyone,
since the move to github pages we don't have dynamically redirecting URLs anymore.
The question is: can we fix that somehow?
Shoes on!
Tobi
The text was updated successfully, but these errors were encountered: