README.rst 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167
  1. ======
  2. Misago
  3. ======
  4. .. image:: https://travis-ci.org/rafalp/Misago.svg?branch=master
  5. :target: https://travis-ci.org/rafalp/Misago
  6. :alt: Tests Result
  7. .. image:: https://coveralls.io/repos/github/rafalp/Misago/badge.svg?branch=master
  8. :target: https://coveralls.io/github/rafalp/Misago?branch=master
  9. :alt: Test Coverage
  10. .. image:: https://badges.gitter.im/Misago/Misago.svg
  11. :target: https://gitter.im/Misago/Misago?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge
  12. :alt: Development Chat
  13. .. image:: https://img.shields.io/badge/python-2.7%2C%203.4%2C%203.5%2C%203.6-blue.svg
  14. :target: https://travis-ci.org/rafalp/Misago
  15. :alt: Works on Python 2.7, 3.5, 3,6
  16. **Development Status: Alpha**
  17. 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.
  18. * **Homepage:** http://misago-project.org/
  19. * **Documentation:** https://rafalp.gitbooks.io/misago/
  20. * **Code & BugTracker:** https://github.com/rafalp/Misago/
  21. Screenshots
  22. ===========
  23. .. image:: https://misago-project.org/media/mporg-home.png
  24. :target: https://misago-project.org
  25. :alt: Forum index
  26. .. image:: https://misago-project.org/media/mporg-thread.png
  27. :target: https://misago-project.org
  28. :alt: Thread view
  29. Production use
  30. ==============
  31. As of now Misago implements all features considered "must have" on live internet forum:
  32. * Your users may register accounts, set avatars, change options and edit their profiles. They have option to reset forgotten password.
  33. * 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 behaviour, like username lengths or avatar restrictions.
  34. * Create categories together with unlimited number and depth of subcategories.
  35. * Write messages using either GitHub flavoured markdown, BBCode subset, or both.
  36. * 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.
  37. * 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.
  38. * Ban system allows you to ban existing users as well as forbid certain user names, e-mails or IP addresses from registering accounts.
  39. * Permission system allowing you to control which features are available to users based on their rank, roles or category they are in.
  40. * Private threads feature allowing users to create threads visible only to them and those they've invited.
  41. * 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.
  42. * Post attachments complete thumbnailing and gif's animation removal.
  43. * 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.
  44. * Moderation queue for users and categories allowing you to moderate content before it becomes visible to other members of the community.
  45. Even more features will follow in future releases:
  46. * content reporting
  47. * warning system
  48. * notifications
  49. * custom design
  50. If you are looking into using Misago to run live forum, you are absolutely invited to, but please keep in mind that Misago is relatively immature software that may contain serious bugs or issues as well as quirks and lackings thay may take time to resolve, despite best efforts.
  51. Development
  52. ===========
  53. To start Misago site locally, first setup and activate virtual environment for it and then fire following commands::
  54. python setup.py install
  55. misago-start.py testforum
  56. This will install Misago and its dependencies in your virtual environment and will make pre-configured Misago site for you named ``testforum``::
  57. testforum
  58. + avatar_store
  59. + media
  60. + testforum
  61. * __init__.py
  62. * settings.py
  63. * urls.py
  64. * wsgi.py
  65. + static
  66. + theme
  67. + cron.txt
  68. + manage.py
  69. Now edit ``settings.py`` file in your editor of choice in order to set up basic settings like database connection, default timezone or interface language.
  70. Next, initialize database by using migrate commands provided by ``manage.py`` admin utility that you'll find in directory up one level from where ``settings.py`` is::
  71. python manage.py migrate
  72. Then, call ``createsuperuser`` command to create super admin in database::
  73. python manage.py createsuperuser
  74. Finally start development server using ``runserver`` command::
  75. python manage.py runserver
  76. If nothing is wrong with your setup, Django developer server will start, enabling you to visit ``127.0.0.1:8000`` in your browser and see the forum index. You should now be able to sign in to user account that you have created ealier.
  77. You will likely want to customize your site via changing settings and creating categories. You can do this with Admin Control Panel available under ``127.0.0.1:8000/admincp/`` url.
  78. Frontend
  79. --------
  80. With exception of Admin Panel, Misago frontend relies heavily on React.js components backed by Django API. This application relies on custom Gulp.js-based toolkit for development. As of current, Misago's ``gulpfile.js`` defines following tasks:
  81. * **build** does production build of Misago's assets, concating and minifying javascripts, css and images, as well as moving them to misago/static directory
  82. * **watch** does quick build for assets (concat assets into single files, compile less, deploy to misago/static but don't minify/optimize) as well as runs re-build when less/js changes
  83. * **watchstyle** does quick build of less files, and re-builds them when they change
  84. * **test** runs Mocha.js tests suite for Misago's javascript
  85. 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 modifing assets in ``frontend`` directory, however special care should be taken when changing source javascripts.
  86. Misago defines template that allows you to include custom html and js code before Misago's JavaScript app is ran, named **scripts.html**.
  87. Bug reports, features and feedback
  88. ==================================
  89. If you have found bug, please report it on `issue tracker <https://github.com/rafalp/Misago/issues>`_.
  90. For feature or support requests as well as general feedback please use `official forum <http://misago-project.org>`_ instead. Your feedback means much to the project so please do share your thoughts!
  91. There's also Gitter for those looking for intant-messaging approach for discussing Misago development.
  92. Contributing
  93. ============
  94. If you have corrected spelling, wrote new tests or fixed a bug, feel free to open pull request.
  95. Many issues are open for takers. If you've found one you feel you could take care of, please announce your intent in issue discussion before you start working. That way situations when more than one person works on solving same issue can be avoided.
  96. Authors
  97. =======
  98. **Rafał Pitoń**
  99. * http://rpiton.com
  100. * http://github.com/rafalp
  101. * https://twitter.com/RafalPiton
  102. English sentences used within ``misago.faker.phrases`` were extracted from `National Aeronautics and Space Administration Solar System Exploration Portal <http://solarsystem.nasa.gov/planets/>`_ and are not copyrighted as per `Media and content usage guidelines <https://www.nasa.gov/multimedia/guidelines/index.html>`_.
  103. Copyright and license
  104. =====================
  105. **Misago** - Copyright © 2016 `Rafał Pitoń <http://github.com/ralfp>`_
  106. This program comes with ABSOLUTELY NO WARRANTY.
  107. This is free software and you are welcome to modify and redistribute it under the conditions described in the license.
  108. For the complete license, refer to LICENSE.rst