Giter VIP home page Giter VIP logo

polyglot's Introduction

polyglot

TamperMonkey user script which improves user experience with CodeWars (or at least tries to).

WHAI IS IT?

This piece of code is a Tampermonkey user script which provides some additional per-language filtering and display capabilities, effectively making it easier for you to obtain POLYGLOT badge.

WHERE CAN I DOWNLOAD IT FROM?

You can get the script here.

HOW TO INSTALL IT?

  • Install Tampermonkey extension for your browser,
  • Copy&paste the script to your scripts library.

WHAT FEATURES DOES IT PROVIDE?

  • All 'available language' icons show whether you've completed given kata in some particular language. Languages are marked also in language selection dropdowns - but first go to Solutions tab of your CodeWars profile to let the script fetch/update information about your solutions.
  • When you filter kata search results by a language of your choice, additional filter option appears which lets you see which katas you have or haven't completed in this language.
  • You can copy content of code boxes into clipboard.
  • "Spoiler" flags are visible all the time and do not dis/re-appear in a very annoying manner.
  • Contents of "Solutions" and "Past solutions" views are displayed in tabs by language.
  • Leaderboards: "Solved kata is default leaderboard (since "Overall" ranking does not measure anything useful). Also, leaderboards are automatically scrolled to show your score.
  • TODO: Filter discourse threads by resolution status (show only resolved/unresolved).
  • TODO: You can configure the script and enable/disable features.

Features removed from Polyglot as they got implemented directly on Codewars:

  • ~~ "Show Kata Description" and "Show Kata Test Cases" sections can be toggled now and can be collapsed after once expanded. ~~
  • ~~ Show "Translations" tab on kata page and kata tabs on "/kata/####/translations" page. ~~

HOW TO UNINSTALL IT?

I haven't checked.

KNOWN ISSUES

  • Yes.
  • A race condition here or there.
  • Filters do not properly reset sometimes.
  • Sometimes search results may contain duplicated pages.
  • Selectors, hooks and listeners used are so inefficient that your local power plant probably doubles its coal consumption.

WHAT CAN I DO WITH THE SCRIPT?

  • You are allowed to use it, unless someone authoritative (CW staff?) says you can't.
  • You can modify it ONLY IF your modifications are going to bring any improvement into the way it works, AND you are going to share improved version with CW community.
  • You can send all your critical remarks to /dev/null, unless it's something I could learn or otherwise benefit from - in such case, you can contact me on CodeWars Gitter channel.

THIS CODE IS CRAP, LOOKS LIKE CRAP, AND WORKS LIKE CRAP! WHY?

I am really sorry if this code hurts your eyes, brain, or feelings in any way, but I am not a professional HTML developer and each and every technique present here (JavaScript, jQuery, TamperMonkey, CW API) I've used for the first time.

CREDITS

  • CodeWars
  • TamperMonkey
  • StackOverflow
  • jQuery
  • notify.js

polyglot's People

Contributors

haksell avatar hobovsky avatar

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.