Commit Graph

12 Commits

Author SHA1 Message Date
Azareal
ca7c369e9e Added numeric mentions. Username mentions will be automatically pre-parsed into numeric mentions in a future commit.
Added #rid for linking to a specific post.

Added a forum_exists function.
Removed the null bytes from the posts
The report system now uses #rid, #tid and numeric mentions instead of raw HTML.
Improved the custom parser to take control characters into account. It also now parses items at the start of the post.
Fixed the padding on the buttons on the profiles.
#tid now takes into account whether the topic it links to exists.
2017-03-14 10:57:40 +00:00
Azareal
3a68e07885 You can now link to a topic with #tid-{topicid}
Shrunk the posts in Tempra Simple.
Fixed a problem with the buttons for Tempra Simple on mobile.
Tweaked the padding on the quotes.
Fixed a browser parser bug where the browsers erroneously terminate a </p> upon finding a </div> produced by plugin_bbcode.
Fixed a problem with plugin_bbcode where the HTML tags weren't getting closed.
2017-03-12 07:18:12 +00:00
Azareal
ea63768a8e Added a custom auto-link parser rather than using a regex.
Added the Tempra Cursive theme. A fork of Tempra Simple which is less boxy and uses the cursive font.
Improved the theme manager. Primary themes and variant themes (themes based upon another) are now seperate.
plugin_bbcode has been modified to use the URL parsing facilities of the core rather than implementing them itself.
git:// and ftp:// links are now supported by plugin_bbcode.
Added the simple quote BBCode.
Fixed a bug in route_like_topic where the no row error type isn't handled properly.
Moved the rowhead class onto the right element in the topic template.
Removed a couple of linebreaks in the topic template in favour of pure CSS.
Converted some inline CSS in the topic template into new CSS classes.

alerts.png contains some alert types for features which haven't been implemented yet, this is mainly to test if the alert system would work under the presence of those alert types. Think of this as my plans for the future.
2017-03-07 07:22:29 +00:00
Azareal
9fce51a3d7 Added the InternalErrorJS and LocalErrorJS error handler functions.
Hid the themes which aren't under construction yet from the Theme Manager.
Fixed a bug in the BBCode parser where every post had ten spaces appended to them.
Added the get_reply() internal API function for plugins to make use of.
Added the bell to the theme.
Fixed some bits of the Cosmo theme where the rowhead wasn't appearing.
Added a "Don't have an account?" link to the login page.

