aprzn123 / thethirdcan Goto Github PK
View Code? Open in Web Editor NEWA browser extension designed to improve https://twocansandstring.com
License: MIT License
A browser extension designed to improve https://twocansandstring.com
License: MIT License
A button that creates a new avatar based on another avatar
Currently, there is no way to skip saved questions through Two Cans, but you can still make API calls to skip questions even if they are deleted, and they will no longer appear on your saved questions list.
Let me know if you think this is a very valuable feature to implement. I'm happy to work on a pull request if this is something everyone needs.
Now that @thekifake and I have fleshed out the plan for the authentication system, even if it's not fully implemented yet, I can get started on setting up the add-on's side of it. This issue is mostly just to have a way to keep that in our list of things to implement.
It's clearly supported, but there's no official way to do it. We should introduce one!
When the answer page loads, it should have focus on the input box. Focus should return to the input box after a question is answered/skipped/saved.
Currently, when you save your settings, you have to refresh before the settings update. It would be good for UX and just nice all around if that wasn't something users had to do.
I'm not really sure how to implement this, but it's another thing we can deal with after #22
Maybe 1...9? not sure what is best for polls that have more than 9 options
Clicking reply on an answer brings up a modal. Previous behavior opened https://twocansandstring.com/ask/createmessage/{id}
to reproduce:
Currently, we inject MathJax into forum pages to render LaTeX there, but not any other pages. To be decided: which other pages should get it? Current thoughts are ask/answer/message, but not homepage.
For in case you accidentally answer before you're done writing what you had to say
Probably based on the autogenerated dark mode from Dark Reader, but with tweaks to improve it in places like unread answers in the ask page.
Aprzn told me to post this
In the You're a Winner thread, the users have begun to post in the URL input, so the messages are blank. Can you make it so the URL is posted at the bottom of the post?
EX:
URL is: https://www.youtube.com/watch?v=dQw4w9WgXcQ
With how disjointed the scripts can be in their implementations, the amount of files for each new feature is bound to get ridiculously large rather quickly. I think it'd be a lot wiser to implement a more modular system that allows importing of various utility functions and is scoped (#19), along with any other features that might be convenient. Right now, there are a lot of repeated tasks (like adding a script tag to the page) that could use helper functions or similar; I'm up to suggest any potential additions to make the codebase a lot more manageable, approachable, and extensible (these are all shoddy buzzwords but bear with me), and I'll see if I can come up with any ideas later to make this work somehow. I think it'd be best to do this as early as possible so that so much cleanup won't be required as this does have the opportunity to be a breaking change.
Might require some rewriting of a lot of stuff. This is what having everything be modular has led up to. We should probably sit this out until everything is finalized, but I'm putting this here regardless as a reminder.
It's too easy to accidentally click "delete" instead of "reply" on the answer page.
While looking at messages, you will see that the days are in decimal days instead of days, hours, minutes, and seconds. I think we should change that.
For example, 0.392 days ago would be shown as 9 hours 24 minutes 29 seconds ago.
I would like to suggest moving the src/injected/tex-mml-svg.js
script out of version control and fetching it from a CDN instead. The script is quite large (about 2.1M), and keeping it in version control increases the repository size and slow down git. In addition, text editors with file previewers and pickers can often freeze as it tries to parse the script.
Instead, we can use a CDN such as this https://cdnjs.cloudflare.com/ajax/libs/mathjax/3.2.2/es5/tex-mml-svg.min.js to serve the script. This would allow us to keep the repository size small.
Please let me know your thoughts on this.
The color tag was updated to only accept a few colors, but the color picker still shows the whole spectrum. We should have a color picker that only gives the actual options.
popup to confirm flagging a question
before yeah edited his pagebreaking post, it messed with the site taking you to the correct post since the site didn't account for the size of the latex.
Turn @ (e.g. @ tsarbomba instead of @ TSaR-BOMBA, basically just what is in the URL of the user's profile page) into a link to the page. Also, potentially implement some way of sending notifications to the user who was mentioned? That seems more advanced, but once we have the authentication and basic server infra down for the pronouns API, it's probably possible.
One of the suggestions I got a while back; pretty easy to implement and good to have the option, even if most won't use it.
I wonder if it is fine to include dev dependencies, since it was stated that there should be no node_modules. I assume that was to make packaging easier, and dev dependencies are only used for testing/development. The reason I ask is for code linters and prettifiers, so I am wondering if it is okay.
I think the code formatting should be another issue, but that should probably be discussed when #22 is resolved.
This could be infeasible. I have no idea. With enough tenacity and node.js packages it could work. I intend to do it the way Wikipedia does (use a renderer to convert it to PNG, then embed the PNG in place of the SVG), but anything else could do (such as rendering it to a canvas element instead).
Currently, injected scripts run on the global scope, which means that multiple scripts with the same variable names on a single page can conflict. It also messes up LSPs when they find a similarly named variable from a different script that may not be injected.
The way I avoided this in #3 was to wrap everything necessary in its own scope with curly braces.
Would this be a good way to avoid variable name conflicts? Is it a good idea to do this for every other script?
It would be useful to be able to do something like ctrl+enter to answer, or something else to skip.
Would be nice to be able to use it without manually messing with the javascript.
With many updates coming soon, it would be nice to be able to export my settings (maybe a sting or a text file or something) that I can import into the updated extension so I dont have to change all my setting back from the defaults. Its not that much of an issue to change my settings back now, but I would assume as this project grows, there will be many more settings involved.
Alternatively, is there a way to store the settings locally in cache or something?
Either way import/exporting setting could also be used for installing the extension on a new device etc
Since we are have so many new issues marked with good-first-issue, I think we should add contribution guidelines to make it easier for prospective contributors to get started, ensure that contributions are consistent and follow good practice, and clear up any potential confusion they may have.
like what this guy said https://twocansandstring.com/question/view/2213269
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.