Replacing Commenting Systems – From Disqus to Waline

Original link: https://shuiba.co/changed-comment-system-from-disqus-to-waline

Hope and hope, and finally look forward to Friday, my free day. Ever since I came up with a new design for my personal website, my brain has been thinking about it all the time, and all the time I squeezed out is only half an hour on weekday evenings and early mornings when I struggle with sleeplessness. There is one thing to say, the sunrise in early autumn is beautiful, and it is cool to sit by the window on a cloudy day. Because time is short and tasks are heavy, I adjusted my after-work fitness plan. Even so, I was still struggling. I think it is not the time schedule that needs to be adjusted, but my psychological expectations. Then take this blog post as a node, close a phased end, and then adjust the pace and start again!

Summary

Clear requirements

As the title, I finally replaced Disqus. As you can see, Waline is still on the debug, long long to-do list. But at least, it ran successfully. I am an amateur novice with the heart of a technical expert. I even typed “how to build a comment system” and “how to build a static generator” in the search box yesterday. Maybe the end of the universe is a programmer. But having said that, it is still too difficult for me, and more importantly, I am not here. That’s all, let’s enjoy the convenience of modern life and the Internet (and programmer friends)!

After many ups and downs, I deliberated and tried my best to summarize my requirements for the comment system (the ranking is in no particular order)——

  • You can enter the website for easy return visits
  • Comments are replied to receive email notifications
  • Data is easy to process and backup (recently love JSON)
  • Can customize the style

And because of the good reading and writing in the narrow sense, I fell in love with the JSON format. I hope that the comments can be arranged in a timeline, divided by the year, and one file per year , which is fresh and clean and not tense (old stalk again).

My ideal state for storing and displaying blog posts has already been realized by FarBox—one .md file for one post, archived in a year folder, and automatically triggers synchronization when placed in Dropbox. Therefore, other blog implementations that have been seriously considered later are not as good as the former, so I call it “the most ideal”-it’s not that I added titles randomly, but it has withstood all the tests.

dare to try

Thanks to the previous meticulous research, I quickly selected a few objects that I wanted to try. In the process of continuous testing and comparison, I recognized my own needs, and also included Disqus in the investigation object for equal evaluation.

Disqus

There are still many advantages of staying in Disqus – no need to move comments; easy to migrate and adapt to different blog platforms; simple deployment; data can be backed up (you can say it can be considered). But at the same time, it is basically impossible to modify the style (this may be an advantage in some respects), and there is no visitor URL, unless the person is written in the homepage introduction, I have to jump several pages to find it found. Of course, the biggest disadvantage may be that it does not conform to the national conditions. At first, I was calm about using it as a natural filter, but later, because I had some requirements for the appearance (forgive the obsession as a designer), my mentality was gradually distorted. So why not replace Disqus while you’re overhauling your personal website?

Twikoo

Wanting to replace Disqus at the beginning, I first considered Twikoo and Waline, but I forgot what factors made me decide to use Waline, but it didn’t matter, because when I officially started, I found that the deployment of Twikoo It seemed simpler, so I started with Twikoo first. The whole process was not smooth, and we didn’t get together in the end. I feel that my relationship with Twikoo is like first love. It taught me what is a self-deploying comment system, but in the end I chose to give up because of my immaturity.

At that time, I successfully registered Mongodb and Vercel, but there was a problem with cloning the warehouse on Vercel——

An unexpected error occurred. Our team has already been notified and are working to resolve the issue, please try again shortly.

I googled, raised an issue, and asked my friends but couldn’t solve it, so I tried other templates on Vercel, but failed for the same reason. It seems that there is a problem with my Github account. I vaguely feel that it may be related to the personal access token, but I can’t be sure and I don’t know the solution, so I put it away. Since I can fork the warehouse, I simply import it from my own account, and finally the configuration is successful. After setting up the front-end and starting various initial configurations, I was extremely tired at that time, and I didn’t set the language well. The English that I didn’t understand at first seemed to be garbled in my eyes. In this extreme environment, I worked hard to configure Email sending, as expected, failed. I suddenly felt so empty, looking at Twikoo’s UI and lost in thought.

In the voice of Brother Dou yelling to eat, I deleted all the efforts of the past few days—except for Vercel who was left because of his appearance. I laughed and called this effort “Twikoo Day Trip”. Goodbye Twikoo, goodbye Mongodb! In other words, it took a lot of effort to delete Mongodb, nested layer by layer. When I conveyed this failure to Brother Dou, he only said two words briefly: It’s so cool.

Waline

The LeanCloud in the quick start document kept me away from it because of some rumors, so I resolutely chose Twikoo since the beginning of the deployment. But then I was forced to do nothing. I still registered LeanCloud, but I fell again at Vercel as expected. When I calmly got up and forked into my own warehouse and imported it but still failed, I couldn’t calm down. Fortunately, Waline provides a lot of deployment methods, okay, I will try them one by one!

Railway wants money (bluntly), if you haven’t heard of others, try Netlify. It turned out that my account was abnormal and asked me to bind Strip payment to verify myself? In the middle of the night, you said I was abnormal, but I still thought you were abnormal! Maybe I registered when I was researching Eleventy before, and the account was locked because of inactivity for too long?

