Top Related Projects
Quick Overview
Isso is a lightweight commenting server written in Python, designed as an alternative to Disqus. It allows website owners to host their own commenting system, providing more control over data and privacy. Isso integrates easily with static websites and supports features like threading, voting, and moderation.
Pros
- Self-hosted solution, giving full control over data and privacy
- Lightweight and easy to integrate with static websites
- Supports Markdown formatting in comments
- Includes features like threading, voting, and moderation
Cons
- Requires server setup and maintenance, which may be challenging for non-technical users
- Limited plugin ecosystem compared to more established solutions
- May lack some advanced features found in commercial commenting systems
- Potential scalability issues for high-traffic websites
Code Examples
- Basic JavaScript integration:
<script data-isso="//comments.example.com/"
src="//comments.example.com/js/embed.min.js"></script>
<section id="isso-thread"></section>
This code snippet shows how to include Isso in an HTML page, specifying the Isso server URL and creating a container for comments.
- Customizing Isso appearance:
<style>
#isso-thread {
font-family: Arial, sans-serif;
}
.isso-comment {
background-color: #f0f0f0;
padding: 10px;
margin-bottom: 10px;
}
</style>
This CSS example demonstrates how to customize the appearance of Isso comments on your website.
- Configuring Isso server:
[general]
dbpath = /var/lib/isso/comments.db
host = https://example.com/
max-age = 15m
notify = smtp
[server]
listen = http://localhost:8080/
[smtp]
username = username
password = password
host = smtp.gmail.com
port = 587
security = starttls
to = admin@example.com
from = "Isso Comments" <isso@example.com>
This configuration file example shows how to set up basic Isso server settings, including database path, host, and email notifications.
Getting Started
-
Install Isso:
pip install isso
-
Create a configuration file (e.g.,
isso.cfg
) with basic settings:[general] dbpath = comments.db host = https://example.com/ [server] listen = http://localhost:8080/
-
Start the Isso server:
isso -c isso.cfg run
-
Add Isso to your HTML:
<script data-isso="//comments.example.com/" src="//comments.example.com/js/embed.min.js"></script> <section id="isso-thread"></section>
-
Configure your web server to proxy requests to the Isso server.
Competitor Comparisons
a Disqus alternative
Pros of isso
- Lightweight and self-hosted commenting system
- Easy integration with static websites
- Supports multiple languages and customizable appearance
Cons of isso
- Limited moderation features compared to some alternatives
- Requires server-side setup and maintenance
- May have performance issues with high traffic sites
Code Comparison
isso:
from isso import Isso, config
app = Isso(config.load(
CONFIG_FILE,
{
"general": {
"dbpath": "/tmp/comments.db",
"host": "http://localhost:8080/"
},
}
))
Summary
Isso is a lightweight, self-hosted commenting system designed for integration with static websites. It offers multi-language support and customizable appearance, making it suitable for various web projects. However, it has some limitations in terms of moderation features and may require more setup and maintenance compared to hosted solutions. The code example demonstrates the basic configuration of Isso, showing how to set up the database path and host URL. Overall, Isso provides a good balance between functionality and simplicity for those looking to add commenting capabilities to their static sites without relying on third-party services.
comment engine
Pros of Remark42
- More active development with frequent updates and bug fixes
- Supports multiple authentication methods (OAuth, email, anonymous)
- Includes features like voting, pinning comments, and moderation tools
Cons of Remark42
- More complex setup and configuration compared to Isso
- Requires more server resources due to additional features
- May be overkill for simple websites or blogs
Code Comparison
Isso (Python):
def add_comment(self, uri, comment):
with sqlite3.connect(self.dbpath) as con:
return Comment.add(con, uri, comment)
Remark42 (Go):
func (s *DataStore) Create(comment store.Comment) (store.Comment, error) {
comment.ID = uuid.New().String()
comment.Timestamp = time.Now()
return s.EditComment(comment)
}
Both projects aim to provide self-hosted commenting systems, but they differ in their approach and feature set. Isso is simpler and lighter, making it easier to set up for basic needs. Remark42 offers more advanced features and flexibility, but at the cost of increased complexity and resource usage. The code comparison shows that Isso uses Python with SQLite, while Remark42 is written in Go and uses a more structured approach to data storage.
🌌 Your Self-hosted Comment System. | 自托管评论系统
Pros of Artalk
- More modern UI with real-time updates and reactions
- Supports multiple languages and themes out-of-the-box
- Includes built-in moderation tools and spam protection
Cons of Artalk
- Larger codebase and potentially more complex setup
- Less focus on privacy compared to Isso's anonymity features
- Requires more server resources due to additional features
Code Comparison
Isso (Python):
def new(environ, request):
if request.method != "POST":
return BadRequest("POST required")
data = request.get_json()
for field in ("text", "author", "email", "website"):
if field not in data:
return BadRequest("missing %s" % field)
Artalk (JavaScript):
export function submitComment(ctx, data) {
return new Promise((resolve, reject) => {
ctx.$api.post('/comments', data).then((resp) => {
ctx.setCommentSubmitting(false)
resolve(resp.data)
}).catch((err) => {
ctx.setCommentSubmitting(false)
reject(err)
})
})
}
Both projects aim to provide self-hosted comment systems for websites, but Artalk offers a more feature-rich experience with modern UI elements and built-in moderation tools. Isso, on the other hand, focuses on simplicity and privacy. The code comparison shows Isso's server-side comment handling in Python, while Artalk uses a client-side JavaScript approach for submitting comments.
A better commenting experience from Vox Media
Pros of Talk
- More feature-rich with advanced moderation tools and user management
- Supports multiple authentication methods (e.g., social logins)
- Active development with regular updates and a larger community
Cons of Talk
- More complex setup and configuration
- Higher resource requirements due to its extensive features
- Steeper learning curve for administrators and developers
Code Comparison
Talk (JavaScript):
const { createServer } = require("./server");
const port = process.env.PORT || 3000;
createServer().listen(port, () => {
console.log(`Server listening on ${port}`);
});
Isso (Python):
from isso import make_app
from werkzeug.serving import run_simple
app = make_app()
run_simple('localhost', 8080, app, use_reloader=True)
Summary
Talk is a more comprehensive commenting system with advanced features, suitable for larger projects with complex moderation needs. It offers better scalability and a wider range of integrations but requires more resources and setup time.
Isso, on the other hand, is a lightweight, self-hosted commenting system that's easier to set up and maintain. It's ideal for smaller projects or personal blogs where simplicity is preferred over extensive features.
The code comparison shows that Talk uses Node.js and has a more modular structure, while Isso is built with Python and has a simpler setup process. Both systems can be easily integrated into existing web applications, but Talk offers more flexibility in terms of customization and scalability.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Isso â a commenting server similar to Disqus
Isso â Ich schrei sonst â is a lightweight commenting server written in Python and JavaScript. It aims to be a drop-in replacement for Disqus.
Features
- Comments written in Markdown
Users can edit or delete own comments (within 15 minutes by default). Comments in moderation queue are not publicly visible before activation. - SQLite backend
Because comments are not Big Data. - Disqus & WordPress Import
You can migrate your Disqus/WordPress comments without any hassle. - Configurable JS client
Embed a single JS file, 65kB (20kB gzipped) and you are done.
See isso-comments.de for a live demo, more details and documentation.
Screenshot
Getting started
Requirements
- Python 3.8+ (+ devel headers)
- SQLite 3.3.8 or later
- a working C compiler
Install Isso from PyPi:
pip install isso
Then, follow the Quickstart guide.
If you're stuck, follow the Install guide, see Troubleshooting and browse the the full documentation.
Docker
[!NOTE]
The Docker image tagging scheme for stable releases was changed from:latest
to:release
as of March 2024 (#970, #1012)
A Docker image with
the latest stable release is provided at ghcr.io/isso-comments/isso:release
,
while isso:latest
is rebuilt on every push to the master
branch. See
Using Docker.
The maintainers recommend pinning the image to a
release tag, e.g.
isso:0.13.0
.
Contributing
- Pull requests are very much welcome! These might be good first issues
- See Ways to Contribute
- Translate
Development
Refer to the docs for Installing from Source.
Help
- Join
#isso
via IRC on Libera.Chat - Ask a question on GitHub Discussions.
License
MIT, see LICENSE.
Top Related Projects
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot