-
-
Save konklone/9968713 to your computer and use it in GitHub Desktop.
<script> | |
var host = "YOURDOMAIN.github.io"; | |
if ((host == window.location.host) && (window.location.protocol != "https:")) | |
window.location.protocol = "https"; | |
</script> |
Because my Github page shows ssl warnings, i've reverse the example and added this piece of code to every .html
and .md
file to show it with http:
<script>
if (window.location.host.indexOf('github.io') > -1 && window.location.protocol == "https:"){
window.location.protocol = "http";
}
</script>
Those files are fully public, there's no real reason to pass them with ssl to the user.
Maybe i add Ajax on the future, but it's good enough for now. Still don't know if there's something to try with yaml
config for this.
@hakatashi thanks, saves me the hassle
@mikeumus "Always uses https" is equivalente to the 301 redirects?
Here is a tutorial about that: https://rck.ms/jekyll-github-pages-custom-domain-gandi-https-ssl-cloudflare/
@mikeumus worked AWESOMELY!!! ~THANK YOU!!!
You must check for http and NOT for https
bad:
window.location.protocol != "https:"
safe:
window.location.protocol === "http:"
Why? Because in webapps wrapped in Electron and NWjs there's no http - it's file:
and chrome-extension:
So:
/*global window */
/*jslint browser: true */
(function (root) {
"use strict";
var h = root ? root.location.hostname : "",
p = root ? root.location.protocol : "";
if ("http:" === p && !(/^(localhost|127.0.0.1)/).test(h)) {
root.location.protocol = "https:";
}
}
("undefined" !== typeof window ? window : this));
In this article, explain how to work HTTPS URL for your custom domain if you are using cloudflare.
https://infinitbility.com/always-use-https-url-using-cloudflare
shorter condition:
if (window.location.href.match("http://MYDOMAIN")) window.location.protocol='https:'
Note that the MYDOMAIN can even be partial (e.g. to support both domain.github.io
, domain.com
, whatever) or use more complex regex matching. The important thing is to avoid the test domains (http://localhost, http://127.0.0.1, etc)
but where should i add the code. into my index.html?
GitHub Pages now supports enforcement of HTTPS via config.