travisspomer / ivorytower.com Goto Github PK
View Code? Open in Web Editor NEWIvoryTower 3
Home Page: https://www.ivorytower.com
IvoryTower 3
Home Page: https://www.ivorytower.com
Seems strange that they're so similar yet don't share anything.
Save drafts of posts, edits, etc. that aren't used before navigating away.
Editor
: add a draftKey
property that you set to any unique string like "/threads/12345#Post123" (doesn't have to be an URL), and if a new Editor
is instantiated with that same key, use that saved draft instead of the defaultdiscardDraft()
method that would be used by callers after getHtml()
Totally new, not shackled by the constraints of yesterday!
<a href="/polls/123"></a>
--background-alt
between light4 and white on light theme, and full black on dark themeAdd a way to delete a thread on the new site.
Add the ability to edit the thread title on the new site.
<div>
instead of a <button>
or <a>
like today? Then you could reuse those visuals pretty easily.Put the upload image button before the <textarea>
, in the upper-right.
prefers-reduced-motion
Investigate: Stoplight
Switch unread post tracking to be based on index, not counts: better performance and scalability, simpler to work with, etc.
After adding Markdown support (#38), add an editor to make it convenient to write and look at it, like how HTML used to be in the golden era.
Free WYSIWYG editor with first-class Markdown and Svelte support: TipTap, which itself is built on top of ProseMirror. (Additional Svelte wrapper that lets you host Svelte components in the editor)
There's also Editor.js, which produces JSON, and would be paired with a Markdown importer/exporter.
SimpleMDE is a Markdown-first editor, basically just syntax highlighting for Markdown.
Lexical is the editor framework from Meta.
Do you need to build some kind of HTTP handler to implement verb tunneling, where requests that aren't GET or POST are submitted as POST requests with an "X-HTTP-Method: […]" header? I guess people will let you know if things are broken after starting to use more obscure HTTP methods from the new API. Probably won't need this though.
When uploading an image with the same filename as an existing one, and the user's time has expired so they can't replace the old image, generate a new unique name for it instead of throwing an error.
Why should forum links get all the fun?
Currently, API responses are getting compressed on transitional API—make sure that remains the case with the real one.
Include a service worker so the PWA can be recommended as an app. There's a Vite plugin to do it with specific SvelteKit instructions.
Can you build a better way to surface the Edit and Reply actions for a post on phones? How about a touch-first interaction like iMessage and Messenger? (But remember that touch is not the same thing as "narrow window," so you'd still need the narrow window mouse version!)
Post pages say "getting X unread posts" when using the unread threads pager to get to a different thread.
You need to reset all state when changing ThreadView
's thread
property.
Debugging support for the project is fairly nonexistent. Probably should get that working.
swa
reverse proxy locallyFade out the post and superimpose an X or slash.
(What visuals would you want for moderators who can see deleted posts?)
Why can't editing a post be as exciting as defusing a bomb?
Maybe the not-yet-existing edit timer shouldn't appear at all until there are less than 5 minutes remaining.
For now they can just all be in the JavaScript. No real need to make that service-driven.
Vote
goes to 0 instead of / after cancelling the only voteEmoticons are converted to images using this template:
<img src="Bitmaps/Emo/{0}.png" width="12" height="12" class="emo" alt="{1}" title="" />
Supported emoji:
Sequence | Filename | Equivalent emoji |
---|---|---|
:) :-) |
Smiley | 🙂 |
:( :-( |
Frown | 🙁 |
:P :p :-P :-p :oP |
Silly | 😝 |
:O :o :-O :-o :-0 |
Gasp | 😮 |
:-D :D |
Grin | 😁 |
:-/ :-| :-\ :| |
Unsure | 😕 |
:-[ >.< |
Wince | 😣 |
;) ;-) |
Wink | 😉 |
-_- |
Glare | 😑 |
^_^ |
Pleased | 😊 |
<3 |
Heart | ♥ |
</3 |
HeartBroken | 💔 |
(hqf) |
Harlequin | 🤡 |
(cy) |
Cylon | 🤖 |
(tymk) |
TMYK | 🌈🌟 |
(nyan) |
Nyan | 🌈 |
(usa) |
USA | 🇺🇸 |
:-J |
Jmote | 😇 |
E( |
Emo | 😞 |
The current API used by the new site is a crappy placeholder. Let's make a real one.
Currently working on a branch: api
User? user = IvoryTower.Auth.GetCurrentUser(request);
that just always succeeds and returns TravisAssuming IvoryTower continues to allow hotlinking external images:
decoding="async" loading="lazy"
Used to be flags, now they're bookmarks!
Searching for "roofpenis" is pretty slow, but searching for "roof penis" is extraordinarily slow
Looks especially broken on phones and magic post link popups.
object-position
?)On any post with a magic forums link, click Edit and then Cancel. The post contents disappear.
Maybe you need to do something special to unmount the ForumLink component—or maybe you can fix things by ripping out and replacing the entire PostView with a new one.
Currently, errors are mostly ignored by the SDK. Probably shouldn't do that.
Potentially helpful information for adding width and height data to the HTML.
Markdown: coming, eventually, by popular demand!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.