Giter Site home page Giter Site logo

thethirdcan's People

Contributors

aprzn123 avatar humanoidsandvichdispenser avatar leonn00albert avatar roxwize avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

thethirdcan's Issues

suggestion: skipping saved questions

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.

Tracking: Authentication system

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.

feature: replace question ID with a link

Feature request for replacing the question ID below the question with a permalink to /question/view/<question-id>, so that users can more easily copy the link to the question.

image

UX: Update page when settings are 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

Feature: Restore old reply page

Clicking reply on an answer brings up a modal. Previous behavior opened https://twocansandstring.com/ask/createmessage/{id}

hotkeys for skip for now button

#21 adds hotkeys for the answer page, but it does not add hotkeys for the "skip for now" button. Once that PR has been merged (and #22 has been solved), this issue can be worked on.

Feature: Render LaTeX in more pages

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.

Feature: Dark Mode

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.

Viewing of the data inside the URL tag

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

More modular script system

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.

Switch stuff around to fit the new layout

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.

suggestion: fetch `tex-mml-svg.js` from a CDN instead

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.

Feature: Better <color> tag GUI

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.

Feature: User Mentions

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.

dev dependencies

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.

Suggestion: SVG support

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).

question: script scoping

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?

Feature: Hotkeys

It would be useful to be able to do something like ctrl+enter to answer, or something else to skip.

Suggestion: Import/Export settings

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

CONTRIBUTING.md

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.