diff --git a/CREDITS b/CREDITS
new file mode 100644
index 0000000..863a933
--- /dev/null
+++ b/CREDITS
@@ -0,0 +1,18 @@
+ TREEBIRD CREDITS
+
+ Without love adieu, this is a project backed by several friends on the Fediverse.
+
+ Alas, it becomes a social project too...
+
+ * Nekobit <@neko@desuposter.club>
+ Created the Treebird frontend, created mastodont-c (A pleroma C library)
+ Originally, this was called RatFE, but the name changed.
+
+ * Grumbulon <@grumbulon@freecumextremist.com>
+ Creator of the Logo and hosts treebird.dev
+
+ * SamTherapy <@sam@froth.zone>
+ Domain registrar of treebird.dev, coined Treebird
+
+ * Khan <@Khan@sleepy.cafe>
+ Helped with the old Treebird Husky fork (history lesson required)
\ No newline at end of file
diff --git a/Makefile b/Makefile
index 5365f39..e7fd8f5 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ PAGES_DIR = static
PAGES = $(wildcard $(PAGES_DIR)/*.html)
PAGES_CMP = $(patsubst %.html,%.chtml,$(PAGES))
DIST = dist/
-TARGET = ratfe.cgi
+TARGET = treebird.cgi
MASTODONT_URL = https://git.nekobit.net/repos/mastodont-c.git
diff --git a/README.md b/README.md
index bf4548f..4a30ae7 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,18 @@
-# RatFE
+# Treebird
-A pleroma frontend for rats.
+A pleroma frontend for cool people only.
The goal is to create a frontend that's lightweight enough to be viewed without JS, but
usable enough to improve the experience with JS.
-RatFE uses C with FCGI, mastodont-c (another library that complements RatFE) for
-communication, and plain JavaScript. It also uses sqlite3 to store any user-specific
-information and groups.
+Treebird uses C with FCGI, mastodont-c (another library that complements Treebird) for
+communication, and plain JavaScript (100% optional).
## Isn't FCGI outdated?
No.
-## Isn't Sqlite3 slow?
+## Credits
-No, in fact, it may likely be faster than if it were using postgresql. The pleroma server
-communicates using postgresql because there are lots of incoming requests and outgoing
-requests on the server, and there can be multiple requests at once occuring, which get
-queued. We don't need that kind of speed and we shouldn't interfere with it anyway.
+Please view the `CREDITS` file.
-Plus, Sqlite3 is only being used for user groups and possibly some session information.
-
-## Rat?
-
-Rats are c00l.
diff --git a/config.h b/config.h
index 67df135..00a4c03 100644
--- a/config.h
+++ b/config.h
@@ -1,6 +1,6 @@
/*
- * This is the config file for RatFE. Any changes you make here requires
- * a recompile, but RatFE shouldn't take long to compile ;)
+ * This is the config file for treebird. Any changes you make here requires
+ * a recompile, but treebird shouldn't take long to compile ;)
*
* You don't need to understand C, I've created simple types to represent
* what you need to set without any C knowledge.
@@ -17,10 +17,10 @@
* The software's recognizable name.
*
*
- * Example: "RatFE"
+ * Example: "treebird"
*/
-static char* const config_canonical_name = "RatFE";
+static char* const config_canonical_name = "treebird";
/*
* String: config_instance_url
@@ -39,9 +39,9 @@ static char* const config_instance_url = "https://desuposter.club/";
* The prefix for all urls.
* For most cases, when you are proxying the CGI paths to root, this will be left blank.
*
- * Example: "/ratfe.cgi"
+ * Example: "/treebird.cgi"
*/
-static char* const config_url_prefix = "/ratfe.cgi";
+static char* const config_url_prefix = "/treebird.cgi";
/*
* Bool: experimental_lookup
diff --git a/dist/favicon.png b/dist/favicon.png
index 509ce50..eec9180 100644
Binary files a/dist/favicon.png and b/dist/favicon.png differ
diff --git a/dist/ratfe10.css b/dist/ratfe10.css
deleted file mode 100644
index d0c14b0..0000000
--- a/dist/ratfe10.css
+++ /dev/null
@@ -1,550 +0,0 @@
-body
-{
- font-family: Arial, Helvetica, sans-serif;
- background-color: #f6f6f6;
- padding: 0;
- margin: 0;
-}
-
-/* Divs and wrappers */
-#display-wrapper
-{
-}
-
-#display
-{
- display: block;
- overflow: hidden;
- width: 100%;
- background-color: #ffffff;
-}
-
-#navbar
-{
- background-color: #fcfcfc;
- display: block;
- padding: 0 5px;
- border-bottom: 2px solid #cacaca;
- text-align: center;
- align-items: center;
-}
-
-#navbar img
-{
- display: inline-block;
- margin: 2px 2px 2px 8px;
-}
-
-#navbar span.info
-{
- display: inline-block;
- margin-left: 15px;
- color: #202020;
- font-variant: small-caps;
- margin-top: 10px;
- font-size: 28px;
- margin-right: 30px;
-}
-
-#navbar-right
-{
- display: inline-block;
- padding-right: 8px;
- flex: 1;
- flex-direction: row;
- align-items: center;
-}
-
-#login-header
-{
- margin-right: 15px;
- text-decoration: none;
-}
-
-.alignend
-{
- flex: 1;
- display: flex;
- flex-direction: column;
- justify-content: flex-end;
- align-items: flex-end;
-}
-
-div#content main
-{
- position: relative;
- min-width: 0;
- min-height: 600px;
- left: 180px;
-}
-
-div#content aside
-{
- display: block;
- background-color: #fcfcfc;
-}
-
-#leftbar
-{
- position: absolute;
- left: 0;
- top: 50px;
- width: 180px;
- border-right: 1px solid #cacaca;
-}
-
-#leftbar ul
-{
- margin: 0px 0px 10px 0px;
- padding: 0;
-}
-
-#leftbar ul li
-{
- display: block;
- list-style-type: none;
-}
-
-/*************************************************
- * BUTTONS *
- *************************************************/
-input[type=button], input[type=submit], .sidebarbtn, .btn
-{
- background-color: #f7f7f7;
- color: #000;
- text-decoration: none;
-}
-
-input[type=button]:hover, input[type=submit]:hover, .sidebarbtn:hover, .btn:hover
-{
- background-color: #aa0000;
- border-color: #400000;
- color: #fff;
- cursor: pointer;
-}
-
-input[type=button]:active, input[type=submit]:active, .sidebarbtn:active, .btn:active
-{
- background-color: #600000;
- border-color: #400000;
- color: #fff;
- cursor: pointer;
-}
-
-input[type=button], input[type=submit]
-{
- border: 1px solid #cacaca;
- padding: 3px 15px;
-}
-
-/* Make first button glue to header */
-#leftbar ul:first-child .sidebarbtn
-{
- border-top: 0;
-}
-
-.sidebarbtn
-{
- border-bottom: 1px solid #dadada;
- display: block;
- padding: 8px;
- text-align: center;
- border-right: 1px solid #dadada;
-}
-
-ul li:first-child a.sidebarbtn
-{
- border-top: 1px solid #dadada;
-}
-
-#rightbar
-{
- border-left: 1px solid #cacaca;
-}
-
-/***************************
- * Statuses *
- **************************/
-.status
-{
- display: flex;
- margin: 7px;
- border-bottom: 1px solid #cacaca !important;
-}
-
-.status .profile-picture
-{
- display: inline-block;
- width: 52px;
- min-width: 52px;
- height: 52px;
- background-position: center center;
- background-repeat: no-repeat;
- background-size: cover;
- border-radius: 4px;
- margin-bottom: 5px;
-}
-
-.status .status-info
-{
- flex: 1;
- display: flex;
- margin: 0 5px 0px;
- min-width: 0;
- flex-direction: column;
-}
-
-.status .instance-info
-{
- font-style: italic;
- text-decoration: none;
- margin: 0 3px;
-}
-
-.status .poster-stats
-{
- display: flex;
-}
-
-.status .username
-{
- font-weight: bold;
- text-overflow: ellipsis;
- overflow: hidden;
- white-space: nowrap;
-}
-
-.status .status-content
-{
- margin: 2px 0 0 0;
- overflow-wrap: break-word;
-}
-
-.status .status-content p
-{
- margin: 2px 0 0 0;
-}
-
-.status-visibility
-{
- color: #808080;
-}
-
-.status-interact
-{
- margin: 8px 0 0 0;
- display: flex;
-}
-
-.status-interact ul
-{
- display: flex;
- padding: 0;
- margin: 0;
-}
-
-.status-interact ul li
-{
- display: inline-block;
- margin: 0;
- padding: 0;
- list-style-type: none;
-}
-
-
-/***************************
- * Element Grouping *
- **************************/
-.group
-{
- padding: 0;
- margin: 0 !important;
- height: 28px;
-
-}
-
-/* These are a pain for some reason */
-.group-inputbox
-{
- border: 1px solid #cacaca;
- padding-left: 5px;
- border-right: 0px;
- height: 26px;
-}
-
-.group-left
-{
- border-top-left-radius: 5px;
- border-bottom-left-radius: 5px;
-}
-
-.group-right
-{
- border-top-right-radius: 5px;
- border-bottom-right-radius: 5px;
-}
-
-/*************************
- * Config *
- ************************/
-#config-page
-{
- padding: 0 12px;
-}
-
-#config-page h1
-{
- padding-left: 12px;
- padding-bottom: 6px;
- border-bottom: 1px solid #cacaca;
-}
-
-#config-page h3
-{
- margin-left: 15px;
-}
-
-#config-page ul
-{
- list-style-type: none;
- padding-left: 15px;
-}
-
-
-/**********************
- * Profiles *
- **********************/
-.header-btn
-{
- text-decoration: none;
- color: #606060;
- font-size: 14px;
-}
-
-.header-btn .btn-content
-{
- color: #000;
-}
-
-.btn.header-btn:hover span
-{
- color: #fff;
-}
-
-.header-btn span
-{
- display: block;
- text-align: center;
-}
-
-.acct-banner
-{
- width: 100%;
- display: flex;
- background-position: center center;
- background-repeat: no-repeat;
- background-size: cover;
- height: 256px;
- align-items: end;
-}
-
-.acct-pfp
-{
- position: relative;
- z-index: 1;
- border: 3px solid #cacaca;
- background-color: #fff;
- border-radius: 8px;
- width: 100px;
- height: 100px;
- top: 38px;
- left: 150px;
- margin-top: -108px;
- margin-left: -108px;
- background-position: center center;
- background-repeat: no-repeat;
- background-size: cover;
-}
-
-.acct-header
-{
- display: flex;
- padding-left: 160px;
- background: linear-gradient(#fff, #f1f1f1);
- border-bottom: 1px solid #cacaca;
- background-color: #e8e8e8;
-}
-
-.acct-info-data
-{
- position: relative;
- left: 160px;
- top: -10px;
- font-weight: bold;
- text-shadow: 0px 2px 6px #000;
-}
-
-.acct-displayname
-{
- font-size: 26px;
- display: block;
- color: #fff;
-}
-
-.acct-username
-{
- font-size: 14px;
- color: #dadada;
- display: block;
- font-weight: bold;
- text-shadow: 0px 0px 5px #000;
-}
-
-.header-btn
-{
- display: inline-block;
- padding: 8px 15px;
- margin: 0;
-}
-
-/****************
- * Statusbox *
- ****************/
-.statusbox
-{
- display: flex;
- flex-direction: column;
- padding: 5px;
-}
-
-.statusbox textarea
-{
- margin-bottom: 5px;
-}
-
-.statusbox .statusfooter
-{
- display: flex;
- flex-direction: row;
-}
-
-.statusbox .statusfooter-left
-{
- flex: 1;
-}
-
-
-/* Special cases */
-.nobutton
-{
- display: block !important;
- background: none !important;
- background-color: transparent !important;
- color: #aa0000 !important;
- padding: 4px 9px !important;
- margin: 0 !important;
- text-decoration: none;
- cursor: pointer !important;
- outline: inherit !important;
- font-size: 14px;
- border: 0 !important;
-}
-
-.status-interact ul li:not(:last-child) .nobutton
-{
- border-right: 1px solid #cacaca !important;
-
-}
-
-.status-interact .nobutton-active,
-.nobutton:hover,
-.nobutton:active,
-.nobutton:focus
-{
- background: linear-gradient(#fff, #aa3333, #aa2222, #aa0000) !important;
- border: 0 !important;
- border-right: 1px solid #cacaca !important;
- color: #fff !important;
- text-shadow: 0px 0px 5px #cc4444cc !important;
-}
-
-/* Emoji reacts */
-.emoji-react-box
-{
- border-radius: 4px;
- border: 1px solid #cacaca;
-}
-
-.form-group
-{
- padding: 5px;
- display: block;
-}
-
-/* Simple page layout */
-.simple-page
-{
- padding: 0 12px;
-}
-
-.simple-page h1
-{
- padding-left: 12px;
- padding-bottom: 6px;
- border-bottom: 1px solid #cacaca;
-}
-
-.simple-page h3
-{
- margin-left: 15px;
-}
-
-.simple-page ul
-{
- list-style-type: none;
- padding-left: 15px;
-}
-
-/* Attachments */
-.attachments img
-{
- min-width: 100px;
- max-width: 300px;
- min-height: 100px;
- max-height: 300px;
-}
-
-.attachments
-{
- margin: 10px 0 3px 0;
-}
-
-.zoom
-{
- transition: transform .1s;
- transition-timing-function: cubic-bezier(0, 1, 1, 1);
-}
-
-.zoom:hover
-{
- transform: scaleX(1.8) scaleY(1.8);
-}
-
-.statusbox textarea
-{
- border: 1px solid #cacaca;
-}
-
-/* Emoji reacts */
-.emoji-reactions
-{
- display: flex;
- margin-top: 8px;
-}
-
-.emoji-react-box
-{
- padding: 3px 7px;
- margin: 0 4px;
-}
-
diff --git a/dist/ratfe_logo.png b/dist/ratfe_logo.png
deleted file mode 100644
index ecdbb2b..0000000
Binary files a/dist/ratfe_logo.png and /dev/null differ
diff --git a/dist/static.png b/dist/static.png
deleted file mode 100644
index f82ad84..0000000
Binary files a/dist/static.png and /dev/null differ
diff --git a/dist/ratfe20.css b/dist/treebird20.css
similarity index 100%
rename from dist/ratfe20.css
rename to dist/treebird20.css
diff --git a/dist/ratfe30.css b/dist/treebird30.css
similarity index 100%
rename from dist/ratfe30.css
rename to dist/treebird30.css
diff --git a/dist/treebird_logo.png b/dist/treebird_logo.png
new file mode 100644
index 0000000..af544a8
Binary files /dev/null and b/dist/treebird_logo.png differ
diff --git a/meta/ratfe.png b/meta/ratfe.png
deleted file mode 100644
index 4027436..0000000
Binary files a/meta/ratfe.png and /dev/null differ
diff --git a/meta/treebird.png b/meta/treebird.png
new file mode 100644
index 0000000..1726e59
Binary files /dev/null and b/meta/treebird.png differ
diff --git a/src/account.c b/src/account.c
index 46df2db..08029b9 100644
--- a/src/account.c
+++ b/src/account.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/account.h b/src/account.h
index a78ab99..1414a1d 100644
--- a/src/account.h
+++ b/src/account.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/attachments.c b/src/attachments.c
index 420d649..0e05f73 100644
--- a/src/attachments.c
+++ b/src/attachments.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/attachments.h b/src/attachments.h
index ad4f24e..6b8bd7c 100644
--- a/src/attachments.h
+++ b/src/attachments.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/base_page.c b/src/base_page.c
index c0989ca..947580e 100644
--- a/src/base_page.c
+++ b/src/base_page.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/base_page.h b/src/base_page.h
index 7520dc9..b6cfc03 100644
--- a/src/base_page.h
+++ b/src/base_page.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/cookie.c b/src/cookie.c
index b2ca288..862bd12 100644
--- a/src/cookie.c
+++ b/src/cookie.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/cookie.h b/src/cookie.h
index b9515b3..dba254c 100644
--- a/src/cookie.h
+++ b/src/cookie.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/easprintf.c b/src/easprintf.c
index 1999d61..631d393 100644
--- a/src/easprintf.c
+++ b/src/easprintf.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/easprintf.h b/src/easprintf.h
index 9ce6b64..79c7da5 100644
--- a/src/easprintf.h
+++ b/src/easprintf.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/emoji_reaction.c b/src/emoji_reaction.c
index 992e64e..a81d5b0 100644
--- a/src/emoji_reaction.c
+++ b/src/emoji_reaction.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/emoji_reaction.h b/src/emoji_reaction.h
index 4c0872f..a8ffae9 100644
--- a/src/emoji_reaction.h
+++ b/src/emoji_reaction.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/error.c b/src/error.c
index 723bd6e..d9c5c50 100644
--- a/src/error.c
+++ b/src/error.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/error.h b/src/error.h
index 96c8aa1..8962553 100644
--- a/src/error.h
+++ b/src/error.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/file-to-c/main.c b/src/file-to-c/main.c
index 3197b42..a60a8d5 100644
--- a/src/file-to-c/main.c
+++ b/src/file-to-c/main.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/index.c b/src/index.c
index c466aab..110c49a 100644
--- a/src/index.c
+++ b/src/index.c
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/index.h b/src/index.h
index 16aef0d..b81181e 100644
--- a/src/index.h
+++ b/src/index.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/key.h b/src/key.h
index 356f682..be53cf0 100644
--- a/src/key.h
+++ b/src/key.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
diff --git a/src/l10n.h b/src/l10n.h
index 137039f..60de8a0 100644
--- a/src/l10n.h
+++ b/src/l10n.h
@@ -1,5 +1,5 @@
/*
- * RatFE - Lightweight frontend for Pleroma
+ * Treebird - Lightweight frontend for Pleroma
* Copyright (C) 2022 Nekobit
*
* This program is free software: you can redistribute it and/or modify
@@ -16,8 +16,8 @@
* along with this program. If not, see