How the sausage is made.
Continuing the origin story of this blog, after a long conversation with ChatGPT, I had settled on a name and was lucky enough to be able to register the "codereflections.com" domain. Next, I had to choose a blogging platform and hosting platform. Should I use WordPress or something else? I needed to do some research and think about this decision. ChatGPT was happy to help.
The need to choose a blogging platform was mentioned in ChatGPT's response to my very first message in the conversation about starting this blog. Here is that initial exchange; it was immediately followed by the lengthy ChatGPT conversation quoted in yesterday's post about the search for a name for the blog:
Help me start a new programming blog.
Starting a new programming blog can be a fun and rewarding experience. Here are some steps to help you set up and launch your blog successfully:
Choose a niche and target audience:
Determine the focus of your blog, whether it's a specific programming language, technology, or concept. This will help you attract a more targeted audience and provide valuable content.Select a blogging platform:
Choose a suitable platform to host your blog, such as WordPress, Blogger, or Medium. Each platform has its advantages and disadvantages, so consider your needs and technical expertise when making your choice.Pick a domain name and hosting:
Select a domain name that reflects the theme of your blog and is easy to remember. Register the domain and sign up for a hosting service to make your blog accessible online.Customize the design:
Choose a theme or template that aligns with your content and appeals to your target audience. Customize the design by adding your logo, color scheme, and other branding elements.Plan your content:
Create a content plan that outlines the topics you'll cover, the frequency of your posts, and the type of content you'll create (tutorials, articles, reviews, etc.). A well-structured content plan will help you maintain consistency and keep your audience engaged.Write high-quality content:
Start writing informative, engaging, and well-researched articles. Use clear language, include relevant code snippets, and provide practical examples to illustrate your points. Focus on providing value to your readers and establishing yourself as an expert in your niche.Promote your blog:
Share your posts on social media, join relevant forums, and participate in online communities to increase your blog's visibility. You can also consider guest posting on other blogs or collaborating with fellow programmers to reach a
Yes, the response was truncated in the middle of the sentence like that, but I didn't ask ChatGPT to repeat it, so I don't know what the rest of the response was meant to be. I've found message truncation like this to be a fairly common problem with the chat.openai.com ChatGPT platform. Responses from ChatGPT which exceed 2048 bytes in length are truncated. It's possible to work around it, but this rather small length limit is definitely a nuisance. (I'm using ChatGPT Plus; this conversation was using the GPT-4 model.)
Near the end of the conversation about names, ChatGPT mentioned the blogging platform again:
Okay, enough about names. I decided to go with "codereflections.com". I have successfully registered that domain name.
Congratulations on registering your domain name, codereflections.com! Now that you have the domain, you can start building your programming blog. Here are some steps to help you get started:
[...]
- Install a Content Management System (CMS): A CMS makes it easy to manage and publish content on your blog without the need for extensive technical knowledge. WordPress is the most popular CMS, offering a wide range of themes, plugins, and customization options.
[...]
I'm planning to try to monetize this blog in the usual ways, so I threw that into the mix:
What's the best way of starting the blog while making it easy to monetize in the future if I can find an audience?
To start your blog while keeping future monetization options open, follow these steps:
Choose a platform: Select a blogging platform that offers flexibility for monetization. WordPress is highly recommended because it's highly customizable and offers a variety of plugins for monetization.
Invest in hosting and a domain: Purchase a reliable hosting plan and a custom domain name, like the one you've already registered. A custom domain will make your blog appear more professional and easier to monetize.
Design your blog: Create an aesthetically pleasing and user-friendly blog design. Use a responsive theme to ensure that your site looks great on all devices. If needed, invest in a premium theme or hire a designer to create a custom design.
Create quality content: Focus on producing high-quality, engaging, and informative content for your readers. This will help you attract an audience and keep them coming back for more.
Promote your blog: Use social media, networking, guest posting, and other marketing techniques to drive traffic to your blog. The more traffic you have, the more attractive your blog will be to advertisers and potential monetization partners.
Build an email list: Start collecting email addresses from your visitors. An email list can be an essential tool for promoting your content and monetizing your blog.
Plan for monetization: Research and plan for various monetization methods, such as affiliate marketing, sponsored posts, display ads, and selling digital products or services. As your audience grows, you can start implementing these methods.
Track your progress: Use analytics tools like Google Analytics to track your blog's performance. This will help you make data-driven decisions about your content strategy and monetization efforts.
Engage with your audience: Respond to comments and interact with your readers on social media. Building a loyal and engaged audience will make it easier to monetize your blog in the future.
Be patient and persistent: Building a successful blog takes time and effort. Be patient, keep learning, and stay consistent with your content and promotional efforts. As your audience grows, monetization opportunities will follow.
By following these steps, you'll be well on your way to creating a blog that is not only engaging and informative but also has the potential for monetization in the future.
Obviously, WordPress is the 800-pound gorilla in the room. It's what everyone seems to recommend and what most people seem to use. According to wordpress.com, "42% of the web is built on WordPress." I don't know how accurate that is, but there are probably tens of millions of WordPress blogs out there.
I'm sure there are a lot of good reasons to consider using WordPress, and maybe I'll have a compelling reason to use it in the future. For now, I'm avoiding using WordPress. It's written in PHP, which is a language I really dislike. It's also a dynamic website, so the performance could be slow. Despite being able to theoretically use WordPress for free, it does appear to have a lot of potential costs associated with it. I won't rule it out for the future, but I didn't want to start with WordPress, so I steered the conversation away from that option.
I don't want to use WordPress. It's written in PHP and PHP sucks.
If you don't want to use WordPress, there are several other blogging platforms and content management systems (CMS) to choose from. Some popular alternatives include:
Ghost (https://ghost.org/): Ghost is a modern and open-source platform designed for bloggers and writers. It is built on Node.js and offers a clean and minimalistic user interface. It's easy to use and has built-in SEO features.
Jekyll (https://jekyllrb.com/): Jekyll is a static site generator written in Ruby. It's ideal for developers who prefer a lightweight platform and want to use Markdown for writing content. You can host your Jekyll blog on GitHub Pages for free or on any web server that supports static files.
Hugo (https://gohugo.io/): Hugo is another static site generator, but it's written in Go. It's known for its speed and flexibility. You can host your Hugo blog on various platforms, including Netlify, Vercel, or any web server that supports static files.
Gatsby (https://www.gatsbyjs.com/): Gatsby is a React-based, open-source framework for building websites and applications. It generates static files but can also work with dynamic content through APIs. Gatsby integrates well with various headless CMS options like Contentful, Strapi, or DatoCMS.
Netlify CMS (https://www.netlifycms.org/): Netlify CMS is an open-source content management system that works with static site generators like Jekyll, Hugo, and Gatsby. It provides an easy-to-use interface for managing your content and can be hosted on Netlify or other hosting providers that support static files.
When choosing an alternative to WordPress, consider the features, flexibility, and ease of use that each platform offers. Some platforms may require more technical knowledge than others, but they can provide a more customizable and lightweight solution for your blog.
Are there any implemented in Rust?
Yes, there are some static site generators and blogging platforms implemented in Rust. Some popular options include:
Zola (https://www.getzola.org/): Zola is a fast static site generator written in Rust. It offers features such as shortcodes, themes, and Sass compilation out of the box. It also supports various templating languages like Tera and Markdown for content creation. Zola is a great option if you're looking for a Rust-based alternative to Jekyll or Hugo.
Cobalt (https://cobalt-org.github.io/): Cobalt is another static site generator written in Rust. It supports Liquid templates and provides basic features like tags, categories, and pagination. Cobalt is a lightweight option for creating simple blogs or websites.
Gutenberg (https://github.com/Keats/gutenberg): Gutenberg is a static site generator in Rust that offers features like live reloading and Sass compilation. However, it is no longer actively maintained, and the project has been archived on GitHub. You might want to consider Zola instead, which is actively maintained and offers similar features.
When using a Rust-based platform, keep in mind that you'll need to have Rust installed on your system to build and generate your site. Additionally, you can host your generated static files on platforms like GitHub Pages, Netlify, or Vercel.
Static site generator? Will that make it somewhat limiting?
Using a static site generator can have some limitations compared to a dynamic content management system like WordPress. However, for a programming blog, a static site generator is often more than enough to meet your needs. Some points to consider:
Performance: Static site generators create pre-rendered HTML files, which leads to faster load times and a better user experience. You don't need to worry about server-side rendering, as the files are served directly to the user.
Security: Since static sites don't rely on a database or server-side processing, they are less prone to security vulnerabilities like SQL injections and other attacks.
Maintenance: Static site generators require less maintenance and updates compared to dynamic CMS platforms. You don't need to worry about updating plugins, themes, or the platform itself.
Cost: Hosting static sites is often cheaper and easier because you don't need a complex server infrastructure. You can use platforms like GitHub Pages, Netlify, or Vercel, which offer free hosting for static sites.
However, there are some limitations to consider:
Dynamic features: Implementing features like real-time comments, search, or user accounts can be more challenging with static sites. However, you can still integrate third-party services like Disqus for comments or Algolia for search functionality.
Content updates: With static site generators, you need to rebuild and redeploy your site every time you make changes or add new content. This can be a bit time-consuming, especially for larger sites. However, this is usually not an issue for personal blogs with occasional updates.
Learning curve: If you're not familiar with the static site generator's syntax, templating language, or build process, there may be a learning curve involved. However, this can also be an opportunity to learn new technologies and improve your skills.
In conclusion, a static site generator may have some limitations, but for a programming blog, it can be an excellent choice. It offers simplicity, performance, and security benefits that can outweigh the limitations, especially if you're willing to work around them or use third-party services to enhance your site's functionality.
I wanted to explore the possibility of hosting the site on GitHub Pages for free, so I explored that too:
Jekyll blogs can be hosted on GitHub Pages for free, is Jekyll the only option for the free hosting? If hosted that way, can it still be monetized?
Jekyll is not the only option for free hosting on GitHub Pages. You can use other static site generators as well, such as Hugo, Gatsby, 11ty, Hexo, or Pelican, to name a few. The key is to generate the static HTML files that you can then host on GitHub Pages.
Yes, you can still monetize a blog hosted on GitHub Pages. Monetization options, such as running ads, promoting affiliate products, or offering sponsored content, are not tied to the hosting platform but rather to the content and structure of your site. Some common monetization methods for static sites include:
Affiliate marketing: You can join affiliate programs and include affiliate links in your blog posts. When users click on these links and make a purchase, you'll earn a commission.
Display ads: You can sign up for an ad network like Google AdSense and display ads on your site. You'll earn revenue based on the number of impressions or clicks the ads receive.
Sponsored content: You can collaborate with companies or other content creators to create sponsored blog posts, reviews, or tutorials.
Sell digital products or services: You can create and sell ebooks, online courses, or offer consulting services related to your blog's niche.
Donations or memberships: You can ask your audience for support through donations using platforms like Patreon, Ko-fi, or by offering premium content or access to a members-only community.
To implement these monetization methods, you'll need to add the necessary HTML, JavaScript, or third-party integrations to your static site generator's templates or content files. This can usually be done with most static site generators, including those that can be hosted on GitHub Pages.
GitHub doesn't have any terms of service prohibiting monetization of a blog hosted for free?
GitHub does not have specific terms of service prohibiting the monetization of a blog hosted on GitHub Pages. According to their terms of service, GitHub Pages is designed to host your personal, organization, or project pages.
However, there are some guidelines you should follow to ensure that you comply with their terms:
GitHub Pages should not be used for commercial purposes, like running an online store. Monetizing through ads, affiliate links, or sponsored content is generally acceptable, as long as the primary purpose of your blog is to provide content and not solely to generate revenue.
GitHub Pages should not be used for hosting activities that violate the GitHub Acceptable Use Policies, such as distributing spam, hosting illegal content, or engaging in activities that interfere with the operation of GitHub's services.
GitHub Pages sources must be stored in a public repository, so be mindful of the content you store and the privacy of any sensitive information.
Don't overuse resources. GitHub Pages is a free service, and excessive use of resources could potentially result in throttling or suspension of your site.
It's always a good idea to familiarize yourself with GitHub's Terms of Service and Acceptable Use Policies to ensure that you are in compliance. If you are ever unsure about whether your blog's monetization strategy complies with GitHub's terms, you can always reach out to their support team for clarification.
Remember that if you ever feel limited by GitHub Pages or concerned about compliance, there are other free or affordable hosting options available, like Netlify or Vercel, that can also host static sites generated with Jekyll or other static site generators.
Excessive use of resources? What if there were a lot of visitors to the site?
GitHub Pages is designed to handle a reasonable amount of traffic for personal, organization, or project pages. However, it is not intended to support extremely high levels of traffic, like those of a popular commercial website. In practice, most personal blogs and projects hosted on GitHub Pages do not experience any issues with traffic.
If your blog becomes very popular and starts to receive a large amount of traffic, GitHub may throttle or limit the resources allocated to your site. In such a case, you might need to consider moving to a different hosting provider that can better accommodate your needs.
Alternatives like Netlify or Vercel are well-suited to handle higher levels of traffic for static sites, and they offer free plans with generous resource allocations. Additionally, these platforms provide scalable paid plans to accommodate further growth.
It's essential to monitor your site's traffic and performance, and if you notice any issues, consider upgrading to a more robust hosting solution that can handle the increased demand.
Suppose I use one of the static site generators and host it on GitHub Pages. Should I have a separate GitHub account for the site?
It's not strictly necessary to create a separate GitHub account for your blog hosted on GitHub Pages. You can host your blog using your existing GitHub account, under a new repository. However, there are some potential benefits to creating a separate account specifically for your blog:
Organization: Having a separate account for your blog can help keep your personal projects and blog content separate and organized.
Privacy: Using a separate account allows you to maintain a certain level of privacy for your personal GitHub account. This can be especially helpful if you don't want blog visitors to associate your blog with your personal or professional projects.
Collaboration: If you plan on collaborating with others on your blog, having a dedicated account makes it easier to manage access and permissions for the blog repository.
Ultimately, the decision to create a separate GitHub account for your blog depends on your preferences and needs. If you're comfortable with using your personal account and don't see any immediate benefits from creating a new one, you can continue using your existing account.
If I make a separate GitHub account, should it be an organization account?
Creating an organization account can be a good idea for your blog project, especially if you plan to collaborate with others or manage multiple repositories related to your blog. Here are some advantages of using an organization account:
Team management: Organizations in GitHub allow you to manage teams and their permissions easily. You can create different teams with specific access levels and invite collaborators as needed.
Repository management: An organization account can have multiple repositories, which can be helpful if you have related projects for your blog, such as themes, plugins, or additional resources.
Centralized billing: If you decide to upgrade to a paid plan for your blog or other related repositories, organization accounts provide centralized billing for all associated repositories.
Professional appearance: An organization account can give your blog a more professional appearance, as it separates your blog project from your personal GitHub account.
However, if you're just starting out and don't expect to collaborate with others or manage multiple repositories, using a regular user account may be sufficient. You can always create an organization later if your needs change. Keep in mind that creating an organization account is free, but some advanced features might require a paid plan.
Multiple repositories might be useful. I could have a repository online with the code used in a particular blog post for example.
Absolutely! Using multiple repositories can be an excellent way to organize and manage the code samples and other resources related to your blog posts. By creating separate repositories for each code example or project, you can:
Improve organization: Keeping code samples separate from your blog's main repository makes it easier for you and your readers to find and navigate through the code.
Simplify collaboration: If you're working with other contributors or accepting pull requests, having separate repositories for each code example can make the collaboration process smoother.
Enable version control: Using a repository for each code sample allows you to take advantage of Git's version control features, such as branches, tags, and commit history, making it easier to manage updates and revisions.
Facilitate code reuse: By hosting the code samples in separate repositories, you make it easier for readers to clone, fork, or download the code for their own use and experimentation.
To link the code repositories to your blog posts, you can include a reference or hyperlink within the post, directing readers to the corresponding GitHub repository. This way, your readers can easily access, study, and experiment with the code related to the content they're reading.
At this point, I went to GitHub to see if I could create an organizational account and name it "codereflections" to match the domain name. Unfortunately, someone registered it back in 2018, then apparently never used it.
Unfortunately, someone is already squatting on the GitHub username "codereflections" even though they haven't done anything with it. The account was created in November 2018 and has had ZERO account activity since then. Is there any chance GitHub could be convinced to delete that account so I can create that username, given that it's been reserved for years and never used?
It's unlikely that GitHub would delete the inactive account just to free up the username for you. GitHub's username squatting policy typically requires a trademark owner to file a complaint for the release of a username, and even then, it's not guaranteed.
However, you can try contacting GitHub Support to see if they would be willing to help in this situation. While it might be a long shot, it's worth a try. You can reach out to GitHub Support via their contact form: https://support.github.com/contact
If GitHub doesn't release the username, you can consider alternative options for the account name. For example, you could use a variation of "codereflections", such as "code_reflections", "codereflectionsblog", or "thecodereflections". This way, you'll still have a name closely related to your domain while working around the username issue.
It appears that the "code_reflections" username doesn't exist, so I guess that's a good fallback option.
That's great! You can go ahead and create a new GitHub account with the "code_reflections" username as your fallback option. This will still closely relate to your domain name, and your audience should easily recognize it. Once you set up your account, you can start working on your blog using a static site generator and host it on GitHub Pages. Remember to also set up a custom domain for your GitHub Pages site, so it points to your "codereflections.com" domain. Good luck with your new blog!
Would GitHub give my request more consideration now that I've registered the "codereflections.com" domain name?
It's possible that owning the "codereflections.com" domain name might give your request more credibility, but it's still up to GitHub's discretion whether they decide to release the inactive account or not. You can try reaching out to GitHub support with your request, explaining your situation and providing proof that you own the "codereflections.com" domain.
However, keep in mind that there's no guarantee they will release the username, as they might have their own policies regarding account management. In case they decide not to release the username, using "code_reflections" as a fallback option is still a good choice.
I tried opening a support ticket, but they just closed it without a reply, so I decided to create the organization account as "code-reflections" instead. Not ideal, but oh well. (I haven't started using that account yet.)
After this, I asked ChatGPT to help with the initial blog post, as I described in that post. Then I investigated themes, since that might decide which blogging platform I wanted to use.
Is there a good standard design layout I can use?
Yes, there are several standard design layouts that you can use as a starting point for your blog. One popular and effective layout is the F-shaped pattern. This layout takes into account the natural reading pattern of users, where they tend to read content in an F-shaped pattern, scanning horizontally across the top, then down the left side and across the middle.
Here's a basic structure for an F-shaped layout:
Header: Include your blog's logo, navigation menu, and potentially a search bar.
Main Content Area: This is where your blog posts will appear. Use a clear and easy-to-read font with appropriate line spacing. You can choose to display your posts in a single column or a grid format.
Sidebar: Place the sidebar on the right side of the main content area. Include elements such as a brief author bio, a list of recent or popular posts, social media links, and potentially an email subscription form.
Footer: Use this area to display additional navigation links, a copyright notice, and any other relevant information or disclaimers.
Make sure to use whitespace effectively to separate different sections and avoid clutter. You can also incorporate responsive design principles to ensure that your blog looks good on various devices and screen sizes.
Many static site generators, including Jekyll, come with built-in themes that follow standard design layouts. You can start with one of these themes and then customize it to match your preferences and branding.
Which static site generators come with the best default themes?
Several static site generators come with impressive default themes, providing you with a solid starting point for your blog. Here are a few popular options:
Jekyll: Jekyll is one of the most popular static site generators and offers a variety of default themes that are clean, responsive, and easy to customize. Jekyll's most popular default theme is "Minima," which provides a minimalistic design and focuses on readability. Jekyll also has a large community, so you can find many other high-quality, free themes created by users.
Hugo: Hugo is a fast and flexible static site generator with a collection of built-in themes. Its default theme, "Ananke," is modern and clean, with a responsive design. There are also numerous other themes available in the Hugo Themes Showcase that you can use as a starting point for your blog.
Gatsby: Gatsby is a powerful and flexible static site generator based on React. While Gatsby doesn't have a default theme per se, it has a rich ecosystem of starter templates, which include themes and pre-configured setups to help you get started quickly. Gatsby Starter Blog is a popular choice for bloggers, offering a clean and responsive design.
Eleventy (11ty): Eleventy is a simpler static site generator, offering a great degree of flexibility. Although it doesn't come with a built-in theme, there are several starter projects available, like "eleventy-base-blog," which provides a clean, responsive, and easy-to-customize design for your blog.
Each of these static site generators has its advantages, and the best choice will depend on your specific needs and preferences. Keep in mind that all of these options have active communities, which means you can find additional themes and resources to help you create a blog that meets your requirements.
Let's suppose that I'll use Jekyll. What would be the best theme to use that would incorporate Google AdSense and Outbrain well?
When choosing a Jekyll theme that incorporates Google AdSense and Outbrain, you should look for a theme that is clean, responsive, and has dedicated ad spaces or is easy to customize for ad placements. While many themes can be customized to incorporate ad networks, here are a few themes that are well-suited for integrating Google AdSense and Outbrain:
- Chirpy: Chirpy is a minimal, responsive, and SEO-friendly Jekyll theme. Its clean design and well-organized layout make it easy to incorporate ad placements without compromising the user experience. You can add Google AdSense and Outbrain widgets within the sidebar, footer, or between posts.
GitHub: https://github.com/cotes2020/jekyll-theme-chirpy
- Reverie: Reverie is a responsive, clean, and minimal Jekyll theme designed with readability and performance in mind. It offers several customization options, making it easy to integrate Google AdSense and Outbrain widgets in the sidebar or between posts.
GitHub: https://github.com/amitmerchant1990/reverie
- Minimal Mistakes: Minimal Mistakes is a popular, flexible, and responsive Jekyll theme with a clean design that can be customized to fit various types of websites, including blogs. It has built-in support for Google AdSense and allows you to place ads in the sidebar or between posts.
GitHub: https://github.com/mmistakes/minimal-mistakes
You can add Google AdSense and Outbrain code snippets to these themes by editing the appropriate template files (such as `_includes` or `_layouts`) and inserting the ad code where you want the ads to appear. Always make sure to follow the guidelines provided by Google AdSense and Outbrain to ensure a positive user experience and compliance with their policies.
Are there other good themes with out-of-the-box support for either or both of these?
Yes, there are more Jekyll themes that come with out-of-the-box support for Google AdSense or can be easily customized to include both Google AdSense and Outbrain. Here are a few more options:
- Lanyon: Lanyon is a content-first Jekyll theme that focuses on readability and simplicity. While it doesn't have explicit out-of-the-box support for Google AdSense or Outbrain, it offers a clean and customizable sidebar, making it easy to integrate ad placements.
GitHub: https://github.com/poole/lanyon
- Whiteglass: Whiteglass is a minimal, responsive, and content-focused Jekyll theme. It's designed to be simple and readable, with easy customization options. You can add Google AdSense or Outbrain widgets within the sidebar or between posts.
GitHub: https://github.com/yous/whiteglass
- Jekyll-Uno: Jekyll-Uno is a minimal, responsive, and elegant theme for Jekyll. It has a unique design and layout, making it a good choice if you're looking for something different. While it doesn't have explicit support for Google AdSense or Outbrain, it can be easily customized to include ad placements in the header, footer, or sidebar.
GitHub: https://github.com/joshgerdes/jekyll-uno
- So Simple Theme: So Simple is a clean, minimal, and responsive Jekyll theme that focuses on readability and ease of use. It offers various customization options, making it easy to integrate Google AdSense or Outbrain widgets in the sidebar or between posts.
GitHub: https://github.com/mmistakes/so-simple-theme
Remember to always follow the guidelines provided by Google AdSense and Outbrain to ensure a positive user experience and compliance with their policies. When customizing these themes, edit the appropriate template files (such as `_includes` or `_layouts`) and insert the ad code where you want the ads to appear.
I also wanted comment support, and I wasn't sure how to do that with a static site generator, so I asked about that too.
What is the best way to integrate comment support?
There are several ways to integrate comment support for your Jekyll blog. Since Jekyll generates static pages, you'll need to rely on third-party services to handle comments. Here are some popular options:
- Disqus: Disqus is a widely-used commenting platform that's easy to integrate with Jekyll. To add Disqus to your Jekyll blog, sign up for a Disqus account, and follow their instructions to obtain the universal embed code. Then, add the code to your Jekyll theme's appropriate template file (e.g., `_layouts/post.html`). You can find more detailed instructions in the Jekyll documentation:
https://jekyllrb.com/docs/comments/#disqus
- Staticman: Staticman is another popular choice for adding comments to static websites. It allows you to have comments as part of your repository, so they're stored as data files alongside your site's content. This provides the benefit of full control over your comments and the ability to style them using your site's CSS. To set up Staticman, follow the instructions provided in the Staticman documentation:
- Commento: Commento is a lightweight, privacy-focused commenting system that can be easily integrated into a Jekyll blog. Sign up for a Commento account, and follow their instructions to get the embed code. Then, add the code to the appropriate template file in your Jekyll theme.
- Utterances: Utterances is a commenting system that uses GitHub issues to store comments. It's a great option if you're already using GitHub to host your blog. To set up Utterances, follow the instructions on their GitHub page:
https://github.com/utterance/utterances
These are just a few options to add comment support to your Jekyll blog. Choose the one that best fits your needs and preferences. Remember to follow the instructions provided by each service and test the integration to ensure a smooth user experience.
What other commenting solutions work with static sites on GitHub Pages?
In addition to the commenting solutions mentioned previously, here are some other options for adding comments to static sites hosted on GitHub Pages:
- Hyvor Talk: Hyvor Talk is a privacy-focused, easy-to-install commenting system. Sign up for an account, and follow their instructions to get the embed code. Then, add the code to the appropriate template file in your Jekyll theme.
- Remark42: Remark42 is a lightweight, open-source, and self-hosted commenting system that supports Markdown and does not require users to register. You can set it up on your own server or use a managed hosting option. To integrate Remark42 with your Jekyll blog, follow the instructions provided in the Remark42 documentation.
- Isso: Isso is an open-source, self-hosted commenting system that's lightweight and supports Markdown. To use Isso with your Jekyll blog, you'll need to set up an Isso server, which requires some technical knowledge. Once your server is set up, follow the instructions provided in the Isso documentation to integrate it with your Jekyll blog.
- FastComments: FastComments is a fast and lightweight commenting system that's easy to install. Sign up for an account, and follow their instructions to get the embed code. Then, add the code to the appropriate template file in your Jekyll theme.
These are just a few of the many commenting solutions available for static sites hosted on GitHub Pages. Choose the one that best suits your needs, preferences, and technical abilities. Keep in mind that some options may require more setup and maintenance than others.
What are the best privacy-focused options that keep the data until my control instead of a third party?
If you prioritize privacy and want to keep the data under your control, consider these self-hosted commenting solutions:
- Remark42: Remark42 is an open-source, lightweight, and self-hosted commenting system that respects users' privacy. It supports Markdown and does not require users to register. To integrate Remark42 with your Jekyll blog, set it up on your own server and follow the instructions provided in the Remark42 documentation.
- Isso: Isso is an open-source, self-hosted commenting system that's lightweight and supports Markdown. It is focused on privacy and does not use third-party tracking services. To use Isso with your Jekyll blog, you'll need to set up an Isso server, which requires some technical knowledge. Once your server is set up, follow the instructions provided in the Isso documentation to integrate it with your Jekyll blog.
- Commento: Commento is another self-hosted, privacy-focused commenting system. It's open-source, lightweight, and easy to install. You can either use their managed service or host it on your own server. To integrate Commento with your Jekyll blog, follow the instructions in the Commento documentation.
By hosting your commenting system on your server, you maintain full control over the data and can ensure that it's handled according to your privacy preferences. However, keep in mind that self-hosted solutions may require more setup and maintenance compared to third-party services.
Do these all avoid unwanted third-party trackers?
Yes, all three of the mentioned self-hosted commenting solutions—Remark42, Isso, and Commento—are designed with privacy in mind and avoid unwanted third-party trackers. They focus on providing a clean and minimalistic commenting experience without compromising user privacy. By hosting these solutions on your own server, you maintain full control over the data and can ensure that third-party tracking is not involved.
However, it's always a good idea to review the documentation of each solution to understand their specific privacy features and make an informed decision based on your requirements.
Any other similar options?
Yes, there are a few more self-hosted commenting solutions that focus on privacy and can work with static sites:
Utterances: A lightweight, open-source commenting system that uses GitHub issues for storing comments. It requires users to have a GitHub account to comment, which may limit engagement but ensures that there's no third-party tracking. (https://utteranc.es/)
Schnack: A simple, self-hosted, and privacy-focused commenting system with minimal tracking. It supports authentication via GitHub, Twitter, Google, and Facebook. (https://schnack.cool/)
Talkyard: An open-source, self-hosted commenting platform with a focus on privacy. It offers threaded discussions and supports Single Sign-On (SSO) integration. (https://www.talkyard.io/)
These solutions also aim to avoid unwanted third-party trackers, but it's essential to review their documentation and features to ensure they align with your privacy requirements.
Give me a few more.
Here are a few more privacy-focused and self-hosted commenting solutions for static sites:
Isso: An open-source, lightweight commenting system that uses SQLite to store comments. It's self-hosted and supports markdown, moderation, and email notifications. (https://posativ.org/isso/)
Commento: A privacy-focused, open-source commenting platform that is self-hostable. It's lightweight, has a clean interface, and supports Single Sign-On (SSO) and markdown. (https://commento.io/)
Cactus Comments: A federated and open-source commenting system built on Matrix, a decentralized communication protocol. It enables you to host your comments and have better control over your data. (https://cactus.chat/)
Remember to thoroughly review each solution's documentation and features to ensure they meet your privacy requirements and align with your overall goals for your blog.
You already mentioned Isso and Commento. What else?
I apologize for the repetition. Here are a couple more privacy-focused, self-hosted commenting solutions for static sites:
Schnack: A lightweight, open-source, and self-hosted commenting system. It supports social logins and single sign-on (SSO) and is designed to be easy to moderate. (https://schnack.cool/)
Coral Talk: Developed by Mozilla, Coral Talk is a fully-featured, self-hosted, and open-source commenting system. It offers advanced moderation tools, customizable user experience, and robust API. (https://coralproject.net/talk/)
Remember to review each solution's documentation and features to ensure they meet your privacy requirements and align with your overall goals for your blog.
You already mentioned Schnack too. Any other good options to consider besides Remark42, Isso, Commento, Utterances, Schnack, Talkyard, Cactus Comments and Coral Talk?
Apologies for the oversight. Here are a few more self-hosted commenting systems that focus on privacy:
Yap: An open-source, self-hosted, and lightweight commenting system that allows users to comment without accounts, using only their names and email addresses. It supports moderation and Markdown formatting. (https://github.com/yap/yap)
Juvia: A commenting system developed by Phusion, Juvia is an open-source and self-hosted solution that supports multiple sites and is built using Ruby on Rails. It provides a simple API for embedding comments into any web page. (https://github.com/phusion/juvia)
These options should provide additional alternatives for your consideration. Be sure to review their documentation and features to find the best fit for your blog.
Remark42, Isso, Commento, Utterances, Schnack, Talkyard, Cactus Comments, Coral Talk, Yap and Juvia. Is that all the suitable options that you are aware of?
Yes, those are the most suitable privacy-focused commenting systems I am aware of for static sites hosted on GitHub Pages. It's worth noting that new solutions may arise over time or some existing ones may become obsolete. However, as of my knowledge cutoff in September 2021, these options should cover the majority of self-hosted, privacy-centric commenting systems available. Always make sure to research the latest information and updates about the chosen solution to ensure compatibility and support.
That's enough for now; tomorrow I'll describe the search for a good hosting provider to run a virtual Linux server of my own, since it appears to be needed for a commenting solution, even if I'm hosting a static site on GitHub Pages...