Giter Site home page Giter Site logo

coderoad / coderoad-vscode Goto Github PK

View Code? Open in Web Editor NEW
937.0 937.0 37.0 12.83 MB

๐Ÿ‘ฉโ€๐Ÿ’ป Create or play Interactive coding tutorials in VSCode

Home Page: https://coderoad.github.io

License: GNU Affero General Public License v3.0

TypeScript 94.37% JavaScript 1.49% HTML 1.18% CSS 1.80% Shell 1.16%
tutorial tutorial-code tutorial-exercises vscode vscode-extension

coderoad-vscode's People

Contributors

adamzaczek avatar argemiront avatar dashinja avatar dependabot[bot] avatar heip avatar jensen avatar jordanliu avatar mot01 avatar saif-shines avatar savvyshah avatar shmck avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coderoad-vscode's Issues

Improve Level page UI

add dividers between levels on level page
user tried to click on levels on level page

FEATURE: open multiple files side by side

Allow for the extension to load two or more files, possibly in specific configurations.

See VSCode Commands under setEditorLayout

vscode.setEditorLayout - Sets the editor layout.

layout - The editor layout to set.
The layout is described as object with an initial (optional) orientation (0 = horizontal, 1 = vertical) and an array of editor groups within.
Each editor group can have a size and another array of editor groups that will be laid out orthogonal to the orientation.
If editor group sizes are provided, their sum must be 1 to be applied per row or column.
Example for a 2x2 grid: { orientation: 0, groups: [{ groups: [{}, {}], size: 0.5 }, { groups: [{}, {}], size: 0.5 }] }

Flex Styling

  • summary page items
    image

  • tight at bottom of summary page
    image

  • Home page text
    image

Fix broken continue

Continue seems to be loading commits on startup rather than continuing from existing commits

OS Testing

Test on an un-configured:

  • Windows
  • Linux
  • Mac

Options dropdown

Can include:

  • link to tutorial site
  • contact info
  • mailing list info

Improve Tutorial Item Data

add more icons to tutorials (eg. React)
add tags to tutorials (eg. frontend)
add an image to a tutorial (if sidebar were larger on main screen)

scroll to top after continue

There is a bug where scroll to the bottom is triggered when entering a new page.

It should be:

  • start tutorial levels at the top
  • on level completion, if the visible window is at the bottom, scroll to the top when the next level is loaded

Improve display tests running & passed/fail

Unfortunately, vscode modals are difficult to control. You can't trigger vscode modals to close after a timeout or close after a change.

I'm considering the idea of a modal in the sidebar with a fixed position over. It could be in the top center or bottom center. @argemiront Thoughts?

FEATURE: store tutorial progress and continue

Current plan for storing user progress and allowing continuing.

image

Unfortunately, local storage must be stored on editor rather than in client, as it does not exist within the editor browser.

A tutorial can be uniquely identified by its id and version, which should be sufficient to properly load it.

Proposed structure:
currentTutorial: { id: 'some-id', version: 'some-version' }
progress: { 'some-id@some-version': progressObject }

@jensen love to hear your thoughts on this one as well

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.