I switched to Deta Space again, one word, fragrant! The fast deployment of one-click deployment and the comfort of self-contained database are all very suitable for me! And it’s still free (probably temporarily?). In short, after a few days of hard work and struggle, I was roughly sure that Waline could be debugged into what I needed, and then I happily deleted LeanCloud and Vercel. Netlify couldn’t be logged in, so I couldn’t delete it either. Let it go. ,I’m tired.

Cusdis

As Cusdis with the most attractive appearance and the most simple functions, it was originally born, but there is no URL input box, so it is impossible to return visits.

Almost all my needs are met, except for the last one, I can’t enter the URL. No way, I really like returning visits, and I still can’t compromise after tossing and turning. ——Excerpt from “Third-Party Reviews 2023 Edition”

But it’s okay to try, after all, it’s the only one that provides official hosting, it’s so considerate, and it’s one of the best deployment experiences! (Although I stepped on the pit when converting html to jade, I didn’t call out the comment box at the beginning and it was very broken.) When I tested the comment reply email reminder, I found out that the comment reminder I thought was only to remind the website owner, but The person who is replied will not receive the reply reminder. I understand that the author did not add this function for security reasons , but at the same time, of course, I also have some regrets.

On the other hand, I didn’t find the import port of Disqus, because of the official hosting relationship, and I can’t back up the data. Maybe self-deployment can solve some of the problems, but I chose Cusdis because I could use managed services, so in the end I said goodbye to it in tears.

FarBox native

When thinking about the form of data backup, looking at the comment data exported from Disqus and Waline, I seem to be standing again at the juncture ten years ago when I decided to move into FarBox and manually modify all blog posts. I’m not afraid of trouble, as long as it’s done once and for all. Ten years ago, I made the right choice; and now, I am still shaking.

Comments are not like articles, it has an interactive process, you come and go instead of leaving in front of you. But statically readable and writable files may be the most once and for all, a sense of security that is locked. That being the case, FarBox’s native comments in the form of .csv storage are not a bad idea, and there is also the blessing of all-in-one. Regarding the problems left over from the history of “unable to return comment .csv file from the cloud” and “unable to receive comment reply email notification”, I sent an email to Hepo. Unexpectedly, I received a reassuring reply. Unexpectedly It is very difficult to solve these two problems in my current situation. The most extreme solution I have thought of is to manually copy all comments into local files in the background, and then synchronize them to overwrite them. But because I can’t receive notifications of new comments, and comment files are archived in units of articles, I have no way of knowing which articles have new comments, so it is very likely that new comments on old articles will be overwritten. This is of course something I do not want to see.

On the other hand, each article does not necessarily have comments. The article itself has its own release time, so it is understandable to arrange it according to the time, but the comments bound to it may come from the distant future, so it seems that the comments are also arranged according to the time of the article. Not ideal, so I still tend to sort by the time the comment was posted. Of course, I understand the original intention of Hepo development very well. An article is a folder, which contains all the pictures (if any), a text and a comment list (if any), and a family should be neat and tidy. But because I have too many articles (talking about tuberculosis), and there are not always articles with pictures, it is more scientific to file by year. Therefore, I built a separate image bed to place all multimedia files – image.jpg audio.mp3 video.mp4 , you see, I even specified the file format. Of course, I bound a custom domain name to the picture bed, just to achieve the effect of placing it in the same folder. It should be said that the effect is better. As long as the domain name remains unchanged, the picture link of the article will never be invalid. So, when it comes to the commenting system, I ended up leaning towards divide and conquer, which I’ve done a long time ago, but this time I came to the same conclusion after thinking about it.

have a bee in one’s bonnet

Writing here, I feel that my ideal blog system is about to come out——

  • Article : Markdown is archived in the year folder, and the file name is yymmdd-slug.md
  • Multimedia files : archived in the year folder, the file name is yymmdd-01.jpg yymmdd-02.mp3 yymmdd-03.mp4 , and so on
  • Comment : The JSON is archived with the year as the file name yyyy.json

Thanks to the predecessors who planted trees, my blog can be infinitely close to the ideal state. I will also follow this benchmark for subsequent debugging. In fact, it is mainly about regular comments. After all, articles and multimedia are already “determined”.

While contemplating whether to use native comments, I started thinking about the future of blogging again, and it was nothing more than a cliché – am I going to stay in FarBox forever, is there anywhere else I can go? Is there any real freedom to write a blog without being restrained or manipulated? Many bloggers have advised me to go to the Hugo circle where more people are, and maybe the life cycle can be longer. It’s not that I haven’t hesitated, even hesitated many times. Recently, I even want to try Typecho because of the reviews. But whether it is Hugo, Typecho or FarBox, aren’t they all created by “others”. True freedom can only come from oneself, and freedom is exchanged for ability. That being the case, I can rest assured that I can achieve freedom as much as possible within my limited ability, and that’s it!

This article is transferred from: https://shuiba.co/changed-comment-system-from-disqus-to-waline
This site is only for collection, and the copyright belongs to the original author.