You can import and export custom templates and Config Table values from here. Data is exported as a big JSON string. The saved format here may change in the future, although I will try to make this as backwards compatible as possible. Please note that importing overwrites your current saved templates and Config Table values!
A brief summary of the JSON data is follows, in case you want to edit it in a text editor:
configTableCols
- An array containing the headers for the Config Table. In other
words: The first row of the Config Table. Note: This may include columns with blank headers, which is normal
(the Config Table may have an empty column header with data in the body).configTableBody
- An array of arrays containing the bodies for the Config Table.
In other words: All the rows of the Config Table except for the first one. These match the order of the column
headers. Blank values here are normal if not all the values in the Config Table are filled in.customTemplates
- An array containing JSON objects that contain the data for the
custom templates. This JSON object contains three keys: content
, which is a string containing the
contents of the template (likely to be very long!), displayed_name
, which is the name of the custom
template in the dropdown, and ui_values
, which is the saved UI values for the template (if not
included, template falls back to whatever default it has).builtinTemplates
- An array containing JSON objects that contain the data for
the builtin template. This only stores the saved UI values for the template (and if not included, template falls
back to whatever default it has.Cohoard is a tool for quickly and easily formatting chatlogs for posting on Cohost.
The Script contains the main content of your post. You can write messages in playscript format--that is,
something like EGGBUG: i'm eggbug!
. The name before the colon is called the key and is used
in the Config Table.
EGGBUG: hi! EGGBUG: these three messages are part of the same PostBlock EGGBUG: because they are all from me! BUGEGG: i am a new speaker, BUGEGG: so my messages are in a new PostBlock EGGBUG: yeah! and now this message will appear in its own PostBlock
The above conversation renders in the Discord template like so:
You can add extra styling to posts. For example, writing @ Some Time Here
on
its own line will set a timestamp for the posts. You can also use most Markdown features, like
bolding, italices, codeblocks, and so on.
The Config Table is a table of keys and values. Each row of the table describes how a person in the Script should
be styled, and typically includes information like their username or avatar. The first column of the table is the
"key
", which should match with the keys in the script. This is typically an ALL CAPS name (like
"EGGBUG
") but does not have to be. The rest of the columns can be renamed to whatever keys that the
template is expecting to have. Currently the two preset templates take the following keys.
name
- The username displayed in the headline. If not provided, defaults to the
keycolor
- The color of the username. This (and any other color field) can be any
CSS color value, for example "red
" or "#FF0000
" both work.avatar
- A URL pointing to the avatar of the poster. If not provided, then the
avatar will be blank.bot_tag
- The text of the "BOT" tag. If not provided, then no bot tag is displayed.
You can add the checkmark symbol (✓) in order to make the bot tag include a checkmark.name
- The display name of the Tweeterhandle
- The handle of the Tweeter. The template automatically prepends the "@"
symbol for youavatar
- A URL pointing to the avatar of the poster. If not provided, then the
avatar will be blank.short_handle
- The handle displayed just before a chat message. For example,
Dave Strider's short_handle
is TG
. handle
- Optional. A synonym for short_handle
. The template will
prefer using the short_handle
and will fall back to handle
and finally
key
if not provided.
color
- The color of the user's messages. This is the color
the chat message will be rendered in. If not provided, defaults to black.handle_color
- The color of the handle. This is useful if a
character's handle color is not the same as their message colors. For example, some characters
in Godfeels do this. If not provided, then the handle will be the same color as color
.color
- The color of the text. If not provided, defaults to white.background_color
- The background color of the user. If not provided, defaults
to transparent. This is typically used by the satellite characters in 20020, with black colored text.padding_left
- How far to indent the text. If not provided, defaults to zero.
Typically, 17776 uses increments of 10%
for different characters.color
- If "Use custom color
" is checked and this is
provided, then the character's dialog will be colored to this color. Otherwise, defaults to white.font
- If provided, then the character's dialog will be in this font.
Otherwise, defaults to the "Default Font"avatar
- A URL pointing to the avatar of the poster. If not provided, then the
avatar will be blank.This template ignores all of the Config Table values. Hence, you can just write text that begins with
ARTICLE:
and it will appear. Note that sup
tags can be used to make "citations".
avatar
- A URL pointing to the avatar of the poster. If not provided, then the
avatar will be the ChatGPT logo.name
- The display name of the Tweeteravatar
- A URL pointing to the avatar of the poster. If not provided, then the
avatar will be blank.avatar_background
- Sets the background
attribute on the avatar
image. If not provided, defaults to black. This is useful for transparent images.border_radius
- Sets the border-radius
attribute on the avatar
image. If not provided, defaults to zero.color
- The color of the text. If not provided, defaults to white.background_color
- The background color of the message box. If not provided,
defaults to black.style
- If provided and set to noheadline
, then the username
headline will not be rendered and the message text will be centered and have a barcode. This is typically
used by The Interloper. If set to messageonly
instead, then the message box will only contain the
message contents. This is used by Velzie.On the right side is the preview window. Any changes you make to the Script will automatically update the preview window. You can click on the button labeled "HTML" to switch to a raw HTML view of your post--this is the text that can be copy-pasted directly into a Cohost post.
You can use the Template Preset dropdown to switch between stored Templates, including custom Tepmlates you have
made. To make a custom Template, choose "Create New Preset...
" from the dropdown. Custom Templates
can be edited using the "Edit Template" button and are saved in the browser's localStorage. You can also rename
and delete custom templates.
See here for a list of breaking changes to the template. Where possible, I try to keep old templates working, however there maybe cases where I cannot do this.
If you have any bug reports, feature requests, or template suggestions, feel free to submit them on the Issues page of the Github repo.