chadbaldwin.github.io
chadbaldwin.github.io copied to clipboard
[Comments] Building a Free Blog with GitHub Pages in Minutes
https://chadbaldwin.net/2021/03/14/how-to-build-a-sql-blog.html
Thanks a lot! It`s really helpful!!!
thank you! is it easy to add comments to a blog post like this? :)
@jessieupp Hi! Sorry I didn't get back to you sooner. So I looked into this a bit for you, and the answer is yes! In my opinion, the best way to do it is to use GitHub issues for comments. Each blog post has an "Issue" assigned to it, and the comments show up on your post. Which is exactly how our comments to each other are working right now.
I'm not sure what type of blog you plan on writing, but since my blog is geared towards software/database developers, I'm okay with requiring my readers to have a GitHub account in order to leave a comment. If your blog is about something less technical, then you may want to find another option than this one.
I believe there are other options such as disqus, which may be more appropriate for a more universal blog, however, it's not free and would still require someone to register in order to leave a comment. If you decide to go that route and you're having trouble getting it to work with your site, feel free to reach out to me.
The comment system I was using on this site prior to your comment was just a simple script I found that someone else had written, it looked decent and it worked...but it required doing things like modifying your blogs configuration, manually creating a GitHub issue, linking it to your post, etc.
While looking into this, I came across a popular GitHub app called utterances. It's almost identical to the comments section I was using before, but with WAY more features, and its all automatic. I no longer have to manually create GitHub issues, and best of all, it was relatively easy to set up. So I decided to make the switch, thanks to you! haha
I would recommend checking it out here: https://github.com/apps/utterances
The set up process is pretty straight forward...I clicked configure, picked which repo I wanted it to apply to, in this case it was my chadbaldwin.github.io
repo. And then let it set up. At this point, it's simply enabled access to the app, it has not been added it to your site yet.
Afterwards it directed me to a page that helps generate the setup script you need (this is the page in case you don't get redirected https://utteranc.es/)
You fill out their form, and at the bottom, you can copy the script that looks something like this:
<script src="https://utteranc.es/client.js"
repo="chadbaldwin/chadbaldwin.github.io"
issue-term="og:title"
theme="github-light"
crossorigin="anonymous"
async>
</script>
Except in your case, you would use jessieupp/jessieupp.github.io
Then you take that configuration and plop it at the bottom of your post.html
layout file here:
jessieupp.github.io/_layouts/post.html
Now as soon as someone leaves a comment, it will automatically create a github issue on your behalf, and add that persons comment, and it will now show up on your post. Et voilà!
I may actually modify the blog bootstrap used in this post to add that configuration, but disabled so future readers can simply turn it on with a switch in the _config.yml
file.
Hope this helps and happy blogging!
@chadbaldwin do you mind telling us how to add other language for syntax highlighting ?
I tried to do so, for c# :
navigate to js/highlightjs/languages/
create csharp.min.js
fill in with :
hljs.registerLanguage("csharp",(()=>{"use strict";return t=>({
name:"csharp",aliases:["csharp", "cs"],disableAutodetect:!0})})());
but it doesnt seems to work, im sure im missing something :)
Thank you very much for sharing, Chad!! I look forward to testing it out.
On Sun, Aug 15, 2021 at 9:05 AM Sam Harwood @.***> wrote:
@chadbaldwin https://github.com/chadbaldwin do you mind telling us how to add other language for syntax highlighting ?
I tried to do so, for c# :
navigate to js/highlightjs/languages/ create csharp.min.js fill in with :
hljs.registerLanguage("csharp",(()=>{"use strict";return t=>({ name:"csharp",aliases:["csharp", "cs"],disableAutodetect:!0})})());
but it doesnt seems to work, im sure im missing something :)
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/chadbaldwin/chadbaldwin.github.io/issues/11#issuecomment-899071925, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUHSXOLAPITTODIRBHX57NLT47QTJANCNFSM4ZG6HGUQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .
--
Jessie Upp Cell: 206.841.9917
Thanks so much! Do you know how I can add this blog as a page to an existing site I've already made?
So I come back to answer my own question :
Github pages has built-in syntax highlighting, if one no need tsql specific stuff, one can edit /_includes/head.html
file and remove any ref to highlights.js, like so :
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
{%- seo -%}
<link rel="stylesheet" href="{{ "/assets/main.css" | relative_url }}">
{%- feed_meta -%}
{%- if jekyll.environment == 'production' and site.google_analytics -%}
{%- include google-analytics.html -%}
{%- endif -%}
</head>
Take care of you everyone
@XenocodeRCE yup! I was drafting up a response as I saw your comment pop up.
Just an FYI, you still need to fix your _config.yml
file as well and remove this:
kramdown:
syntax_highlighter_opts:
disable: true
Your other options are to convert it to use the CDN hosted version of highlight.js, or add the csharp language file if for some reason you want to keep using highlight.js.
Thanks so much! Do you know how I can add this blog as a page to an existing site I've already made?
@AndrewVong , I'm not sure. I'm not too familiar with that sort of stuff. I think your best option would be to set up this site as a subdomain for your main site? At least then it maintains the same domain. But I'm not sure how to set that up.
Is there a simple way to (1) change the background colour template and (2) add a personal photo? I've tried changing 'minima' to other (apparently supported) options, but they don't seem to be recognised.
This is great! Thank you. I though it was going to take me hours to set up a blog, but this helped me get my first blog post up in less than an hour.
is there a way to customize the css of each individual blogpost?
Very nice! I followed your instructions last night to set up a blog, and this morning, checking your site again, I see you are automatically switching from dark mode to light mode. Curious if you can point to where that is done.
Also - is there a preferred way to link and display images?
Thanks for the clean, easy to follow instructions!
@JohnOCFII good news for you, it's very easy to set up. There's a Chrome extension I use called "Dark Reader", this extension will automatically convert all pages to a dark theme. It's pretty smart and works well 99% of the time. You can even customize how it makes it dark by changing settings like brightness, contrast, etc.
Well, the creator of the extension also made it so that you can run it on an entire website by including it as a script.
It allows you to support automatic switching based on system settings. Or you can force dark theme. You can also customize the same settings offered in the extension.
To set it up, this is all you need to do:
Open up /_includes/head.html
And add this snippet:
<!-- dark theme using DarkReader -->
<script src="//unpkg.com/[email protected]/darkreader.js"></script>
<script type="text/javascript">
DarkReader.setFetchMethod(window.fetch); // Fix to remedy CORS errors in chrome console
//DarkReader.enable();
DarkReader.auto( {brightness: 100, contrast: 90, sepia: 10} );
</script>
This snippet is set up to enable dark theme based on system settings.
You can see it in use on my site here: https://github.com/chadbaldwin/chadbaldwin.github.io/blob/main/_includes/head.html#L39-L45
As far as displaying images, I'll direct you over to this issue where someone asked me something similar:
https://github.com/chadbaldwin/simple-blog-bootstrap/issues/2
@rjahrj You should be able to add a <style>
section to the top of your blog post for custom styling on a per blog post level.
I've done this in the past, see the code for this post: https://github.com/chadbaldwin/chadbaldwin.github.io/blob/main/_posts/2021-01-15-raiserror-cheatsheet.md?plain=1
Images and Light and Dark are now working. Thanks again!
It looks like you've got some basic tagging setup in your blog (T-SQL, SSMS, etc.) when seen from the archive page. Can you point me in the direction to set up something similar?
@JohnOCFII More good news...that's a built in feature for the software that builds the blog used by GitHub. The software is called Jekyll.
The feature is called "front matter", and it's a way of giving Jekyll a bit of extra information about your blog post.
You can find more info about it here: https://jekyllrb.com/docs/front-matter/
Here's an example from one of my recent blog posts:
---
layout: post
title: "Working with secure FTP in PowerShell"
description: "Recently learned a new way to work with secure FTP in PowerShell"
date: 2021-11-01T07:00:00-07:00
tags: PowerShell
---
So basically you just use a set of 3 dashes ---
and then put the info in there. So in this case, I'm setting these settings, which are all optional:
-
layout
- setting it to "post" which is the default value for anything in the_posts
folder anyway, I just like being explicit -
title
- this is optional as the title will automatically get set based on the first line in your blog post that starts with#
, but again, I like being explicit -
description
- this is useful for when you share your post via twitter, linkedin etc, it can use your description. It's also populated in your RSS feed for anyone who has subscribed to your site that way. -
date
- again, optional, by default it uses the file date, but you can optionally override it here. -
tags
- you can specify one or more tags here liketags: PowerShell T-SQL
. That would count as two tags.
If all you want is to tag your post then you can simply do this:
---
tags: PowerShell
---
And the "Blog Archive" page will automatically break them up by Tag. So just stick that bit at the very top of the post, and it should just work 👍
That was so incredibly easy! Thanks so much, @chadbaldwin!
Hi. I need a little help. Everything worked great, so thanks for that! But I tried changing the theme, and also the "comment with rss" thing didn't work, so I went to _config.yml and commented it out, then changed my theme. But after doing this, the links for the blogs disappeared. The only thing that shows on the site is the "about me" part. I went back to _config.yml and uncommented the rss, but that didn't fix it. I have no idea what could have happened because I didn't touch anything else
Hello Mr Baldwin, I was wondering how I could change the titles font. Currently my title is "Bleeding Trees", and I personally think it looks slightly out of place. Everything else works wonderfully though, and I am eternally grateful for this easy to use template.
Thanks so much! Do you know how I can add this blog as a page to an existing site I've already made?
@AndrewVong I assume your site is a github site. You can clone this project and then at step 3 name your repository "blog" instead, or whatever you want your page to be named. Then, once your repository is set up, go to settings/pages and under source select main/root and save. Your blog will be available at [yoursite/blog].
Not everything will work, you'll have to modify some of the templates and configuration to make sure the baseurl is [yoursite/blog]. Under _config.yml add the variable baseurl: "/blog". You may have to modify other templates if some links don't work, by adding {{ site.baseurl }} to some links.
here is my solution https://github.com/andreamoro-git/blog
Thanks for this. Got it set up but test posts aren't displaying. Was there another step? https://jakefrk.github.io/
@jakefrk it's strange because your archive is showing the posts https://jakefrk.github.io/archive,
are you using the minima theme? Somehow the home layout is not loading, try to copy this file to _layouts/home.html https://github.com/jekyll/minima/blob/master/_layouts/home.html
Any suggestions for implementing tooltips with this template?
Nice template, thanks for sharing. Is there a way of getting rid of the rss links?
Nice template, thanks for sharing. Is there a way of getting rid of the rss links?
edit the head.html template and remove the relevant row
@skmuiruri, you can disable it by commenting out the line rss: rss
in the _config.yml
file. Change the line to #rss: rss
, this will remove the link, however, RSS functionality will still be there, it just won't show the link.
As far as I know, there's no simple way to completely disable RSS functionality. It is loaded via a default plugin that GitHub Pages includes. There may be a way to disable it entirely maybe through un-loading the plugin somehow, which I've never done before, or maybe through a setting in the plugin itself:
https://github.com/jekyll/jekyll-feed
@andreamoro-git RSS settings are not part of the head.html
include file. The RSS functionality is a default plugin included by GitHub Pages, and is enabled by default. The link is built into the Minima theme and the only way to remove it is by following my instructions above....or by creating a social.html
override file that doesn't include it.
@sgbaird I don't know of any simple way to add tooltips. You'll probably have to go with a generic HTML/CSS solution online. You can mix HTML and Markdown in the same file, so you can probably find some sample tooltip code online, add the CSS to the css/override.css
file, and then add your tooltip <span>
tags directly in the post.
I create my repo as public and then change to private. When I revert to public there is no blog anymore. Do I have to create the blog again?