I began work on the alerts system, I took a little break, so it's a little further behind than you might expect, but it shouldn't take too long for me to finish it up.
I haven't finished the back-end portions of it yet, so there's not much to see yet!
2017-02-28 09:27:28 +00:00
Azareal
5e3b61d910 Added pagination for forums.
You can now use the left and right keyboard keys to go to the next and previous page.
Making the shell files a little friendlier. Needs testing.
The main executable will always be named gosora.exe or the Linux equivalent ./Gosora
Reports is now a physical forum and not a "virtual" one.
Added create_forum() and delete_forum() for creating and deleting forums.
Synced the installer's config.go with the main one.
Forums are now stored in slices rather than maps for improved performance and concurrency.
You can now set a forum as hidden when initially creating it.
BBCode tag names may only be seven characters long now. This is part of a new anti-overflow measure that's much faster and simpler than the previous one.
Updated the last block of code in routes.go which uses the antiquated "success = 0" error detection method.
Fixed a visual bug in the Control Panel CSS.
Seperated the system forums from the normal ones in the Forum Manager.
You can now see if a forum is marked as Hidden in the Forum Manager.
Fixed the position of the lock status indicator.
IP Addresses now have a simple title attribute explaining that this long incomprehensible string is in fact an IP Address.
Textareas look a little better now.
Next / Previous buttons are now visible on mobile.
.bat files always say what they're doing now.
2017-01-26 13:37:50 +00:00
Azareal
16bc3a82e2 Added basic pagination for topics.
Added template functions for arithmetic.
Split the "TO-DO" section of README.md into it's own file.
Themes can now mark themselves as permanently disabled.
Improved the BBCode Bounds Checking.
Fixed a bug with the BBCode parser where part of the content at the end is cut off.
is_super_admin is now a hidden flag and isn't taken into account for Staff CSS.
Themes can now show a custom tag in the Theme Manager.
2017-01-21 18:16:27 +00:00
Azareal
d4ad7f1a4c Dramatically improved Gosora's speed by two to four times.
Admins and mods can now see the IP Addresses of users.
The last IP Address of a user is now tracked.
The IP Addresses a user used to create replies and topics are now tracked.
Dramatically improved the speed of templates with the new Fragment System. More optimisations to come!
Decreased the memory usage of compiled templates with the new Fragment System.
build.bat now provides more information on what it's doing.
Added the `go generate` command to the .bat files in preparation for the future.
We're currently in the process of overhauling the benchmark system to run tests in parallel rather than serially. More news on that later.
We're also looking into the best way of integrating pprof with the benchmarks for detailed profiling.
The internal and notfound errors are now static pages.
Internal Error pages are now served properly.
Optimised most of the errors.
Added an internal flag for checking if the plugins have been initialised yet. Mainly for tests.
Decoupled the global initialisation code from the tests.
Removed URL Tags from Tempra Simple. We're pondering over how to re-introduce this in a less intrusive way.
Template file writing is now multi-threaded.
The number of maximum open connections is now explicitly set.
Removed the Name field from the page struct.
Turned some of the most frequently hit queries into prepared statements.
Added the [rand] BBCode.
Converted the NoticeList map into a slice.
Added the missing_tag error type to the [url] tag.
error_notfound is now used for when the router can't find a route.
Fixed a bug in the custom page route where both the page AND the error is served when the page doesn't exist.
Removed some deferrals.
Reduced the number of allocations on the topic page.
run.bat now provides more information on what it's doing.
2017-01-17 07:55:46 +00:00
Azareal
e835ca4148 Added an installer which automatically populates the configuration file with information you provide. It also seeds the database with the necessary tables and data.
Added the likes table. This is a sign of what's to come.
Improved the installation instructions in README.md
Fixed the SQL in data.sql so that it no longer errors out.
The Admin user now has a default password.
Fixed a status indicator which I overlooked in the previous commit.
The Status field for topics is now deprecated.
Improved the efficiency of plugin_bbcode
Added more bat and shell files to make it easier for you to get things done.
2017-01-10 06:51:28 +00:00
Azareal
7833ad72fc [url] tags now use a custom parser.
Added more images and updated others.
The [code] tag is now enabled by default.
Fixed some visual flaws in the profiles.
Profile comments are no longer overriden by Tempra Conflux's post layout CSS.
A lock emoji is now used instead of [Status|closed] blocks.
Moved more inline CSS into the stylesheets.
Usernames now link to the profiles in the Tempra Conflux, Cosmo and Cosmo Conflux themes.
2017-01-08 16:02:19 +00:00
Azareal
bbbd0c381f Added the Cosmo and Cosmo Conflux themes. Freshly ported over from one of my other projects.
The porting is still underway, part of it relies on functionality which hasn't be implemented in Gosora yet like sidebars and alerts.

Restructured the BBCode parser plugin.
Added the [code] tag to the BBCode parser. Disabled by default for now.
Added a benchmark for comparing performance between when [code] is enabled and when it isn't.
Tweaked the templates to make them more flexible, thus allowing a wider variety of themes.
Images of the themes can now be found in the Theme Manager.
There's an emoji on each theme row to show which themes are mobile friendly and which aren't.
Fixed editing and deleting posts on Tempra Conflux.
Moved a large portion of the inline CSS in the topic_alt template into the stylesheets.
2017-01-07 06:31:04 +00:00
Azareal
5ef65be135 Made the BBCode plugin even faster.
Added the strikethrough BBCode.
Redid the Round 4 Benchmark. The regular expression parser now works properly. The underline Regex was missing, thus it was finishing faster than it should have.
2017-01-05 14:59:15 +00:00
Azareal
e90d96961f Added the BBCode plugin.
Restructured the plugin system.
Multiple plugins can bind to the same hook now (not available for variadic hooks yet!)
The parser is now benchmarked. The bench_round4 is run with both plugin_markdown and plugin_bbcode enabled.
Added a benchmark for the BBCode plugin.
Moved some of the template writing logic into a more generalised function.
URLs are now recognised by the system and linked.
Converted more custom errors into LocalError calls.
Faster and less bandwidth intensive Emojis on Edge.
Fixed a bug with replies not working.
2017-01-05 14:41:14 +00:00