Skip to content

Instantly share code, notes, and snippets.

@PotOfCoffee2Go
Last active November 19, 2020 01:29
Show Gist options
  • Save PotOfCoffee2Go/3a922b3702d47cfbff084ee5bb1df08a to your computer and use it in GitHub Desktop.
Save PotOfCoffee2Go/3a922b3702d47cfbff084ee5bb1df08a to your computer and use it in GitHub Desktop.

Draft


Welcome to PotOfCoffee2Go Chat Service.

This chat software service was made to bring chat into the modern day realm of messages contructed with HTML, Markdown, and just plain text - if you must ;)

The server is based on [Expressjs][1], (maybe should refactor to [Koa??][2]) The server only has the concept of rooms. There are no users, or groups, or any other entites to clutter the basics of a chat service.

A person can however own a room. That password protected ownership allows priviledged commands to be executed by the owner to moderate the content allowed in the room.

To person can join any room. If a room of that name does not exist, it will be created. That room is owner-less, and as such is under control of the server. For example, if 10 people ignore a person, posts by that person will be directed to a troll version of the room. Thus all the ignored people can troll, flame, and pester each other in the comfort of their own room of the same name.

Differing from most chat services, messages are expected to be composed. Instead of exchanges in single (or a bunch of endless dribble sentences), such as :

 -> Hi - how's all doing today?
<- Pretty - good - had breakfast:
  (pic of eggs and ham)
-> Wow! that looks good!
  ...blah ... blah ... ad-nauseam

This service allows something like this:

<a href="https://www.yummly.com/recipe/Brioche-French-Toast-2729945?prm-v1">Brioche French Toast</a> is what I had :) 

There are short-hands for entering divs, anchors, buttons, spans, and such as well! For longer exchanges a public Gist[3] can be referenced which displays the Gist.

The goals are to:

  • Keep it simple.
  • Know what is/was/about to be broadcast
  • User less
    • service has no concept of 'user' - just rooms
    • upon initial login, a room you designate as your home room
      • you have control of who is allowed to contribute to the room
  • allow the use of [Markdown][1]
  • allow use of HTML in messages
  • interface to public gist for conten management
  • JavaScript interface as a macro-language for robotic messaging

Shortcuts :

  • !value = attribute id="value"
  • #HTMLColorName or #rrggbb = attribute color="#rrggbb"
  • .classname = attribute class="classname"
  • 1.5 (number) = attribute style="font-size: 1.5em"
  • w45% = attribute style="width: 45%"
  • h45% = attribute style="height: 45%"
  • w123 = attribute style="width: 123px"
  • h123 = attribute style="height: 123px"
  • d or s or i or b or p = <div>, <span>, <i>, <b>, <p>

Examples :

  • ::d w45%::
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment