Open maddovr opened 6 years ago
Looking forward to your pull request : )
With so many features, maybe I should work out a plugin system.
So no plugin system🙃( too complex for a theme ), but I change the _includes's directory structure. now the commenting systems are placed under the _include/comment-providers directory.
And also the next version would add a provider
setting entry to comment, analytics and pageview settings in config.yml
. That means the new settings is not compatibility to the former version...
I'm still busy with my exams, which should finish around next week. Personally speaking I think a plugin system is another layer of complexity which would be a mess to both maintain and develop overtime, let alone this feature basically requires 2-3 html files with some Liquid, no reason to go as far as creating another superset on top of Jekyll. So about commenting systems:
I think that's about it, more or less. Gitalk requires you to have a Github account to post a comment, which is fine for developer oriented websites, but many aren't and the login barrier is always a bad thing imho for the general audience. Opinions? Or an alternative to staticman?
thx for the long analysis about commenting systems.
It's necessary to add support for a commenting system like "staticman".
I'm still busy with my exams, which should finish around next week. Personally speaking I think a plugin system is another layer of complexity which would be a mess to both maintain and develop overtime, let alone this feature basically requires 2-3 html files with some Liquid, no reason to go as far as creating another superset on top of Jekyll. So about commenting systems:
Disqus
Pros
- Easy to install(literally 5 mins setup time)
- Okay-ish spam detection(it mostly works)
- No ads on no-profit websites
- Free* (paid plans offer some nice features)
- Allows Login through many services(Facebook, Twitter, etc...)
Cons
- 3rd party host(Comments are owned by Disqus, there goes your privacy)
- Bad performance(although it's lazy loaded, Disqus is still a snail compared to the whole website, which is the whole point about static websites)
- Ads(if you have even a donation button on your website, you will get them)
- Threads are *#@!(good luck keeping up with a nestled discussion on Disqus, it sucks, it's evil)
- No theming(on free plans, you can't style Disqus to fit your theme/tastes)
- Guest comments tend to be recognized as spam even when they're not
Staticman
Pros
- Free and open source
- Comments can be themed however you wish
- Comments are static files, thus no need for javascript madness and loading from 3rd parties. It's fast
- No login required(that's a big pro imho, because not everyone might want to register only for commenting something on a single website)
- Fully integrated with Github(in manual moderation, comments are PRs to the site basically)
- Comments can be styled using markdown(another big pro imho)
Cons
- Setup is a bit involved(you have to set permission rights to staticbot in your repo, and you have to edit some stuff)
- Moderation can be a problem(you can choose to approve every single comment manually, or let akimset recognize the spam, it generally works)
- Notification emails need to be forwarded through third party services like Mailgun(which is capped at 10k emails per month on free plan, not a big issue for me tho)
- As comments are static files linked to your repo, this can take its toll on building time, not by much however since they are basically text only files
- Github only, at the time of writing Bitbucket and Gitlab are not supported
I think that's about it, more or less. Gitalk requires you to have a Github account to post a comment, which is fine for developer oriented websites, but many aren't and the login barrier is always a bad thing imho for the general audience. Opinions? Or an alternative to staticman?
@maddovr Detailed analysis :+1:. After a year of development, some points about Staticman have to be updated.
I think a good number of people that choose a static site are not too happy with Disqus&co., as such since we have a great alternative like staticman, it's worth adding this feature. I'm personally working on it and might do a pull request, however that would happen only after I finish my exams(next month).