Giter Club home page Giter Club logo

know-it-all's Introduction

Know it all

know-it-all.io

The goal of know-it-all is to help you discover things that you don't know about web development.

And maybe one day about other things too.

Running it locally

  1. fork it/clone it git clone https://github.com/davidgilbertson/know-it-all.git
  2. npm i
  3. Before running in dev mode for the very first time, you must do a build (npm run build)
  4. npm run dev to start up the webpack dev server, then head to localhost:8080
  5. npm run build to build the production bundles
  6. npm start to start in production mode, also at localhost:8080. Note that this is hosted as a static site, so the production build just starts a very simple little NodeJS server.

Planned stuff

  • View a list of all "Don't know" and/or "Know of it" items.
  • Counts of scores (e.g. Don't know: 43, unrated: 8,723, etc)
  • Links to docs for each item. Maybe.
  • Search the list

Contributing

I'd be delighted to get help from the greater community, I imagine in typing out all that data I made some mistakes. Typos etc you can go right ahead and do a PR. For any architectural change open an issue and let's chat about it first.

PRs that degrade performance will not be accepted.

know-it-all's People

Contributors

benfletcher avatar davidgilbertson avatar haroenv avatar jperasmus avatar raisedadead avatar sanmai avatar seckwei 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

know-it-all's Issues

Arrow key functionality

Submitted a PR (#22) to give left and right arrow keys more intuitive (subjectively) behavior. Left arrow still collapses if selectedItem is expanded, otherwise navigates to parent node. Right arrow, similarly, expands current selection or navigates to first child.

Should have opened this before PR. Love the project. Learning from your architecture and project structure.

Cheers

DOM updates degrade performance over time

In #42 I first naively updated and re-rendered all child nodes.
The first few passes were quite fast but then it became slower and slower.

Profiling revealed that the rendered DOM nodes don't get cleaned up once replaced.
There may be more to this but rendering also seemed to take the most time overall.

Export with multiple options feature request

This tool would be great to create a document to add to your CV to show what you know!

Having an export to multiple formats would be amazing. Being able to choose which areas to include would be even better.

I am not sure what formats would be best, but HTML would be very flexible, then you could edit and style it how you like. Maybe that would be a minority use case, as most people would probably prefer PDF for ease of use.

THANKS for this awesome tool!

Crash on Safari on macOS

For whatever reason, the site consistently crashes on Safari for me. As in: Safari becomes completely unresponsive and has to be quit manually.

macOS 10.12.2 (16C67) on iMac13,2
Safari 10.0.2 (12602.3.12.0.1)

Let me know what I can do to help figure out the reason for the crash or what other data you might need.

List Icons Visibility

Its hard to distinguish between the dropdowns arrows and bullet points from a quick glance, I think it would be better visibility if the icons were filled in or perhaps have a darker outline.

Heres an example of what I see:
screen shot 2017-01-08 at 10 05 02 am

Typo

There's a typo: maxiumu-scale

(Can't really make PR on mobile, so here it goes)

Add more analytics

  • Screen width (integer)
  • Service worker support
  • Fetch support
  • CSS flexbox support
  • Custom elements

Using your prebuilt JSON data file.

Hello, just wondering if it would be ok for me to take the data.json file you have and use it in a similarly built project. My plan is to rebuild your application but focused in a specific framework.

I would reference you and the project in the README file.

Feature Request: Add notes

It would be super handy to be able to add notes/annotations/links to the topics as you go through. That way, if you don't quite know yet, but are part way through learning, you can leave notes for yourself about key points learned so far and where you left off. What do you think??

What the f*** is it?

app.d2909e9366bff5f798e9.js ?
And this shit
window.APP_META.data=[{name:"CSS",id:"56foP7U6",row:0,tags:["ROOT"],leaf:!...
??

Improve styles / visuals

I'm opening this issue so we can discuss specifically about style and visual improvements.
I'll list the questions I have here as I'm exploring your code.

Questions

  • What are the absolute no-gos in terms of css, is there anything we should avoid because of perf issues?
  • Would you accept some (small) svgs for some Icons, or is the overhead something you want to avoid?

Export the list into Markdown files

You can pick a category (or the entire list! ๐Ÿ˜› but it would be very long) to export into a Markdown file with a todo-list. Something like:

### Document metadata
- [ ] <html>
- [ ] <head>
- [ ] <body>
#### <base>
- [ ] href
- [ ] target
#### <link>
...

Bandwidth Quota Exceeded

When loading the site, I see the following error:

Bandwidth Quota Exceeded
This site has exceeded its monthly quota for bandwidth. It must be upgraded via the Firebase console before it can begin serving traffic again.

I attach this image for reference.
screen shot 2018-11-28 at 7 13 06 pm

add version number

It would be good to add information about the version and list of changes

Feature Request: Generate embeddable bar charts

It would be nifty if this tool could generate some bar charts.

I often see the following on resumes but without a granular way to dive into how those skills are measured. The bar charts could link back to the site if you had a way to save the form data.
d4832aa45a5a85c83b1a49a3dc29a36b

Arrow keys navigation breaks on expanded inner nodes

Let's say we have root nodes A, B, C.
Node B is collapsed, and has child nodes X1, X2.
Node X1 is expanded, and hassle childs.

Now if you put focus on the node A, and push arrow down key, this happens:

  1. B node get focused;
  2. focus get lost.
    What actually happens โ€” you navigate through children of node X1.

Expected:

  1. B node get focused;
  2. C node get focused.

When selecting a tag for a parent topic, pre-fill same tag for child topics

If I want to tag all of the subtopics in a parent topic with the same tag (Don't Know it / Know it / etc), I have to check each one individually. Checking only the parent category suffices, but there are scenarios where this causes pain:

I might "know" everything in a topic except for 1 or 2 subtopics. When this happens I must tag each subtopic with "Know it", and then tag that 1 subtopic as "Don't know it"

screen shot 2017-01-09 at 2 04 11 am

Unselect option

Given the existence of sub-items it would be good to provide un-select for the summary lines.
Otherwise one is forced to use "Don't Care" in order to back-off on items that have sub-items one does not know. Or simply provide a button for "Unrated"

Was trying to find this tool for 2 days

Could we make it more SEO friendly?
For example, I was using these keywords in different combinations with no luck: javascript es6 know knowledge skill learn tree checklist checktree map

Last row is not visible in mobile browsers

On mobile phones the last row is not visible when the 4 buttons are shown at the bottom.
You can't scroll to them because the page height stays the same.
Tested with iPhone 6S chrome/safari.
Testable with chrome device debugger (iPhone 6 for example or Nexus 5).

capture

Click 'know it' on parent, auto-click children.

So I've opened, let's say, CSS 2.1. The, Box Model. Then, Margin.

Well, I know all margin parameters, so I'll just click margin: Know it, right?

Wrong. I have to click every single know it.

It would be way nicer to click Know it on father and blam, all children 'know it' too.

A row should show the progress of all ancestors

I want to be able to look at an item like DOM & browser interfaces > Window and know how
many child items of each score there are. This is important if I'm working my way
down the list, to find the point I'm up to when returning to the app.

Input from others welcome, but what I'm thinking is a simple pie chart at the end with slices for unrated, don't know it, etc. At a glance it will be easy to see - if the pie is a complete circle, everything below is rated. If it's got a chunk missing, then there's items unrated.

I have very limited screen real estate per row, so I think anything more complex won't fit.

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.