You appear to have CSS styling disabled. Please avoid interacting with these inputs below.
Skip to content

Project Lemur

Project Lemur is the latest and greatest iteration of the Cyan.TF Gaming Community website. Lemur is fast, robust, and secure.

What it's made of

Lemur is built on PHP 7.2 and uses MySQL for its database. Its static resources, such as images, stylesheets, and JavaScript files are processed and compiled with a combination of gulp.js and Webpack.

The frontend uses jQuery, CKEditor, and a heavily-modified version of Bootstrap 4.1.1.

Data Structures

Lemur makes use of CUIDs for unique identifiers in various entries of data. They are also used in various locations in the frontend due to their structure. Compiled static assets are also outputted with a CUID-formatted name as a form of cache busting.

Structure

Example: cjpljjllp0002vebe29zuyiu9

Slug Example: lp03veoz

c xxxxxxxx 0000 xxxx xxxxxxxx

'c' - identifies the string as a CUID and allows for use in HTML (where IDs and classes cannot start with a number)
Timestamp
Counter
Client fingerprint
Random

A shortened version of CUIDs is used in URL slugs for disambiguation.

Versioning

Lemur uses a versioning format similar to SemVer. However, the patch number uses a date-based number.

<Major><Minor><Patch:[year][month][day]>

Patch number is reset to 0 when there is a bump to Major or Minor numbers.

Changelog

12/2/18
  • ADDITION Added automatic seasonal effects system to site
  • ADDITION Added suggestions system
  • IMPROVEMENT Optimized app's route-based JS logic
  • IMPROVEMENT Updated maintenance/HTTP 503 page
  • ADJUSTMENT Adjusted ad unit locations for article and update posts
11/30/18
  • IMPROVEMENT Updated lite pages
    • Added ad units
    • Added additional JSON-LD blocks
  • ADJUSTMENT Update posts now show date modified rather than date posted
    • This is to eliminate any confusion due to the post date being prior to when the update is published. Update posts are usually made days before the post is published so we can make modifications to the draft before it is released to the public.
  • FIX Fixed pagination on article and update post index pages
  • FIX Fixed incorrect update posts on the index being marked as "lastest"
11/29/18
  • IMPROVEMENT Chatlog messages per page increased to 100
  • ADJUSTMENT Invalid chatlog search queries now redirect to the chatlog index page
11/27/18
  • ADDITION Added searching to chatlogs
  • IMPROVEMENT Updated chatlog index page
    • Pagination parent elements will not appear if the page does not have additional pages
  • IMPROVEMENT Updated chatlog message page
    • Improved layout
    • Added JSON-LD data
11/23/18
  • ADDITION Added Adsense units to forums
  • IMPROVEMENT Updated rules page to allow linking to specific points
  • ADJUSTMENT Navbar is no longer fixed to the top of the screen
    • Also moved the "Rules" link to the Info dropdown menu
11/20/18
  • ADDITION Updated JSON-LD on various pages
  • ADDITION Added server chatlogs
  • IMPROVEMENT Updated "Info" dropdown in navbar
  • IMPROVEMENT Updated metadata on various pages
  • IMPROVEMENT Additional optimizations to items pages
11/19/18
  • ADDITION Added forums system to replace some aspects of the tickets system
    • Support portal will remain but will not be used for server-related submissions
  • ADDITION Added icons to links in navbar
  • IMPROVEMENT (Admin) Users in the dashboard are now sorted newest to oldest
  • IMPROVEMENT (Admin) Users per page in the dashboard increased from 20 to 24
  • ADJUSTMENT Adjusted footer link text
  • REMOVAL Removed announcement system
  • FIX Attempting to create a ticket without a confirmed email address will now redirect to the email verification page rather than displaying its view
  • FIX (Admin) Fix pagination not appearing in users index
11/14/18
  • ADDITION Added short URL redirects for articles and update posts
  • IMPROVEMENT Updated "Donate with Cash" section on index page
11/12/18
  • ADDITION Added index for past announcements
  • ADDITION Staff (with permissions) can add users to the site user database
  • ADJUSTMENT Slightly updated design of announcement banners
  • ADJUSTMENT Updated some footer text
11/10/18
  • BACKEND Caching is now file-based again because it seems slightly faster than Redis
11/9/18
  • ADDITION Add terms of service intermediary page
  • FIX Users should stay logged in for much longer now, for real…
  • BACKEND Put together a hack to solve a dumb problem with the framework generating an additional session file for the manifest.json route
11/7/18
  • ADJUSTMENT Slight updates to donate section on index page
11/6/18
  • ADJUSTMENT Logging out now always takes you to the index page
    • This prevents being presented an error page if a staff member logged out while viewing a page that requires elevated permissions
11/5/18
  • ADDITION Added "lite" versions of update posts and articles
    • These are more mobile-friendly versions of the posts
    • Mobile users will automatically be redirected to these pages
  • BACKEND Removed HTML minification
11/4/18
  • ADDITION Added image proxying to update posts, article content, and ticket content
  • IMPROVEMENT Users no longer need to be logged in to confirm their email address
11/1/18
  • ADDITION Added announcement system
  • BACKEND Further updated static asset build system to completely eliminate any sort of build errors... finally
10/30/18
  • IMPROVEMENT Dynamically load CKEditor script on pages that require an editor
  • IMPROVEMENT Improved display of server bar in smaller viewports
  • FIX Fixed broken staff avatar URLs caused by caching the "no avatar" image
10/26/18
  • IMPROVEMENT Added caching to various pages
  • IMPROVEMENT Staff avatars on the index page are now updated depending on their Steam info
  • ADJUSTMENT Updated footer
  • BACKEND Caching now uses Redis, which should result in data being retrieved much faster
