CINXE.COM
Disqors is Built with Django
<html lang="en"> <head> <!-- Required meta tags --> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <!-- Other meta stuff --> <link rel="apple-touch-icon" href="/static/vendors/favicon/logo.ee701a5f0ffc.png" /> <link rel="apple-touch-icon" href="/static/vendors/favicon/logo.ee701a5f0ffc.png" /> <link rel="icon" type="image/png" sizes="16x16 32x32 500x500" href="/static/vendors/favicon/logo.ee701a5f0ffc.png"/> <meta property="og:type" content="website" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@rsinger86" /> <meta name="twitter:site" content="@rsinger86" /> <title>Disqors is Built with Django</title> <meta name="description" content="Discourse about politics and society, organized into discussion threads." /> <link rel="canonical" href="https://builtwithdjango.com/projects/disqors" /> <meta property="og:title" content="Disqors" /> <meta property="og:url" content="https://builtwithdjango.com/projects/disqors" /> <meta property="og:description" content="Discourse about politics and society, organized into discussion threads." /> <meta property="og:image" content="https://osig.app/g?style=base&site=facebook&font=markerfelt&title=Disqors&subtitle=Discourse about politics and society, organized into discussion threads.&eyebrow=Project&image_url=https://minio-api.cr.lvtd.dev/bwd-prod/website_homepage_screenshot/disqors_lNbmzZe.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GNnBVSPEREjfoBhJMFMG%2F20241128%2Feu-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241128T095517Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b91265fce655840a48efe1cad02b8b8039858e13b4a1fe9a82ee8b4e4a850e9a" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:creator" content="@rasulkireev" /> <meta name="twitter:site" content="@builtwithdjango" /> <meta name="twitter:title" content="Disqors" /> <meta name="twitter:description" content="" /> <meta property="og:image" content="https://osig.app/g?style=base&site=x&font=markerfelt&title=Disqors&subtitle=Discourse about politics and society, organized into discussion threads.&eyebrow=Project&image_url=https://minio-api.cr.lvtd.dev/bwd-prod/website_homepage_screenshot/disqors_lNbmzZe.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GNnBVSPEREjfoBhJMFMG%2F20241128%2Feu-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241128T095517Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b91265fce655840a48efe1cad02b8b8039858e13b4a1fe9a82ee8b4e4a850e9a" /> <!-- CSS --> <!-- CSS refresh solution from https://stackoverflow.com/a/56987021/6020165 --> <link rel="stylesheet" href="https://maxst.icons8.com/vue-static/landings/line-awesome/line-awesome/1.3.0/css/line-awesome.min.css"/> <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/styles/default.min.css" /> <link type="text/css" href="/static/css/hotwire.6628b6106e4878f912eb.203a22eb96db.css" rel="stylesheet" data-turbo-track="reload"/> <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/11.5.1/highlight.min.js"></script> <script src="https://cdn.jsdelivr.net/gh/alpinejs/alpine@v2.x.x/dist/alpine.min.js" defer></script> <script defer data-domain="builtwithdjango.com" src="https://plausible-v2.cr.lvtd.dev/js/script.js"></script> <script type="text/javascript" src="/static/js/runtime.bcb33692.e05b646d373a.js" data-turbo-track="reload" defer></script> <script type="text/javascript" src="/static/js/853.3307a6c1.61308cb817c3.js" data-turbo-track="reload" defer></script> <script type="text/javascript" src="/static/js/hotwire.03feb595.2d956a6da833.js" data-turbo-track="reload" defer></script> <script> !function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled onFeatureFlags getFeatureFlag getFeatureFlagPayload reloadFeatureFlags group updateEarlyAccessFeatureEnrollment getEarlyAccessFeatures getActiveMatchingSurveys getSurveys onSessionId".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[]); posthog.init('phc_Xvm3S1MGcMQXMHo2VJZabDhNJwmwbyhLedddpIU83Mo',{api_host:'https://app.posthog.com'}) </script> </head> <body> <nav x-data="{ isOn: false }"> <div class="px-4 mx-auto max-w-6xl sm:px-6 lg:px-8"> <div class="flex relative justify-between items-center h-24"> <div class="flex absolute inset-y-0 left-0 items-center sm:hidden"> <!-- Mobile menu button--> <button type="button" @click="isOn = !isOn" class="inline-flex justify-center items-center p-2 text-gray-400 rounded-md hover:text-white hover:bg-gray-700 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-white" aria-controls="mobile-menu" aria-expanded="false"> <span class="sr-only">Open main menu</span> <svg :class="{'hidden': isOn, 'block': !isOn }" class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"/> </svg> <svg :class="{'block': isOn, 'hidden': !isOn }" class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/> </svg> </button> </div> <div class="flex flex-1 justify-center items-center sm:items-stretch sm:justify-start"> <div class="flex flex-shrink-0 items-center"> <a href="/"> <img class="block w-auto h-10 lg:hidden" src="/static/vendors/images/logo.ee701a5f0ffc.png" alt="Built with Django Logo" /> </a> <a href="/"> <img class="hidden w-auto h-12 lg:block" src="/static/vendors/images/logo.ee701a5f0ffc.png" alt="Built with Django Logo" /> </a> </div> <div class="hidden sm:block sm:ml-6"> <div class="flex space-x-4"> <div data-controller="dropdown" class="relative"> <button type="button" data-action="dropdown#toggle click@window->dropdown#hide" class="inline-flex items-center px-3 py-2 text-lg font-medium text-gray-600 bg-white rounded-md group hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500" aria-expanded="false" > <span>Learn</span> <svg class="ml-2 w-5 h-5 text-gray-400 group-hover:text-gray-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /> </svg> </button> <div data-dropdown-target="menu" data-transition-enter-active="transition ease-out duration-200" data-transition-enter-from="opacity-0 translate-y-1" data-transition-enter-to="opacity-100 translate-y-0" data-transition-leave-active="transition ease-in duration-150" data-transition-leave-from="opacity-100 translate-y-0" data-transition-leave-to="opacity-0 translate-y-1" class="hidden absolute left-1/2 z-10 px-2 mt-3 w-screen max-w-xs transform -translate-x-1/2 sm:px-0" > <div class="overflow-hidden rounded-lg ring-1 ring-black ring-opacity-5 shadow-lg"> <div class="grid relative gap-6 px-5 py-6 bg-white sm:gap-8 sm:p-8"> <a href="/blog/" class="block p-3 -m-3 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-brain"></i> </div> <div> <p class="text-base font-medium text-gray-900">Guides</p> <p class="mt-1 text-sm text-gray-500">Tutorials that will help you on your dev journey.</p> </div> </div> </a> <a href="/projects/" class="block p-3 -m-3 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-brush"></i> </div> <div> <p class="text-base font-medium text-gray-900">Projects</p> <p class="mt-1 text-sm text-gray-500">Get inspired by what others are building with Django.</p> </div> </div> </a> </div> </div> </div> </div> <div data-controller="dropdown" class="relative"> <button type="button" data-action="dropdown#toggle click@window->dropdown#hide" class="inline-flex items-center px-3 py-2 text-lg font-medium text-gray-600 bg-white rounded-md group hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500" aria-expanded="false" > <span>Tools</span> <svg class="ml-2 w-5 h-5 text-gray-400 group-hover:text-gray-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /> </svg> </button> <div data-dropdown-target="menu" data-transition-enter-active="transition ease-out duration-200" data-transition-enter-from="opacity-0 translate-y-1" data-transition-enter-to="opacity-100 translate-y-0" data-transition-leave-active="transition ease-in duration-150" data-transition-leave-from="opacity-100 translate-y-0" data-transition-leave-to="opacity-0 translate-y-1" class="hidden absolute left-1/2 z-10 px-2 mt-3 w-screen max-w-xs transform -translate-x-1/2 sm:px-0" > <div class="overflow-hidden rounded-lg ring-1 ring-black ring-opacity-5 shadow-lg"> <div class="grid relative gap-6 px-5 py-6 bg-white sm:gap-8 sm:p-8"> <a href="/tools/django-secret/" class="block p-3 -m-4 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-key"></i> </div> <div> <p class="text-base font-medium text-gray-900">Generate Django Secret</p> <p class="mt-1 text-sm text-gray-500">Quickest way to generate a Django Secret for your project!</p> </div> </div> </a> <a href="/tools/format-html/" class="block p-3 -m-4 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-shower"></i> </div> <div> <p class="text-base font-medium text-gray-900">Django HTML Formatter</p> <p class="mt-1 text-sm text-gray-500">Make your Django templates pretty in seconds.</p> </div> </div> </a> </div> </div> </div> </div> <div data-controller="dropdown" class="relative"> <button type="button" data-action="dropdown#toggle click@window->dropdown#hide" class="inline-flex items-center px-3 py-2 text-lg font-medium text-gray-600 bg-white rounded-md group hover:text-gray-900 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500" aria-expanded="false" > <span>More</span> <svg class="ml-2 w-5 h-5 text-gray-400 group-hover:text-gray-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="currentColor" aria-hidden="true"> <path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd" /> </svg> </button> <div data-dropdown-target="menu" data-transition-enter-active="transition ease-out duration-200" data-transition-enter-from="opacity-0 translate-y-1" data-transition-enter-to="opacity-100 translate-y-0" data-transition-leave-active="transition ease-in duration-150" data-transition-leave-from="opacity-100 translate-y-0" data-transition-leave-to="opacity-0 translate-y-1" class="hidden absolute left-1/2 z-10 px-2 mt-3 w-screen max-w-xs transform -translate-x-1/2 sm:px-0" > <div class="overflow-hidden rounded-lg ring-1 ring-black ring-opacity-5 shadow-lg"> <div class="grid relative gap-6 px-5 py-6 bg-white sm:gap-8 sm:p-8"> <a href="/jobs/" class="block p-3 -m-4 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-briefcase"></i> </div> <div> <p class="text-base font-medium text-gray-900">Django Job Board</p> <p class="mt-1 text-sm text-gray-500">Find the Django job of your dreams!</p> </div> </div> </a> <a href="/podcast/" class="block p-3 -m-4 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-microphone-alt"></i> </div> <div> <p class="text-base font-medium text-gray-900">Built with Django Podcast</p> <p class="mt-1 text-sm text-gray-500">Listen to the best Django devs out there.</p> </div> </div> </a> <a href="/developers/" class="block p-3 -m-4 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-running"></i> </div> <div> <p class="text-base font-medium text-gray-900">Django Developers</p> <p class="mt-1 text-sm text-gray-500">Hire the best Django Developers this world has to offer.</p> </div> </div> </a> <a href="/advertize" class="block p-3 -m-4 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-bullhorn"></i> </div> <div> <p class="text-base font-medium text-gray-900">Advertize</p> <p class="mt-1 text-sm text-gray-500">Let the Django Community know about your project.</p> </div> </div> </a> <a href="/support/" class="block p-3 -m-4 rounded-md hover:bg-gray-50"> <div class="flex flex-row space-x-3"> <div class="flex flex-shrink-0 justify-center items-center w-10 h-10 text-2xl text-white bg-green-500 rounded-md sm:h-12 sm:w-12"> <i class="las la-life-ring"></i> </div> <div> <p class="text-base font-medium text-gray-900">Support</p> <p class="mt-1 text-sm text-gray-500">Here are some ways you can support Built with Django.</p> </div> </div> </a> </div> </div> </div> </div> </div> </div> </div> <div class="flex absolute inset-y-0 right-0 items-center pr-2 sm:static sm:inset-auto sm:ml-6 sm:pr-0"> <div class="hidden flex-row flex-shrink-0 space-x-2 md:flex"> <a href="/users/signup/" class="inline-flex relative items-center px-3 py-2 text-lg font-medium text-white bg-green-700 rounded-md border border-transparent border-solid shadow-sm hover:bg-green-600 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-green-500"> <span>Sign up</span> </a> <a href="/users/login/" class="inline-flex relative items-center px-3 py-2 text-lg font-medium text-green-600 bg-white rounded-md border border-gray-200 border-solid shadow hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-gray-800 focus:ring-gray-200"> <span>Login</span> </a> </div> </div> </div> </div> <div :class="{'block': isOn, 'hidden': !isOn }" class="sm:hidden" id="mobile-menu"> <div class="px-2 pt-2 pb-3 space-y-1"> <a href="/projects/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Projects">Projects</a> <a href="/jobs/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Jobs">Jobs</a> <a href="/blog/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Blog">Blog</a> <a href="/podcast/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Podcast">Podcast</a> <a href="/developers/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Developers">Developers</a> <a href="/tools/django-secret/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Developers">Generate Django Secret Key</a> <a href="/tools/format-html/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Developers">Django HTML Formatter</a> <a href="/advertize" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Developers">Advertize your Project</a> <a href="/support/" class="block px-3 py-2 text-base font-medium text-gray-700 rounded-md hover:bg-gray-700 hover:text-white" key="Developers">Support Built with Django</a> <a href="/users/login/" class="block px-3 py-2 text-base font-medium text-center text-gray-700 rounded-md border-2 border-gray-300 hover:bg-gray-700 hover:text-white" key="Login">Login</a> <a href="/users/signup/" class="block px-3 py-2 text-base font-medium text-center text-white bg-green-700 rounded-md hover:bg-green-800" key="Signup">Sign Up</a> </div> </div> </nav> <div class="px-2 mx-auto max-w-6xl sm:px-6 lg:px-8"> <p class="mt-4 text-blue-700"> ← <a href="/projects/">back to all projects</a> </p> <div class="px-6 py-2 bg-white lg:px-8"> <div class="mx-auto max-w-2xl text-center"> <h1 class="text-4xl font-bold tracking-tight text-gray-900 sm:text-6xl">Disqors</h1> <p class="mt-6 text-lg leading-8 text-gray-600 prose">Discourse about politics and society, organized into discussion threads.</p> </div> </div> <div class="flex flex-col justify-center mx-auto my-10 space-y-2 max-w-5xl"> <!-- Projects --> <div class="overflow-hidden p-6 bg-white rounded-lg shadow"> <div class="overflow-hidden mb-2 bg-white rounded-lg divide-y divide-gray-200 shadow"> <div> <img class="w-full" src="https://minio-api.cr.lvtd.dev/bwd-prod/website_homepage_screenshot/disqors_lNbmzZe.jpg" alt="Disqors | Screenshot" /> </div> </div> <div class="flex flex-row mb-4 space-x-2 w-full text-center"> <a class="inline-block px-4 py-3 w-full text-sm font-bold text-center text-white no-underline uppercase bg-green-500 rounded-lg shadow transition flex-no-shrink hover:bg-green-400 hover:-translateY-sm hover:shadow" href='https://www.disqors.com/?ref=builtwithdjango.com&utm_source=builtwithdjango.com/projects/disqors&utm_campaign=project-detail-November-2024-unsponsored' target="_blank"> Visit Website </a> <div class="flex flex-row space-x-2"> <div class="flex items-center p-2 text-lg border border-gray-300 border-solid rounded-lg"> <span class="text-base">0</span> <i class="las la-comments"></i> </div> <div data-controller="like" class="flex items-center p-2 text-lg border border-gray-300 border-solid rounded-lg hover:border-gray-600 hover:bg-gray-100"> <input type="hidden" data-like-target="projectId" value=32 /> <input type="hidden" data-like-target="currentUser" value=None /> <input type="hidden" name="csrfmiddlewaretoken" value="futgqE399Q6Jvv3I0btskOV2bvR2RXwUF8bQdP1miBy5SO4au1fIi2zsKO6p0mKj"> <button data-action="click-> like#toggleModal" data-like-target="modalButton" class="flex items-center"> <span class="text-base" data-like-target="numberOfLikes" id="32_likes"></span> <i id="32_heart"></i> </button> <div data-like-target="modal" class="fixed inset-0 z-10 hidden overflow-y-auto" aria-labelledby="modal-title" role="dialog" aria-modal="true"> <div class="flex items-end justify-center px-4 pt-4 pb-20 text-center sm:block sm:p-0"> <div class="fixed inset-0 transition-opacity bg-gray-500 bg-opacity-75" aria-hidden="true" data-transition-enter="ease-out duration-300" data-transition-enter-start="opacity-0" data-transition-enter-end="opacity-100" data-transition-leave="ease-in duration-200" data-transition-leave-start="opacity-100" data-transition-leave-end="opacity-0"></div> <!-- This element is to trick the browser into centering the modal contents. --> <span class="hidden sm:inline-block sm:align-middle sm:h-screen" aria-hidden="true"> ​ </span> <div class="inline-block overflow-hidden text-left align-bottom transition-all transform bg-white rounded-lg shadow-xl sm:my-8 sm:align-middle sm:max-w-lg sm:w-full" data-transition-enter="ease-out duration-300" data-transition-enter-start="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95" data-transition-enter-end="opacity-100 translate-y-0 sm:scale-100" data-transition-leave="ease-in duration-200" data-transition-leave-start="opacity-100 translate-y-0 sm:scale-100" data-transition-leave-end="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"> <div class="px-4 pt-5 pb-4 bg-white sm:p-6 sm:pb-4"> <div class="absolute top-0 right-0 hidden pt-4 pr-4 sm:block"> <button data-action="click-> like#toggleModal" data-like-target="modalButton" type="button" class="text-gray-400 bg-white rounded-md hover:text-gray-500 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500" > <span class="sr-only">Close</span> <!-- Heroicon name: outline/x --> <svg class="w-6 h-6" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor" aria-hidden="true"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"/> </svg> </button> </div> <div class="sm:flex sm:items-start"> <div class="mt-3 text-center sm:mt-0 sm:ml-4 sm:text-left"> <h3 class="text-lg font-medium leading-6 text-gray-900" id="modal-title"> Please login </h3> <div class="mt-2"> <p class="text-sm text-gray-500"> In order to ❤️ projects you need to <a class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-100 text-green-800" href="/users/login/"> login </a> or <a href="/users/signup/" class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-green-200 text-green-800"> signup </a> if you don't have an account yet. </p> </div> </div> </div> </div> <div class="px-4 py-3 bg-gray-50 sm:px-6 sm:flex sm:flex-row-reverse"> <a href="/users/login/" class="inline-flex justify-center w-full px-4 py-2 text-base font-medium text-white bg-green-600 border border-transparent rounded-md shadow-sm hover:bg-green-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-green-500 sm:ml-3 sm:w-auto sm:text-sm"> Login </a> <button data-action="click-> like#toggleModal" data-like-target="modalButton" type="button" class="inline-flex justify-center w-full px-4 py-2 mt-3 text-base font-medium text-gray-700 bg-white border border-gray-300 rounded-md shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 sm:mt-0 sm:ml-3 sm:w-auto sm:text-sm"> Cancel </button> </div> </div> </div> </div> </div> </div> </div> </div> <!-- Author Card --> <div class="overflow-hidden px-6 py-4 bg-white rounded-lg shadow"> <a href="/makers/robert-singer" class="flex items-center"> <h2 class="text-2xl font-semibold text-black"> Author(s) </h2> <div class="flex items-center py-4"> <!-- get image gray sillhoutte --> <img class="w-10 h-10 rounded-full" src="https://avatars.dicebear.com/api/gridy/robert-singer.svg" alt="" /> <div class="ml-3"> <p class="text-lg font-medium text-gray-900"> Robert Singer </p> <div> <a class="inline-block rounded-full" href="https://github.com/rsinger86?ref=builtwithdjango.com" target="_blank"> <i class="text-2xl lab la-github"></i> </a> <a class="inline-block rounded-full" href="https://twitter.com/rsinger86?ref=builtwithdjango.com" target="_blank"> <i class="text-2xl lab la-twitter"></i> </a> </div> </div> </div> </a> </div> <!-- Tech Stack Card--> <!-- Additional Info Card--> <!-- Comments --> <div x-data="{ isShowing: false }" class="overflow-hidden bg-white rounded-md" id="comments-section"> <div class="flex flex-row items-center space-x-2 border-b border-gray-200 border-solid"> <h2 class="flex py-4 pl-6 text-2xl font-semibold"> Comments </h2> <div> <button @click="isShowing=!isShowing" class="inline-block bg-green-500 rounded-full"> <i class="p-2 text-white las la-plus"></i> </button> </div> </div> <div> <div x-show="isShowing" class="mx-6 my-4"> <p> To comment on this project please <a href="/users/signup/" class="font-medium text-green-600 hover:text-green-500"> signup </a> or <a href="/users/login/" class="font-medium text-green-600 hover:text-green-500"> login </a> . </p> </div> </div> <ul class="divide-y divide-gray-200"> </ul> </div> </div> </div> <footer class="bg-white"> <a class="fixed bottom-0 left-0 z-10 px-2 py-1 font-semibold text-gray-900 no-underline bg-gray-200 rounded-tr border-t border-l border-white border-solid" href="https://rasulkireev.com" target="_blank"> <!-- <img class="inline w-4 align-middle rounded" src="https://github.com/account" alt="Rasul Kireev"/> --> <p class="inline m-0 ml-1 text-sm font-normal align-middle">by Rasul</p> </a> <div class="px-6 py-12 mx-auto max-w-7xl md:flex md:items-center md:justify-between lg:px-8"> <div class="flex justify-center space-x-6 md:order-2"> <a href="https://statushen.com/builtwithdjango" class="text-gray-400 hover:text-gray-500"> Status </a> <a href="https://x.com/builtwithdjango" class="text-gray-400 hover:text-gray-500"> <span class="sr-only">X</span> <svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"> <path d="M13.6823 10.6218L20.2391 3H18.6854L12.9921 9.61788L8.44486 3H3.2002L10.0765 13.0074L3.2002 21H4.75404L10.7663 14.0113L15.5685 21H20.8131L13.6819 10.6218H13.6823ZM11.5541 13.0956L10.8574 12.0991L5.31391 4.16971H7.70053L12.1742 10.5689L12.8709 11.5655L18.6861 19.8835H16.2995L11.5541 13.096V13.0956Z" /> </svg> </a> <a href="https://github.com/builtwithdjango" class="text-gray-400 hover:text-gray-500"> <span class="sr-only">GitHub</span> <svg class="w-6 h-6" fill="currentColor" viewBox="0 0 24 24" aria-hidden="true"> <path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd" /> </svg> </a> </div> <div class="mt-8 md:order-1 md:mt-0"> <p class="text-xs leading-5 text-center text-gray-500"> © 2024 <a href="https://lvtd.dev">LVTD, LLC</a>. </p> </div> </div> </footer> <div id="ad-container-mobile" class="fixed bottom-0 left-0 z-50 w-full bg-white border shadow-lg transition-all duration-500 ease-in-out lg:hidden"> <div class="flex justify-between items-center p-2 mx-auto max-w-6xl"> <div class="flex items-center"> <div class="mx-4"> <a target="_blank" href='https://osig.app/?ref=builtwithdjango.com&utm_source=builtwithdjango.com/projects/disqors&utm_campaign=mobile-bottom-ad-November-2024'> <img src="https://osig.app/static/vendors/images/logo.png" alt="OSIG" class="object-contain mr-2 w-8 h-8" /> </a> </div> <div> <p class="text-sm font-bold text-blue-500"> <a target="_blank" href='https://osig.app/?ref=builtwithdjango.com&utm_source=builtwithdjango.com/projects/disqors&utm_campaign=mobile-bottom-ad-November-2024'> OSIG </a> <span class="text-sm text-gray-700">- Ad</span> </p> <p class="text-xs text-gray-600">Automatically create beautiful OG images for your site.</p> </div> </div> <button class="ml-2 text-gray-500 close-ad hover:text-gray-700"> <svg class="w-4 h-4" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> </div> <div id="ad-container-desktop" class="hidden fixed right-4 bottom-4 z-50 w-64 bg-white rounded-lg border shadow-lg transition-all duration-500 ease-in-out lg:block"> <div class="flex flex-row items-center"> <div class="mx-2"> <a target="_blank" href='https://osig.app/?ref=builtwithdjango.com&utm_source=builtwithdjango.com/projects/disqors&utm_campaign=desktop-bottom-right-corner-ad-November-2024'> <img src="https://osig.app/static/vendors/images/logo.png" alt="OSIG" class="object-contain w-36 h-36" /> </a> </div> <div class="mr-4"> <p class="mb-1 text-lg font-bold text-blue-500"><a target="_blank" href='https://osig.app/?ref=builtwithdjango.com&utm_source=builtwithdjango.com/projects/disqors&utm_campaign=desktop-bottom-right-corner-ad-November-2024'>OSIG</a></p> <p class="text-sm text-gray-600">Automatically create beautiful OG images for your site.</p> </div> </div> <p class="absolute top-1 left-1 p-1 text-sm text-gray-500">Ad</p> <button class="absolute top-1 right-1 text-gray-500 close-ad hover:text-gray-700"> <svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"> <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path> </svg> </button> </div> <script> document.addEventListener('DOMContentLoaded', (event) => { const adContainerMobile = document.getElementById('ad-container-mobile'); const adContainerDesktop = document.getElementById('ad-container-desktop'); const closeAdButtons = document.querySelectorAll('.close-ad'); function hideAd() { if (window.innerWidth < 1024) { adContainerMobile.style.transform = 'translateY(100%)'; } else { adContainerDesktop.style.transform = 'scale(0.1) rotate(360deg)'; adContainerDesktop.style.opacity = '0'; } setTimeout(() => { adContainerMobile.style.display = 'none'; adContainerDesktop.style.display = 'none'; }, 500); // Set a cookie to remember the ad was closed const date = new Date(); date.setTime(date.getTime() + (24 * 60 * 60 * 1000)); // Set expiry to 24 hours const expires = "expires=" + date.toUTCString(); document.cookie = "adClosed=true;" + expires + ";path=/"; } function showAd() { if (window.innerWidth < 1024) { adContainerMobile.style.display = 'block'; setTimeout(() => { adContainerMobile.style.transform = 'translateY(0)'; }, 100); } else { adContainerDesktop.style.display = 'block'; setTimeout(() => { adContainerDesktop.style.transform = 'scale(1) rotate(0deg)'; adContainerDesktop.style.opacity = '1'; }, 100); } } closeAdButtons.forEach(button => { button.addEventListener('click', hideAd); }); // Check and show the ad when the page loads if (document.cookie.indexOf("adClosed=true") === -1) { showAd(); } // Adjust layout on window resize window.addEventListener('resize', () => { if (document.cookie.indexOf("adClosed=true") === -1) { if (window.innerWidth < 1024) { adContainerDesktop.style.display = 'none'; showAd(); } else { adContainerMobile.style.display = 'none'; showAd(); } } }); }); </script> <style> #ad-container-mobile, #ad-container-desktop { display: none; } #ad-container-mobile { transform: translateY(100%); transition: transform 0.5s ease-in-out; } #ad-container-desktop { transform-origin: bottom right; transition: transform 0.5s ease-in-out, opacity 0.5s ease-in-out; } </style> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "CreativeWork", "author": { "@type": "Person", "givenName": "Robert", "familyName": "Singer", "url": "", "image": "https://builtwithdjango.comhttps://minio-api.cr.lvtd.dev/bwd-prod/" }, "name":"Disqors", "thumbnailUrl": "https://osig.app/g?style=base&site=x&font=markerfelt&title=Disqors&subtitle=Discourse about politics and society, organized into discussion threads.&eyebrow=Project&image_url=https://minio-api.cr.lvtd.dev/bwd-prod/website_homepage_screenshot/disqors_lNbmzZe.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GNnBVSPEREjfoBhJMFMG%2F20241128%2Feu-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241128T095517Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b91265fce655840a48efe1cad02b8b8039858e13b4a1fe9a82ee8b4e4a850e9a", "image": "https://osig.app/g?style=base&site=x&font=markerfelt&title=Disqors&subtitle=Discourse about politics and society, organized into discussion threads.&eyebrow=Project&image_url=https://minio-api.cr.lvtd.dev/bwd-prod/website_homepage_screenshot/disqors_lNbmzZe.jpg?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=GNnBVSPEREjfoBhJMFMG%2F20241128%2Feu-east-1%2Fs3%2Faws4_request&X-Amz-Date=20241128T095517Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=b91265fce655840a48efe1cad02b8b8039858e13b4a1fe9a82ee8b4e4a850e9a", "abstract": "Discourse about politics and society, organized into discussion threads." } </script> </body> </html>