Introducing the new Blog and Showcase
Currently, this blog is being used to give updates about upcoming events for the club, and awards. Starting now, we’re changing the primary purpose of this blog to be a place where anybody can come to learn about topics in computer science and topics around computer science that we don’t teach during our sessions. This includes topics that are expanding directly on what we teach, or topics in fields we don’t cover during any of our sessions! Our first post is now up, and is about the dangers of cdn’s.
Alongside the new blog posts, we’re planning to also have a project showcase. These showcases will be in the same place, and will be a way to see some of the cool things that can be done with the programming skills we teach! These showcases will be from both mentors and mentee’s to show you what’s possible, and help inspire more projects. The posts will show off what the project does, as well as some of interesting code and concepts that make it work!
Starting January 30th, there will be one new post every week either teaching a new conputer science topic, or showcasing an interesting project. So please check back here every week if you’re interested in learning more about programming!
How to contribute
If you are interested we would love to have more people contribute. If you have a project, or topic you want to write about we would love to have you help. If you don’t have a topic, but are interested in getting experience writing we also have a list of curated topics to choose from!
The topics don’t explicitly have to be about python, web development, or explicitly technical (can be about creating content for websites, or design etc.). So long as it’s well written, and explains anything we don’t cover we’re happy to have it (AI/ML, embedded systems, OS etc.)!
If you are interested fill out the form here and we will get back to you as soon as possible!
Technical Details
In the spirit of covering computer science topics, for those of you interested we will also go into details about some of the features added to the blog. Anyone who is interested in creating their own blog can use these as a great starting point for feature ideas!
How we create content
All of our source code is open source. Hugo with markdown files are how we create the content that then gets converted to HTML pages, and then it is all hosted with github pages. Our HTML is primarily styled using the css framework bootstrap!
Taxonomies
Categorizing content can be hard. For us we chose to use hugo taxonomies, there will be a post written about taxonomies in general down the road. Basically this system is what lets you click on the author name (here is the one for Kieran Wood), or tags in an article (here is the one for web), and see all the posts that are associated with it. This makes it easier for people to find the content they want based on the tag, or the author and also allows us to create RSS feeds.
RSS Feeds
RSS (Really Simple Syndication) is a system used to allow people to subscribe to content. In our case when you scroll to the bottom of pages you will see a subscribe to rss feed message with the rss icon if you have an RSS feed aplication (like feedly) you can then subscribe to the RSS feed and will recieve updates when a new post is made.
The way this works is there will be a url to an xml file. That file will contain the current content, and will tell your app where to check for new posts. An RSS feed reader will then check for new posts at where the xml file specifies.
We have 3 types of RSS feeds:
The whole blog; Can be found at the bottom of any blog post (and here), and the blog feed. This will update you when any new post is made
Tag; If you click on a tag it will take you to a feed for that tag (here is the one for web), you can then subscribe to posts made that have that tag using the URL at the bottom of the page.
Author; If you click on an author, you can then subscribe to posts made that have that author using the URL at the bottom of the page (here is the one for Kieran Wood)
Mermaid
Words are hard sometimes, so we often use graphs and diagrams. mermaid is a system that allows us to create diagrams in markdown files easily. This allows us to do a ton of diagrams, graphs, charts etc. So if we wanted to have a diagram of a user flow chart checking out the blog:
flowchart LR A[Turn on PC] --> B{Do I wanna learn?} B -- Yes ----> C[Read ignite blog] B -- No ----> E[Netflix]
Or a user journey graph:
journey title My day section Go to class Get ready: 3: Me Go to school: 2: Me Do classwork: 1: Me section Go home Go to computer: 2: Me Read ignite blog: 5: Me
Share links
Blogs are only important if people actually read them. When getting started it’s hard to get traction. A great way to help with this is to provide a 1-click solution to share links to blog posts that are helpful. Luckily most major social media platforms have an API to make sharing content easy.
For the most part they are a query parameter where you just provide the URL, for example:
https://www.facebook.com/sharer/sharer.php?u=<URL>
This will go to facebook, run sharer.php
on facebook, with a variable u
which will equal the URL you want to share (<URL>
). You can find the actual URL’s you need from sites like share link generator, and then just programatically insert the current URL into them (make sure to escape/encode it)
Sitemaps
Search engines need a way to find your site. They have lots of methods now to look for new sites, but there are many times this doesn’t work well, or takes a very long time. The same is true for new content on your site. So what you can do is give google a map that tells it where all the pages of your site are (called a sitemap). This is an xml file that tells search engines where to go. You can find ours at https://schulichignite.com/sitemap.xml. It’s also worth looking at robots.txt if you don’t want search engines to find certain pages.
OpenGraph
Last but not least if we’re going to get people to share our content we want to make sure the previews look good. opengraph is a protocol that let’s you define how your pages look when you share them!
This includes what image pops up, the title, the description etc.
Time warnings
Time goes on. Unfortunately this means that sometimes your information goes out of date. It would be possible to check every year on every article to make sure they’re up to date, however…
When writing any system you should never trust a user to do what can be automated. So, to be responsible in our content development a warning will appear on articles older than 3 years, regardless of when it was last modified. This ensures that people are warned regardless of if it’s been updated to check the information!