Misago

Misago

功能全面的现代化开源论坛软件

Misago是一款功能全面的开源论坛软件。它具备用户管理、社交登录、内容编辑、版主工具和权限控制等核心功能。Misago支持Markdown和BBCode发帖,提供实时在线状态、私密主题和自定义资料字段。此外,它还包含投票系统、附件管理和最佳答案标记等实用工具,适合构建互动性强的在线社区。

Misago论坛软件开源项目PythonReact.jsGithub

Misago

Test Coverage Works on Python 3.12 Community Chat

Development Status: 🍌 Bananas 🍌

Misago aims to be complete, featured and modern forum solution that has no fear to say 'NO' to common and outdated opinions about how forum software should be made and what it should do.

Screenshots

Forum index

Thread view

Production use

Misago implements all features considered "must have" on live internet forum:

  • Your users may register accounts, set avatars, change options and edit their profiles. They have option to reset forgotten password.
  • Sign in with Facebook, Google, Github, Steam, Blizzard.net or any other over 50 supported OAuth providers.
  • Site admins may require users to confirm validity of their e-mail addresses via e-mail sent activation link, or limit user account activation to administrator action. They can use custom Q&A challenge, ReCAPTCHA, Stop Forum Spam or IP's blacklist to combat spam registrations. Pletora of settings are available to control user account behavior, like username lengths or avatar restrictions.
  • Create categories together with unlimited number and depth of subcategories.
  • Write messages using either GitHub flavoured markdown, BBCode subset, or both.
  • Presence features let site members know when other users are online, offline or banned. Individual users have setting to hide their activity from non-admins.
  • Complete moderation toolset allowing admin-approved moderators to edit, move, hide, approve, delete or close user posted content. This also includes option to delete or block user accounts or avatars.
  • Ban system allows you to ban existing users as well as forbid certain user names, e-mails or IP addresses from registering accounts.
  • Permission system allowing you to control which features are available to users based on their rank, roles or category they are in.
  • Post accurate read tracker that lets your users spot threads with new posts as well as let moderators spot unapproved replies and non-moderators spot approved posts.
  • Private threads feature allowing users to create threads visible only to them and those they've invited.
  • Python-based profile fields framework letting site owners to define custom fields for users to fill in complete with powerful customization options for custom requirements, display or validation logic.
  • Rich polls system, allowing polls with public and private voters, single and multiple choices as well as ones that allow vote change or limit voting tp limited period of time.
  • Post attachments complete thumbnailing and gif's animation removal.
  • Mark post in question thread as best answer, bringing basic Q&A functionality.
  • Posts edits log allowing you to see how user messages used to look in past as well as revert function protecting you from malignant users emptying their posts contents.
  • Moderation queue for users and categories allowing you to moderate content before it becomes visible to other members of the community.
  • Custom theme developed with bootstrap.
  • Features and settings for achieving GDPR compliance.
  • Integrate forum with your site using implemented OAuth2 client and JSON API.

Even more features will follow in future releases:

  • Forum-wide JS routing further reducing navigation times.
  • Replacing current API with GraphQL API for easier integrations and extending.
  • Plugin system to extend core package with new features.
  • WYSIWYM content editor for even easier post formatting.
  • Ranking system for forum search results based on post links, likes, author and thread importance.

Development

Preferred way to run Misago development instances on your machine is with Docker, which makes it easy to spin up arbitrary number of instances running different code with separate databases and dependencies besides each other.

To start, clone the repository and run ./dev init command in your terminal. This will build necessary docker containers, install python dependencies and initialize the database. After command does its magic, you will be able to start development server using the docker compose up command.

After development server starts, visit the http://127.0.0.1:8000/ in your browser to see your Misago installation.

Admin Control Panel is available under the http://127.0.0.1:8000/admincp/ address. To log in to it use Admin username and password password.

The ./dev utility implements other features besides the init. Run it without any arguments to get the list of available actions.

Running Misago in development without dev

You may skip ./dev init and setup dev instance manually, running those commands:

  1. docker compose build: builds docker containers
  2. docker compose run --rm misago python manage.py migrate: runs migrations
  3. docker compose run --rm misago python manage.py createsuperuser: creates admin user
  4. docker compose up: starts dev server

Frontend

With exception of Admin Panel, Misago frontend relies heavily on React.js components backed by Django API. This application uses webpack for building.

Currently Misago's package.json defines following tasks:

  • npm run build: does production build of Misago's assets, bundling and minifying JavaScript, CSS and images, as well as moving them to the misago/static/misago directory.
  • npm run start: does quick build for assets:bundling, compiling less, deployment to misago/static/misago. Doesn't minify/optimize. Runs re-build when less/js file changes.
  • npm run prettier: formats code with prettier.
  • npm run eslint: lints the code with eslint.

To start work on custom frontend for Misago, fork and install it locally to have development forum setup. You can now develop custom theme by modifying assets in frontend directory, however special care should be taken when changing source JavaScript files as no test suite for those exists.

Misago defines template that allows you to include custom html and JavaScript code before Misago's JavaScript app is ran, named scripts.html.

Admin

Admin assets are stored in misago-admin directory and deployed to misago/static/misago/admin directory on build.

To work on admin's JavaScript or CSS, cd to misago-admin and install dependencies with npm install. Now you can use following actions:

  • npm run build: does production build of assets, bundling and minifying JavaScript and CSS files.
  • npm run dev: does quick build for JavaScript and CSS assets, only bundling but not minifying. Also does a rebuild when one of the files changes.

Emails

Misago uses Mailpit to capture emails sent from the development instance.

To browse those emails, visit the http://127.0.0.1:8025 in your browser for the web interface.

Note for Windows users

If you are using Windows, you may see the following error during installation:

 => ERROR [misago 8/8] RUN ./dev bootstrap_plugins
------
 > [misago 8/8] RUN ./dev bootstrap_plugins:
0.385 /bin/sh: 1: ./dev: not found
------
failed to solve: process "/bin/sh -c ./dev bootstrap_plugins" did not complete successfully: exit code: 127

This error is caused by the dev file having its line endings converted from Unix format (LF) to Windows (CRLF) by git when you cloned the repository. To fix this, disable the automatic conversion of line endings in your git configuration and then clone the repository again.

Providing feedback and contributing

If you have found a bug, please report it either on the issue tracker or on the project's forums.

If you want to contribute to project, please see the contributing document.

For feature or support requests as well as general feedback please use the official forums. Your feedback means much to the project so please do share your thoughts!

There's also a Discord server for those looking for instant-messaging approach for getting in touch with Misago devs and users.

Authors

Rafał Pitoń and ❤️ contributors.

English sentences used within misago.faker.phrases were extracted from National Aeronautics and Space Administration Solar System Exploration Portal and are not copyrighted as per Media and content usage guidelines.

Copyright and license

Misago - Copyright © 2023 Rafał Pitoń This program comes with ABSOLUTELY NO WARRANTY.

This is free software and you are welcome to modify and redistribute it under the conditions described in the license. For the complete license, refer to LICENSE.rst

编辑推荐精选

Vora

Vora

免费创建高清无水印Sora视频

Vora是一个免费创建高清无水印Sora视频的AI工具

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

下拉加载更多