{"id":16485357,"url":"https://github.com/morganconrad/commentr","last_synced_at":"2026-05-13T17:44:07.060Z","repository":{"id":71409749,"uuid":"78246832","full_name":"MorganConrad/commentR","owner":"MorganConrad","description":"Basic RESTful comment system for web pages.","archived":false,"fork":false,"pushed_at":"2017-01-07T02:25:25.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-11T14:46:11.946Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MorganConrad.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-06T23:35:11.000Z","updated_at":"2017-01-06T23:58:55.000Z","dependencies_parsed_at":"2023-03-07T02:45:17.481Z","dependency_job_id":null,"html_url":"https://github.com/MorganConrad/commentR","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganConrad%2FcommentR","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganConrad%2FcommentR/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganConrad%2FcommentR/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganConrad%2FcommentR/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MorganConrad","download_url":"https://codeload.github.com/MorganConrad/commentR/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241262109,"owners_count":19936046,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-11T13:25:33.139Z","updated_at":"2026-05-13T17:44:07.019Z","avatar_url":"https://github.com/MorganConrad.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# commentR\nBasic RESTful comment system for web pages, allowing easy anonymous comments.\n\n\n## Test it out\n\n 1. Download this code into a folder\n 2. Start a webserver\n 3. Goto localhost/path/to/thatFolder/demo.html\n\n## Installation\n\n 1. Download this project\n 2. (optional) Edit the `defines` in commentR.php\n 3. Edit `var rootURL = \"http://localhost/commentR.php\";` in commentR.js to point to your host.\n 4. On your web pages\n    1. Add `\u003cscript src=\"commentR.js\"\u003e\u003c/script\u003e`.\n    2. Add a `\u003cdiv id=\"someID\"\u003e` where you want comments.\n    3. Add `\u003cbody onload=\"loadComments1('unique_ID', 'someID');\"\u003e` where 'uniqueID' uniquely IDs that webpage.  (`window.location.pathname` is a simple choice.)\n\nNote:  /db/initialdb.db3 is a clean, empty SQLite3 DB to use to \"reinitialize\" should you corrupt the DB.\n\n## Docs\n\n### RESTful Backend uses PHP and SQLite3\n\n  1. Use GET or POST to http://yourserver.com/commentR.php/unique/path\n      - Typically, you will have commentR.php on the same host, but this is not required.  \n      - Note: if on a separate host, or it is supporting multiple web sites, be careful about your unique IDs.\n      - /unique/path can be whatever you want, but easiest is your URL or (simpler) just the path part (or permalink).\n  2. The SQLite3 has two tables:\n    - `permalinks` table has IDs for each unique path.\n    - `comments` table has a FK so you can get all comments for that permalink.\n  4. There are some **minimal** attempts to validate comments, prevent spam, etc.\n\n### Example Frontend code at [commentR.js](https://github.com/MorganConrad/commentR/blob/master/commentR.js) and [demo.html](https://github.com/MorganConrad/commentR/blob/master/demo.html)\n\n  This uses\n\n    \u003cbody onload=\"loadComments1('unique_ID', 'comments');\"\u003e\n\n - we use window.location.pathname 'unique_ID'.\n - 'comments' is the **#id** of `\u003cdiv\u003e` into which the comment section will be inserted.  \n - All the comment boxes have CSS classes, but there is no .css file provided, so formatting is primitive but usable, or roll your own.  \n\n\n### Alternatives\n\nAfter starting on this, I found several alternatives, which are more complete and likely preferable.  You should probably look at them.\n\n#### [HashOver](http://tildehash.com/?page=hashover)\n\nPHP Comment System, PHP, self-hosted, comments stored as XML files.\n\n\n#### [Isso](https://posativ.org/isso/)\n\nPython, comments stored in SQLite3\n\n\n#### [commentary](https://github.com/sdqali/commentary)\n\nRuby, inactive\n\n\n#### Unmaintained systems\n - [talkatv](https://github.com/talkatv/talkatv)  Python\n - [juvia](https://github.com/phusion/juvia)  Ruby\n\n\n#### [More CMSs on Wikipedia](https://en.wikipedia.org/wiki/List_of_content_management_systems)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorganconrad%2Fcommentr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorganconrad%2Fcommentr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorganconrad%2Fcommentr/lists"}