10/25/18
  • ADJUSTMENT Removed unused referral URL parameter from redirect URLs
  • ADJUSTMENT Added (logged-in) user info to boot config
10/17/18
  • IMPROVEMENT All links to user Steam profiles are now converted to Steam's short URL format
  • BACKEND Improved asset build process to result in less errors
  • BACKEND Moved static asset map to cyan config
    • Now accessed via cyan.assets.* instead of assets.*
10/16/18
  • ADDITION Added tools
  • IMPROVEMENT Ticket reply moderation is now inlined
  • IMPROVEMENT Logging out now uses a POST request to prevent CSRF abuse
10/14/18
  • IMPROVEMENT User Steam data is now cached for 1 week
  • FIX Fixed a problem preventing users from logging in
10/13/18
  • ADDITION Added breadcrumb to article and update view posts
10/12/18
  • ADJUSTMENT Global alerts can now display on the index page
10/11/18
  • ADDITION Added global alerts
  • IMPROVEMENT Staff may now change the order of item attributes from the edit or create page
10/7/18
  • ADDITION Added ability for staff (with permissions) to ban user accounts
    • Logged-in users will be logged out if they are banned
    • Users attempting to log into a banned account will be shown a message and be logged out
10/6/18
  • ADJUSTMENT Adjusted row spacing on article index page
10/5/18
  • IMPROVEMENT Updated button styles
  • IMPROVEMENT Staff (with permissions) can now change visibility of ticket replies and delete replies
  • FIX Fixed bold font weights on various elements appearing blurry
10/4/18
  • IMPROVEMENT Content inside editors will now match the site style
  • IMPROVEMENT Updated editor UI to match site style
10/3/18
  • ADDITION Added users list to admin dashboard
  • ADDITION Added ability for ticket content to be edited
  • ADJUSTMENT Tickets are no longer public to those who have its URL
10/2/18
  • ADDITION Added email notifications for ticket system
    • Users will be required to add an email and confirm it next time they log in if they do not already have an associated email address
  • IMPROVEMENT General backend cleanup
10/1/18
  • ADDITION Added ticket system to act as the report, appeal, and staff application system
  • IMPROVEMENT Logging in and out will now return you to the previous page you were on
  • ADJUSTMENT Updated navbar style and links
  • ADJUSTMENT Updated site footer
9/30/18
  • ADDITION Added buttons to jump to specific sections on the item rebalances index
  • IMPROVEMENT Improved item rebalance pages
    • Categories now have metadata
    • Item pages have improved metadata
    • Fixed category pages having no meta title
  • IMPROVEMENT Changelog items now support sub-items of their own
    • Like this!
  • ADJUSTMENT Updated style of badges
  • REMOVAL Removed Axios as a dependency in favor of jQuery's AJAX
  • FIX Fixed server bar not updating on an interval
  • FIX Fixed articles incorrectly showing that they had a password when they didn't and vice versa
  • FIX Fixed attribute ordering in item edit pages
9/29/18
  • ADDITION Added index for articles
  • ADDITION Added "Copy Permalink" links to articles and update posts
  • ADDITION Added staff dropdown menu to navbar for logged-in admins
  • ADDITION Added ability for staff to add/edit item rebalance displays
  • IMPROVEMENT Clicking article/update post times will show how long ago they were posted
  • IMPROVEMENT Item rebalance pages will now properly return an HTTP 404 error in situations where it is necessary
  • IMPROVEMENT Updated HTTP 503 error page to use no external resources
  • ADJUSTMENT Updated navbar
    • Improved link layout
    • Updated colors of dropdown menus
  • ADJUSTMENT Article and update post slugs will be updated if the title is changed
  • ADJUSTMENT Changed ADJUSTMENT badge color
  • ADJUSTMENT Admins no longer can instantly view password-protected articles without entering the password. Rather, the password is filled in for them on the gate page.
9/28/18
  • ADDITION Added permalink buttons to rule page sections
  • ADDITION Added additional metadata for various pages
  • IMPROVEMENT Added lazyloading to images on the item rebalances page
  • ADJUSTMENT Updated footer colors
  • ADJUSTMENT Updated masthead height
  • ADJUSTMENT Potentially-sensitive info will now be encrypted for sharing on HTTP 500 error pages
  • FIX Fixed various bugs involving the server info bar
  • FIX Fixed font weights for badge elements
9/27/18
  • ADDITION Added password protection option to articles
  • IMPROVEMENT Improved style of entries in the updates index
  • IMPROVEMENT Slight performance improvements to item rebalances page
  • ADJUSTMENT Updated style of various elements
  • BACKEND CUIDs will now be used for unique identifiers
  • FIX Fixed row vertical spacing on item category pages
9/26/18
  • IMPROVEMENT Changelogs is now a website dev info page (this!)
  • ADJUSTMENT Updated footer and added additional legal documents
  • ADJUSTMENT Slight index page adjustments
  • ADJUSTMENT Commands page will now show a masthead banner
  • ADJUSTMENT Some HTML entities are now stripped from update previews
  • ADJUSTMENT URL routes for update posts will now use the post's slug instead of its CUID
9/22/18
  • ADDITION Added monthly goal to donation section
  • ADDITION Admins are now able to edit articles and update posts
  • ADDITION Added changelog page (this!)
  • IMPROVEMENT Added additional info to articles and update posts
  • IMPROVEMENT Unpublished update posts are now displayed to logged-in admins
  • FIX Fixed metadata files returning an error
9/20/18
  • ADDITION Project launched to the public