forked from daattali/beautiful-jekyll
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Blog Migration - Adding SSL and Redirect
52 lines (40 loc) · 2.44 KB
/
Blog Migration - Adding SSL and Redirect
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
## SSL Support
Taking advice from Adrian, I setup cloudflare in about 30 seconds. Then just waited for the DNS nameserver change to take place and https just works. I did choose to pay the uplift to get a dedicated SSL Certificate it just seemed odd having a multidomain certificate with random other sites.
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">You might wanna consider using <a href="https://twitter.com/Cloudflare?ref_src=twsrc%5Etfw">@Cloudflare</a> to deal with the HTTPS issues.</p>— Adrian Png (@fuzziebrain) <a href="https://twitter.com/fuzziebrain/status/916327296872493056?ref_src=twsrc%5Etfw">October 6, 2017</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
#
![Screen Shot 2017-10-08 at 8.01.06 AM.png]({{site.baseurl}}/img/Screen Shot 2017-10-08 at 8.01.06 AM.png)
## Redirecting
I'll preface with there's probably a better way but here's what I did.
My blogger site had been up for quite sometime so it shows up in searches sometimes. I didn't want to blanket forward someone to the home page of the new imporived site. Since Jeykyll translated the blogger posts to ne file names, it's a very repeatable operation. Here's some javascript I threw together that grabs the canonical link from the blogger page and converts that to the new link and does a redirect. For the case of not-a-single-post page ( list, categories ), this javascript just does nothing with out the canonical link present except print a console message ( my left over debugging )
{% highlight javascript %}
window.onload = function () {
var canonical = "";
var el = document.getElementsByTagName("link");
for (var i = 0; i < el.length; i ++) {
if (el[i].getAttribute("rel") === "canonical") {
canonical = el[i].getAttribute("href")
}
}
var page = canonical.substring(canonical.lastIndexOf('/')+1)
page = page.substring(0,page.indexOf(".html"))
var dt;
var el = document.getElementsByTagName("abbr");
for (var i = 0; i < el.length; i ++) {
if (el[i].getAttribute("itemprop") === "datePublished") {
dt = el[i].getAttribute("title")
}
}
var parts = dt.split('-')
var yr = parts[0];
var mon = parts[1];
var d = parts[2].substring(0,parts[2].indexOf('T'));
if ( page ){
var newurl = 'http://krisrice.io/' + yr + '-' + mon + '-' + d + '-' +page + '/'
console.log(newurl)
window.location=newurl;
} else {
console.log('no page found')
}
}
{% endhighlight %}