basic project views

pull/508/head
LabyrinthLion 4 years ago
parent 4f90d12104
commit 9de967977a

@ -1,69 +0,0 @@
Name ,ID ,Short Description ,Tier
Bin2Dec ,Bin2Dec-App ,Binary-to-Decimal number converter ,1-Beginner
Border Radius Previewer ,Border-Radius-Previewer ,Preview how CSS3 border-radius values affect an element ,1-Beginner
Calculator ,Calculator-App ,Calculator ,1-Beginner
Christmas Lights ,Christmas-Lights-App ,Simulate a string of Christmas lights ,1-Beginner
Cause Effect App ,Cause-Effect-App ,Click list item to display item details ,1-Beginner
Color Cycle ,Color-Cycle-App ,Cycle a color value through incremental changes ,1-Beginner
Countdown Timer ,Countdown-Timer-App ,Event Countdown timer ,1-Beginner
CSV2JSON App ,CSV2JSON-App ,CSV to JSON converter ,1-Beginner
Dollars to Cents ,Dollars-To-Cents-App ,Convert dollars to cents ,1-Beginner
Dynamic CSS Variables ,Dynamic-CSSVar-app ,Dynamically change CSS variable settings ,1-Beginner
First DB App ,First-DB-App ,Your first Database app! ,1-Beginner
Flip Image ,Flip-Image-App ,Change the orientation of images across two axes ,1-Beginner
GitHub Status ,GitHub-Status-App ,Display Current GitHub Status ,1-Beginner
Hello ,Hello-App ,User native language greeting ,1-Beginner
IOT Mailbox Simulator ,IOT-Mailbox-App ,Use callbacks to check your snail mail ,1-Beginner
JS Input Validation ,Javascript-Validation-With-Regex ,Script to validate inputs entered by a user using RegEx ,1-Beginner
JSON2CSV App ,JSON2CSV-App ,JSON to CSV converter ,1-Beginner
Key Value ,Key-Value-App ,Keyboard Event Values ,1-Beginner
Lorem Ipsum Generator ,Lorem-Ipsum-Generator ,Generate lorem ipsum placeholder text ,1-Beginner
Notes App ,Notes-App ,Create an online note pad ,1-Beginner
Pearson Regression ,Pearson-Regression-App ,Calculate the correlation coefficient for two sets of data ,1-Beginner
Pomodoro Clock ,Pomodoro-Clock ,Task timer to aid personal productivity ,1-Beginner
Product Landing Page ,Product-Landing-Page ,Showcase product details for possible buyers ,1-Beginner
Quiz App ,Quiz-App ,Test your knowledge by answering questions ,1-Beginner
Recipe App ,Recipe-App ,Recipe ,1-Beginner
Random Meal Generator ,Random-Number-Generator ,Generate random meals ,1-Beginner
Random Number Generator ,Random-Meal-Generator ,Generate random number between range. ,1-Beginner
Roman to Decimal Converter ,Roman-to-Decimal-Converter ,Convert Roman to Decimal numbers ,1-Beginner
Slider Design ,Slider-Design ,Display images using a slider control ,1-Beginner
Stopwatch App ,Stopwatch-App ,Count time spent on activities ,1-Beginner
TrueOrFalse ,True-or-False-App ,Identify the result of a conditional comparison ,1-Beginner
Vigenere Cipher ,Vigenere-Cipher ,Encrypt text using the Vigenere Cypher ,1-Beginner
Wind Chill ,Windchill-App ,Calculate the windchill factor from an actual temperature ,1-Beginner
Word Frequency ,Word-Frequency-App ,Calculate word frequency in a block of text ,1-Beginner
Weather App ,Weather-App ,Get the temperature and weather condition of a city. ,1-Beginner
Bit Masks ,Bit-Masks-App ,Using Bit Masks for Conditions ,2-Intermediate
Book Finder App ,Book-Finder-App ,Search for books by multiple criteria ,2-Intermediate
Calculator CLI ,Calculator-CLI ,Create a basic calculator cli. ,2-Intermediate
Card Memory Game ,Card-Memory-Game ,Memorize and match hidden images ,2-Intermediate
Charity Finder App ,Charity-Finder-App ,Find a Global Charity to donate to ,2-Intermediate
Chrome Theme Extension ,Chrome-Theme-Extension ,Build your own chrome theme extention. ,2-Intermediate
Currency Converter ,Currency-Converter ,Convert one currency to another. ,2-Intermediate
Drawing App ,Drawing-App ,Create digital artwork on the web ,2-Intermediate
Emoji Translator App ,Emoji-Translator-App ,Translate sentences into Emoji ,2-Intermediate
Flashcards App ,FlashCards-App ,Review and test your knowledge through Flash Cards ,2-Intermediate
Flip Art App ,Flip-Art-App ,Animate a set of images ,2-Intermediate
Game Suggestion App ,Game-Suggestion-App ,Create polls to decide what games to play ,2-Intermediate
GitHub Profiles ,GitHub-Profiles ,A GitHub user search App ,2-Intermediate
HighStriker Game ,HighStriker-Game ,Highstriker strongman carnival game ,2-Intermediate
Image Scanner ,Image-Scaner ,Image Scanner App ,2-Intermediate
Markdown Previewer ,Markdown-Previewer ,Preview text formatted in GitHub flavored markdown ,2-Intermediate
Markdown Table Generator ,Markdown-Table-Generator ,Convert a table into Markdown-formatted text ,2-Intermediate
Math Editor ,math-editor ,A math editor for students to use ,2-Intermediate
Meme Generator App ,Meme-Generator-App ,Create custom memes ,2-Intermediate
Name Generation using RNNs ,Name-Generator ,Generate names using names dataset ,2-Intermediate
Password Generator ,Password-Generator ,Generate random passwords ,2-Intermediate
Podcast Directory ,Podcast-Directory-App ,Directory of favorite podcasts ,2-Intermediate
QR Code Badge Generator ,QRCode-Badge-App ,Encode badge info in a QRcode ,2-Intermediate
Regular Expression Helper ,RegExp-Helper-App ,Test Regular Expressions ,2-Intermediate
Sales Reciepts App ,Sales-DB-App ,Record Sales Receipts in a DB ,2-Intermediate
Simple Online Store ,Simple-Online-Store ,Simple Online Store ,2-Intermediate
Sports Bracket Generator ,Sports-Bracket-Generator ,Generate a sports bracket diagram ,2-Intermediate
String Art ,String-Art ,An animation of colored strings ,2-Intermediate
This or That Game ,This-or-That-Game ,This or That Game ,2-Intermediate
Timezone Slackbot ,Timezone-Slackbot ,Display Team Timezones ,2-Intermediate
To-Do App ,To-Do-App ,Manage personal to-do tasks ,2-Intermediate
Typing Practice ,Typing-Practice-App ,Typing Practice ,2-Intermediate
Voting App ,Voting-App ,Voting App ,2-Intermediate
1 Name ID Short Description Tier
2 Bin2Dec Bin2Dec-App Binary-to-Decimal number converter 1-Beginner
3 Border Radius Previewer Border-Radius-Previewer Preview how CSS3 border-radius values affect an element 1-Beginner
4 Calculator Calculator-App Calculator 1-Beginner
5 Christmas Lights Christmas-Lights-App Simulate a string of Christmas lights 1-Beginner
6 Cause Effect App Cause-Effect-App Click list item to display item details 1-Beginner
7 Color Cycle Color-Cycle-App Cycle a color value through incremental changes 1-Beginner
8 Countdown Timer Countdown-Timer-App Event Countdown timer 1-Beginner
9 CSV2JSON App CSV2JSON-App CSV to JSON converter 1-Beginner
10 Dollars to Cents Dollars-To-Cents-App Convert dollars to cents 1-Beginner
11 Dynamic CSS Variables Dynamic-CSSVar-app Dynamically change CSS variable settings 1-Beginner
12 First DB App First-DB-App Your first Database app! 1-Beginner
13 Flip Image Flip-Image-App Change the orientation of images across two axes 1-Beginner
14 GitHub Status GitHub-Status-App Display Current GitHub Status 1-Beginner
15 Hello Hello-App User native language greeting 1-Beginner
16 IOT Mailbox Simulator IOT-Mailbox-App Use callbacks to check your snail mail 1-Beginner
17 JS Input Validation Javascript-Validation-With-Regex Script to validate inputs entered by a user using RegEx 1-Beginner
18 JSON2CSV App JSON2CSV-App JSON to CSV converter 1-Beginner
19 Key Value Key-Value-App Keyboard Event Values 1-Beginner
20 Lorem Ipsum Generator Lorem-Ipsum-Generator Generate lorem ipsum placeholder text 1-Beginner
21 Notes App Notes-App Create an online note pad 1-Beginner
22 Pearson Regression Pearson-Regression-App Calculate the correlation coefficient for two sets of data 1-Beginner
23 Pomodoro Clock Pomodoro-Clock Task timer to aid personal productivity 1-Beginner
24 Product Landing Page Product-Landing-Page Showcase product details for possible buyers 1-Beginner
25 Quiz App Quiz-App Test your knowledge by answering questions 1-Beginner
26 Recipe App Recipe-App Recipe 1-Beginner
27 Random Meal Generator Random-Number-Generator Generate random meals 1-Beginner
28 Random Number Generator Random-Meal-Generator Generate random number between range. 1-Beginner
29 Roman to Decimal Converter Roman-to-Decimal-Converter Convert Roman to Decimal numbers 1-Beginner
30 Slider Design Slider-Design Display images using a slider control 1-Beginner
31 Stopwatch App Stopwatch-App Count time spent on activities 1-Beginner
32 TrueOrFalse True-or-False-App Identify the result of a conditional comparison 1-Beginner
33 Vigenere Cipher Vigenere-Cipher Encrypt text using the Vigenere Cypher 1-Beginner
34 Wind Chill Windchill-App Calculate the windchill factor from an actual temperature 1-Beginner
35 Word Frequency Word-Frequency-App Calculate word frequency in a block of text 1-Beginner
36 Weather App Weather-App Get the temperature and weather condition of a city. 1-Beginner
37 Bit Masks Bit-Masks-App Using Bit Masks for Conditions 2-Intermediate
38 Book Finder App Book-Finder-App Search for books by multiple criteria 2-Intermediate
39 Calculator CLI Calculator-CLI Create a basic calculator cli. 2-Intermediate
40 Card Memory Game Card-Memory-Game Memorize and match hidden images 2-Intermediate
41 Charity Finder App Charity-Finder-App Find a Global Charity to donate to 2-Intermediate
42 Chrome Theme Extension Chrome-Theme-Extension Build your own chrome theme extention. 2-Intermediate
43 Currency Converter Currency-Converter Convert one currency to another. 2-Intermediate
44 Drawing App Drawing-App Create digital artwork on the web 2-Intermediate
45 Emoji Translator App Emoji-Translator-App Translate sentences into Emoji 2-Intermediate
46 Flashcards App FlashCards-App Review and test your knowledge through Flash Cards 2-Intermediate
47 Flip Art App Flip-Art-App Animate a set of images 2-Intermediate
48 Game Suggestion App Game-Suggestion-App Create polls to decide what games to play 2-Intermediate
49 GitHub Profiles GitHub-Profiles A GitHub user search App 2-Intermediate
50 HighStriker Game HighStriker-Game Highstriker strongman carnival game 2-Intermediate
51 Image Scanner Image-Scaner Image Scanner App 2-Intermediate
52 Markdown Previewer Markdown-Previewer Preview text formatted in GitHub flavored markdown 2-Intermediate
53 Markdown Table Generator Markdown-Table-Generator Convert a table into Markdown-formatted text 2-Intermediate
54 Math Editor math-editor A math editor for students to use 2-Intermediate
55 Meme Generator App Meme-Generator-App Create custom memes 2-Intermediate
56 Name Generation using RNNs Name-Generator Generate names using names dataset 2-Intermediate
57 Password Generator Password-Generator Generate random passwords 2-Intermediate
58 Podcast Directory Podcast-Directory-App Directory of favorite podcasts 2-Intermediate
59 QR Code Badge Generator QRCode-Badge-App Encode badge info in a QRcode 2-Intermediate
60 Regular Expression Helper RegExp-Helper-App Test Regular Expressions 2-Intermediate
61 Sales Reciepts App Sales-DB-App Record Sales Receipts in a DB 2-Intermediate
62 Simple Online Store Simple-Online-Store Simple Online Store 2-Intermediate
63 Sports Bracket Generator Sports-Bracket-Generator Generate a sports bracket diagram 2-Intermediate
64 String Art String-Art An animation of colored strings 2-Intermediate
65 This or That Game This-or-That-Game This or That Game 2-Intermediate
66 Timezone Slackbot Timezone-Slackbot Display Team Timezones 2-Intermediate
67 To-Do App To-Do-App Manage personal to-do tasks 2-Intermediate
68 Typing Practice Typing-Practice-App Typing Practice 2-Intermediate
69 Voting App Voting-App Voting App 2-Intermediate

769
package-lock.json generated

@ -2258,6 +2258,14 @@
"@babel/types": "^7.3.0"
}
},
"@types/debug": {
"version": "4.1.7",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
"integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
"requires": {
"@types/ms": "*"
}
},
"@types/eslint": {
"version": "7.28.2",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz",
@ -2289,6 +2297,14 @@
"@types/node": "*"
}
},
"@types/hast": {
"version": "2.3.4",
"resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
"integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
"requires": {
"@types/unist": "*"
}
},
"@types/html-minifier-terser": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz",
@ -2443,11 +2459,29 @@
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4="
},
"@types/mdast": {
"version": "3.0.10",
"resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
"integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
"requires": {
"@types/unist": "*"
}
},
"@types/mdurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz",
"integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA=="
},
"@types/minimatch": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ=="
},
"@types/ms": {
"version": "0.7.31",
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
"integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
},
"@types/node": {
"version": "16.11.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz",
@ -2547,6 +2581,11 @@
}
}
},
"@types/unist": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
"integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
},
"@types/webpack": {
"version": "4.41.31",
"resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.31.tgz",
@ -3683,6 +3722,11 @@
"resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ=="
},
"bail": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/bail/-/bail-2.0.1.tgz",
"integrity": "sha512-d5FoTAr2S5DSUPKl85WNm2yUwsINN8eidIdIwsOge2t33DaOfOdSmmsI11jMN3GmALCXaw+Y6HMVHDzePshFAA=="
},
"balanced-match": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
@ -4161,6 +4205,21 @@
"resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw=="
},
"character-entities": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.0.tgz",
"integrity": "sha512-oHqMj3eAuJ77/P5PaIRcqk+C3hdfNwyCD2DAUcD5gyXkegAuF2USC40CEqPscDk4I8FRGMTojGJQkXDsN5QlJA=="
},
"character-entities-legacy": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-2.0.0.tgz",
"integrity": "sha512-YwaEtEvWLpFa6Wh3uVLrvirA/ahr9fki/NUd/Bd4OR6EdJ8D22hovYQEOUCBfQfcqnC4IAMGMsHXY1eXgL4ZZA=="
},
"character-reference-invalid": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
"integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="
},
"check-types": {
"version": "11.1.2",
"resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz",
@ -4335,6 +4394,11 @@
"delayed-stream": "~1.0.0"
}
},
"comma-separated-tokens": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
"integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg=="
},
"commander": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
@ -4941,6 +5005,11 @@
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz",
"integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw=="
},
"csv-string": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/csv-string/-/csv-string-4.0.1.tgz",
"integrity": "sha512-nCdK+EWDbqLvZ2MmVQhHTmidMEsHbK3ncgTJb4oguNRpkmH5OOr+KkDRB4nqsVrJ7oK0AdO1QEsBp0+z7KBtGQ=="
},
"cyclist": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
@ -5141,6 +5210,11 @@
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak="
},
"dequal": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz",
"integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug=="
},
"des.js": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
@ -5189,6 +5263,11 @@
}
}
},
"diff": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz",
"integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w=="
},
"diff-sequences": {
"version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz",
@ -5433,6 +5512,11 @@
}
}
},
"email-addresses": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/email-addresses/-/email-addresses-3.1.0.tgz",
"integrity": "sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg=="
},
"emittery": {
"version": "0.7.2",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz",
@ -6519,6 +6603,11 @@
}
}
},
"extend": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
"integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
},
"extend-shallow": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
@ -6711,6 +6800,21 @@
}
}
},
"filename-reserved-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/filename-reserved-regex/-/filename-reserved-regex-2.0.0.tgz",
"integrity": "sha1-q/c9+rc10EVECr/qLZHzieu/oik="
},
"filenamify": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/filenamify/-/filenamify-4.3.0.tgz",
"integrity": "sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==",
"requires": {
"filename-reserved-regex": "^2.0.0",
"strip-outer": "^1.0.1",
"trim-repeated": "^1.0.0"
}
},
"filesize": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz",
@ -7071,6 +7175,106 @@
"resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg="
},
"gh-pages": {
"version": "3.2.3",
"resolved": "https://registry.npmjs.org/gh-pages/-/gh-pages-3.2.3.tgz",
"integrity": "sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==",
"requires": {
"async": "^2.6.1",
"commander": "^2.18.0",
"email-addresses": "^3.0.1",
"filenamify": "^4.3.0",
"find-cache-dir": "^3.3.1",
"fs-extra": "^8.1.0",
"globby": "^6.1.0"
},
"dependencies": {
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
"integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
"requires": {
"array-uniq": "^1.0.1"
}
},
"commander": {
"version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"find-cache-dir": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
"integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
"requires": {
"commondir": "^1.0.1",
"make-dir": "^3.0.2",
"pkg-dir": "^4.1.0"
}
},
"fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
}
},
"globby": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz",
"integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=",
"requires": {
"array-union": "^1.0.1",
"glob": "^7.0.3",
"object-assign": "^4.0.1",
"pify": "^2.0.0",
"pinkie-promise": "^2.0.0"
}
},
"jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=",
"requires": {
"graceful-fs": "^4.1.6"
}
},
"make-dir": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
"integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
"requires": {
"semver": "^6.0.0"
}
},
"pify": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
"integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw="
},
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"requires": {
"find-up": "^4.0.0"
}
},
"semver": {
"version": "6.3.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
},
"universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
}
}
},
"glamor": {
"version": "2.20.40",
"resolved": "https://registry.npmjs.org/glamor/-/glamor-2.20.40.tgz",
@ -7284,6 +7488,11 @@
"minimalistic-assert": "^1.0.1"
}
},
"hast-util-whitespace": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz",
"integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg=="
},
"he": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
@ -7765,6 +7974,11 @@
"resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="
},
"inline-style-parser": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
"integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
},
"inline-style-prefixer": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz",
@ -7831,6 +8045,20 @@
}
}
},
"is-alphabetical": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.0.tgz",
"integrity": "sha512-5OV8Toyq3oh4eq6sbWTYzlGdnMT/DPI5I0zxUBxjiigQsZycpkKF3kskkao3JyYGuYDHvhgJF+DrjMQp9SX86w=="
},
"is-alphanumerical": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.0.tgz",
"integrity": "sha512-t+2GlJ+hO9yagJ+jU3+HSh80VKvz/3cG2cxbGGm4S0hjKuhWQXgPVUVOZz3tqZzMjhmphZ+1TIJTlRZRoe6GCQ==",
"requires": {
"is-alphabetical": "^2.0.0",
"is-decimal": "^2.0.0"
}
},
"is-arguments": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@ -7936,6 +8164,11 @@
"has-tostringtag": "^1.0.0"
}
},
"is-decimal": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.0.tgz",
"integrity": "sha512-QfrfjQV0LjoWQ1K1XSoEZkTAzSa14RKVMa5zg3SdAfzEmQzRM4+tbSFWb78creCeA9rNBzaZal92opi1TwPWZw=="
},
"is-descriptor": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
@ -7991,6 +8224,11 @@
"is-extglob": "^2.1.1"
}
},
"is-hexadecimal": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.0.tgz",
"integrity": "sha512-vGOtYkiaxwIiR0+Ng/zNId+ZZehGfINwTzdrDqc6iubbnQWhnPuYymOzOKUDqa2cSl59yHnEh2h6MvRLQsyNug=="
},
"is-module": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
@ -9908,11 +10146,78 @@
"safe-buffer": "^5.1.2"
}
},
"mdast-util-definitions": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz",
"integrity": "sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ==",
"requires": {
"@types/mdast": "^3.0.0",
"@types/unist": "^2.0.0",
"unist-util-visit": "^3.0.0"
},
"dependencies": {
"unist-util-visit": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-3.1.0.tgz",
"integrity": "sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==",
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^5.0.0",
"unist-util-visit-parents": "^4.0.0"
}
}
}
},
"mdast-util-from-markdown": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.0.4.tgz",
"integrity": "sha512-BlL42o885QO+6o43ceoc6KBdp/bi9oYyamj0hUbeu730yhP1WDC7m2XYSBfmQkOb0TdoHSAJ3de3SMqse69u+g==",
"requires": {
"@types/mdast": "^3.0.0",
"@types/unist": "^2.0.0",
"mdast-util-to-string": "^3.1.0",
"micromark": "^3.0.0",
"micromark-util-decode-numeric-character-reference": "^1.0.0",
"micromark-util-decode-string": "^1.0.0",
"micromark-util-normalize-identifier": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0",
"parse-entities": "^3.0.0",
"unist-util-stringify-position": "^3.0.0",
"uvu": "^0.5.0"
}
},
"mdast-util-to-hast": {
"version": "11.3.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-11.3.0.tgz",
"integrity": "sha512-4o3Cli3hXPmm1LhB+6rqhfsIUBjnKFlIUZvudaermXB+4/KONdd/W4saWWkC+LBLbPMqhFSSTSRgafHsT5fVJw==",
"requires": {
"@types/hast": "^2.0.0",
"@types/mdast": "^3.0.0",
"@types/mdurl": "^1.0.0",
"mdast-util-definitions": "^5.0.0",
"mdurl": "^1.0.0",
"unist-builder": "^3.0.0",
"unist-util-generated": "^2.0.0",
"unist-util-position": "^4.0.0",
"unist-util-visit": "^4.0.0"
}
},
"mdast-util-to-string": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
"integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA=="
},
"mdn-data": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA=="
},
"mdurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4="
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@ -9952,6 +10257,218 @@
"resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz",
"integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g=="
},
"micromark": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.7.tgz",
"integrity": "sha512-67ipZ2CzQVsDyH1kqNLh7dLwe5QMPJwjFBGppW7JCLByaSc6ZufV0ywPOxt13MIDAzzmj3wctDL6Ov5w0fOHXw==",
"requires": {
"@types/debug": "^4.0.0",
"debug": "^4.0.0",
"micromark-core-commonmark": "^1.0.1",
"micromark-factory-space": "^1.0.0",
"micromark-util-character": "^1.0.0",
"micromark-util-chunked": "^1.0.0",
"micromark-util-combine-extensions": "^1.0.0",
"micromark-util-decode-numeric-character-reference": "^1.0.0",
"micromark-util-encode": "^1.0.0",
"micromark-util-normalize-identifier": "^1.0.0",
"micromark-util-resolve-all": "^1.0.0",
"micromark-util-sanitize-uri": "^1.0.0",
"micromark-util-subtokenize": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.1",
"parse-entities": "^3.0.0",
"uvu": "^0.5.0"
}
},
"micromark-core-commonmark": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.4.tgz",
"integrity": "sha512-HAtoZisp1M/sQFuw2zoUKGo1pMKod7GSvdM6B2oBU0U2CEN5/C6Tmydmi1rmvEieEhGQsjMyiiSoYgxISNxGFA==",
"requires": {
"micromark-factory-destination": "^1.0.0",
"micromark-factory-label": "^1.0.0",
"micromark-factory-space": "^1.0.0",
"micromark-factory-title": "^1.0.0",
"micromark-factory-whitespace": "^1.0.0",
"micromark-util-character": "^1.0.0",
"micromark-util-chunked": "^1.0.0",
"micromark-util-classify-character": "^1.0.0",
"micromark-util-html-tag-name": "^1.0.0",
"micromark-util-normalize-identifier": "^1.0.0",
"micromark-util-resolve-all": "^1.0.0",
"micromark-util-subtokenize": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.1",
"parse-entities": "^3.0.0",
"uvu": "^0.5.0"
}
},
"micromark-factory-destination": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz",
"integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==",
"requires": {
"micromark-util-character": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0"
}
},
"micromark-factory-label": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz",
"integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==",
"requires": {
"micromark-util-character": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0",
"uvu": "^0.5.0"
}
},
"micromark-factory-space": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz",
"integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==",
"requires": {
"micromark-util-character": "^1.0.0",
"micromark-util-types": "^1.0.0"
}
},
"micromark-factory-title": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz",
"integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==",
"requires": {
"micromark-factory-space": "^1.0.0",
"micromark-util-character": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0",
"uvu": "^0.5.0"
}
},
"micromark-factory-whitespace": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz",
"integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==",
"requires": {
"micromark-factory-space": "^1.0.0",
"micromark-util-character": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0"
}
},
"micromark-util-character": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz",
"integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==",
"requires": {
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0"
}
},
"micromark-util-chunked": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz",
"integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==",
"requires": {
"micromark-util-symbol": "^1.0.0"
}
},
"micromark-util-classify-character": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz",
"integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==",
"requires": {
"micromark-util-character": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0"
}
},
"micromark-util-combine-extensions": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz",
"integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==",
"requires": {
"micromark-util-chunked": "^1.0.0",
"micromark-util-types": "^1.0.0"
}
},
"micromark-util-decode-numeric-character-reference": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz",
"integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==",
"requires": {
"micromark-util-symbol": "^1.0.0"
}
},
"micromark-util-decode-string": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.1.tgz",
"integrity": "sha512-Wf3H6jLaO3iIlHEvblESXaKAr72nK7JtBbLLICPwuZc3eJkMcp4j8rJ5Xv1VbQWMCWWDvKUbVUbE2MfQNznwTA==",
"requires": {
"micromark-util-character": "^1.0.0",
"micromark-util-decode-numeric-character-reference": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"parse-entities": "^3.0.0"
}
},
"micromark-util-encode": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.0.tgz",
"integrity": "sha512-cJpFVM768h6zkd8qJ1LNRrITfY4gwFt+tziPcIf71Ui8yFzY9wG3snZQqiWVq93PG4Sw6YOtcNiKJfVIs9qfGg=="
},
"micromark-util-html-tag-name": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz",
"integrity": "sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g=="
},
"micromark-util-normalize-identifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz",
"integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==",
"requires": {
"micromark-util-symbol": "^1.0.0"
}
},
"micromark-util-resolve-all": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz",
"integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==",
"requires": {
"micromark-util-types": "^1.0.0"
}
},
"micromark-util-sanitize-uri": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz",
"integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==",
"requires": {
"micromark-util-character": "^1.0.0",
"micromark-util-encode": "^1.0.0",
"micromark-util-symbol": "^1.0.0"
}
},
"micromark-util-subtokenize": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
"integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==",
"requires": {
"micromark-util-chunked": "^1.0.0",
"micromark-util-symbol": "^1.0.0",
"micromark-util-types": "^1.0.0",
"uvu": "^0.5.0"
}
},
"micromark-util-symbol": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.0.tgz",
"integrity": "sha512-NZA01jHRNCt4KlOROn8/bGi6vvpEmlXld7EHcRH+aYWUfL3Wc8JLUNNlqUMKa0hhz6GrpUWsHtzPmKof57v0gQ=="
},
"micromark-util-types": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.1.tgz",
"integrity": "sha512-UT0ylWEEy80RFYzK9pEaugTqaxoD/j0Y9WhHpSyitxd99zjoQz7JJ+iKuhPAgOW2MiPSUAx+c09dcqokeyaROA=="
},
"micromatch": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
@ -10177,6 +10694,11 @@
}
}
},
"mri": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
"integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -10743,6 +11265,19 @@
"safe-buffer": "^5.1.1"
}
},
"parse-entities": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-3.0.0.tgz",
"integrity": "sha512-AJlcIFDNPEP33KyJLguv0xJc83BNvjxwpuUIcetyXUsLpVXAUCePJ5kIoYtEN2R1ac0cYaRu/vk9dVFkewHQhQ==",
"requires": {
"character-entities": "^2.0.0",
"character-entities-legacy": "^2.0.0",
"character-reference-invalid": "^2.0.0",
"is-alphanumerical": "^2.0.0",
"is-decimal": "^2.0.0",
"is-hexadecimal": "^2.0.0"
}
},
"parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@ -12090,6 +12625,11 @@
"react-is": "^16.8.1"
}
},
"property-information": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/property-information/-/property-information-6.0.1.tgz",
"integrity": "sha512-F4WUUAF7fMeF4/JUFHNBWDaKDXi2jbvqBW/y6o5wsf3j19wTZ7S60TmtB5HoBhtgw7NKQRMWuz5vk2PR0CygUg=="
},
"proxy-addr": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
@ -12417,6 +12957,34 @@
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"react-markdown": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-7.1.0.tgz",
"integrity": "sha512-hL8cLLkTydyoKlZWZOjlU6TvMYIw9qKLh1CCzVfnhKt/R/SnKVAqiyugetXY61CkjhBqJl2C5FdU3OwHYo7SrQ==",
"requires": {
"@types/hast": "^2.0.0",
"@types/unist": "^2.0.0",
"comma-separated-tokens": "^2.0.0",
"hast-util-whitespace": "^2.0.0",
"prop-types": "^15.0.0",
"property-information": "^6.0.0",
"react-is": "^17.0.0",
"remark-parse": "^10.0.0",
"remark-rehype": "^9.0.0",
"space-separated-tokens": "^2.0.0",
"style-to-object": "^0.3.0",
"unified": "^10.0.0",
"unist-util-visit": "^4.0.0",
"vfile": "^5.0.0"
},
"dependencies": {
"react-is": {
"version": "17.0.2",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz",
"integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w=="
}
}
},
"react-refresh": {
"version": "0.8.3",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz",
@ -12666,6 +13234,27 @@
"resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
"integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk="
},
"remark-parse": {
"version": "10.0.0",
"resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.0.tgz",
"integrity": "sha512-07ei47p2Xl7Bqbn9H2VYQYirnAFJPwdMuypdozWsSbnmrkgA2e2sZLZdnDNrrsxR4onmIzH/J6KXqKxCuqHtPQ==",
"requires": {
"@types/mdast": "^3.0.0",
"mdast-util-from-markdown": "^1.0.0",
"unified": "^10.0.0"
}
},
"remark-rehype": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-9.1.0.tgz",
"integrity": "sha512-oLa6YmgAYg19zb0ZrBACh40hpBLteYROaPLhBXzLgjqyHQrN+gVP9N/FJvfzuNNuzCutktkroXEZBrxAxKhh7Q==",
"requires": {
"@types/hast": "^2.0.0",
"@types/mdast": "^3.0.0",
"mdast-util-to-hast": "^11.0.0",
"unified": "^10.0.0"
}
},
"remove-trailing-separator": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@ -13047,6 +13636,14 @@
"aproba": "^1.1.1"
}
},
"sade": {
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/sade/-/sade-1.7.4.tgz",
"integrity": "sha512-y5yauMD93rX840MwUJr7C1ysLFBgMspsdTo4UVrDg3fXDvtwOyIqykhVAAm6fk/3au77773itJStObgK+LKaiA==",
"requires": {
"mri": "^1.1.0"
}
},
"safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
@ -13738,6 +14335,11 @@
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
},
"space-separated-tokens": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
"integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw=="
},
"spdx-correct": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz",
@ -14040,6 +14642,14 @@
"resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig=="
},
"strip-outer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/strip-outer/-/strip-outer-1.0.1.tgz",
"integrity": "sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==",
"requires": {
"escape-string-regexp": "^1.0.2"
}
},
"style-loader": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
@ -14049,6 +14659,14 @@
"schema-utils": "^2.7.0"
}
},
"style-to-object": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
"integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
"requires": {
"inline-style-parser": "0.1.1"
}
},
"stylehacks": {
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz",
@ -14450,6 +15068,11 @@
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw=="
},
"totalist": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/totalist/-/totalist-2.0.0.tgz",
"integrity": "sha512-+Y17F0YzxfACxTyjfhnJQEe7afPA0GSpYlFkl2VFMxYP7jshQf9gXV7cH47EfToBumFThfKBvfAcoUn6fdNeRQ=="
},
"tough-cookie": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
@ -14475,6 +15098,19 @@
"punycode": "^2.1.1"
}
},
"trim-repeated": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz",
"integrity": "sha1-42RqLqTokTEr9+rObPsFOAvAHCE=",
"requires": {
"escape-string-regexp": "^1.0.2"
}
},
"trough": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/trough/-/trough-2.0.2.tgz",
"integrity": "sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w=="
},
"tryer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz",
@ -14629,6 +15265,32 @@
"resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
"integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ=="
},
"unified": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/unified/-/unified-10.1.0.tgz",
"integrity": "sha512-4U3ru/BRXYYhKbwXV6lU6bufLikoAavTwev89H5UxY8enDFaAT2VXmIXYNm6hb5oHPng/EXr77PVyDFcptbk5g==",
"requires": {
"@types/unist": "^2.0.0",
"bail": "^2.0.0",
"extend": "^3.0.0",
"is-buffer": "^2.0.0",
"is-plain-obj": "^4.0.0",
"trough": "^2.0.0",
"vfile": "^5.0.0"
},
"dependencies": {
"is-buffer": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
"integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
},
"is-plain-obj": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz",
"integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw=="
}
}
},
"union-value": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@ -14674,6 +15336,67 @@
"crypto-random-string": "^1.0.0"
}
},
"unist-builder": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
"integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
"requires": {
"@types/unist": "^2.0.0"
}
},
"unist-util-generated": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
"integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw=="
},
"unist-util-is": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
"integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
},
"unist-util-position": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.1.tgz",
"integrity": "sha512-mgy/zI9fQ2HlbOtTdr2w9lhVaiFUHWQnZrFF2EUoVOqtAUdzqMtNiD99qA5a1IcjWVR8O6aVYE9u7Z2z1v0SQA=="
},
"unist-util-stringify-position": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.0.tgz",
"integrity": "sha512-SdfAl8fsDclywZpfMDTVDxA2V7LjtRDTOFd44wUJamgl6OlVngsqWjxvermMYf60elWHbxhuRCZml7AnuXCaSA==",
"requires": {
"@types/unist": "^2.0.0"
}
},
"unist-util-visit": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz",
"integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==",
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^5.0.0",
"unist-util-visit-parents": "^5.0.0"
},
"dependencies": {
"unist-util-visit-parents": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz",
"integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==",
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^5.0.0"
}
}
}
},
"unist-util-visit-parents": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz",
"integrity": "sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==",
"requires": {
"@types/unist": "^2.0.0",
"unist-util-is": "^5.0.0"
}
},
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
@ -14847,6 +15570,25 @@
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"optional": true
},
"uvu": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.2.tgz",
"integrity": "sha512-m2hLe7I2eROhh+tm3WE5cTo/Cv3WQA7Oc9f7JB6uWv+/zVKvfAm53bMyOoGOSZeQ7Ov2Fu9pLhFr7p07bnT20w==",
"requires": {
"dequal": "^2.0.0",
"diff": "^5.0.0",
"kleur": "^4.0.3",
"sade": "^1.7.3",
"totalist": "^2.0.0"
},
"dependencies": {
"kleur": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.4.tgz",
"integrity": "sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA=="
}
}
},
"v8-compile-cache": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
@ -14888,6 +15630,33 @@
"resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
"integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w=="
},
"vfile": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/vfile/-/vfile-5.1.1.tgz",
"integrity": "sha512-sfI+3MnGUodvAE2s3hXCcJxhcymXQgekdgqNf9WMcmWtZU65tPMaml5eGYREJfMJGHr4/0GPZgrN3UMgWjHXSQ==",
"requires": {
"@types/unist": "^2.0.0",
"is-buffer": "^2.0.0",
"unist-util-stringify-position": "^3.0.0",
"vfile-message": "^3.0.0"
},
"dependencies": {
"is-buffer": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
"integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
}
}
},
"vfile-message": {
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.0.2.tgz",
"integrity": "sha512-UUjZYIOg9lDRwwiBAuezLIsu9KlXntdxwG+nXnjuQAHvBpcX3x0eN8h+I7TkY5nkCXj+cWVp4ZqebtGBvok8ww==",
"requires": {
"@types/unist": "^2.0.0",
"unist-util-stringify-position": "^3.0.0"
}
},
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",

@ -6,10 +6,12 @@
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3",
"csv-string": "^4.0.1",
"evergreen-ui": "^6.5.1",
"gh-pages": "^3.2.3",
"react": "^17.0.2",
"react-dom": "^17.0.2",
"react-markdown": "^7.1.0",
"react-scripts": "4.0.3",
"web-vitals": "^1.1.2"
},

@ -1,6 +1,6 @@
{
"short_name": "React App",
"name": "Create React App Sample",
"short_name": "App Ideas",
"name": "Application Ideas",
"icons": [
{
"src": "favicon.ico",

@ -2,4 +2,5 @@ html,
body,
#root {
height: 100%;
background-color: #fafbff;
}

@ -2,11 +2,21 @@ import './App.css';
import { Tablist, Tab, Pane, Link } from 'evergreen-ui';
import React from 'react';
import Home from './Home';
import Projects from './Projects';
export default function App() {
const [selectedIndex, setSelectedIndex] = React.useState(0);
const tabs = ['Home', 'Tier 1', 'Tier 2', 'Tier 3'];
const pages = [<Home></Home>];
var loadTab = tabs.indexOf(
decodeURIComponent(window.location.hash.substring(1))
);
loadTab = loadTab === -1 ? 0 : loadTab;
const [selectedIndex, setSelectedIndex] = React.useState(loadTab || 0);
const pages = [
<Home></Home>,
<Projects tier="1-Beginner"></Projects>,
<Projects tier="2-Intermediate"></Projects>,
<Projects tier="3-Advanced"></Projects>,
];
return (
<>
<Pane backgroundColor={selectedIndex === 0 ? '#FFDB14' : '#FAFBFF'}>
@ -20,8 +30,12 @@ export default function App() {
{tabs.map((tab, index) => (
<Tab
key={tab}
id={tab}
onSelect={() => setSelectedIndex(index)}
// id={tab}
onSelect={() => {
window.location.hash =
'#' + encodeURIComponent(tab);
setSelectedIndex(index);
}}
isSelected={index === selectedIndex}
aria-controls={`panel-${tab}`}
>
@ -50,22 +64,21 @@ export default function App() {
>
<path
fill="#5863f8"
fill-opacity="1"
d="M0,128L60,122.7C120,117,240,107,360,117.3C480,128,600,160,720,181.3C840,203,960,213,1080,192C1200,171,1320,117,1380,90.7L1440,64L1440,0L1380,0C1320,0,1200,0,1080,0C960,0,840,0,720,0C600,0,480,0,360,0C240,0,120,0,60,0L0,0Z"
></path>
</svg>
</Pane>
<Pane background="tint1" flex="1" paddingBottom="2rem">
{pages.map((page, index) => (
{tabs.map((tab, index) => (
<Pane
key={page}
id={`panel-${page}`}
key={tab}
id={`panel-${tab}`}
role="tabpanel"
aria-labelledby={page}
aria-labelledby={tab}
aria-hidden={index !== selectedIndex}
display={index === selectedIndex ? 'block' : 'none'}
>
{page}
{pages[index]}
</Pane>
))}
</Pane>

@ -25,7 +25,6 @@ export default function Home() {
>
<path
fill="#FFDB14"
fill-opacity="1"
d="M0,256L60,240C120,224,240,192,360,154.7C480,117,600,75,720,53.3C840,32,960,32,1080,42.7C1200,53,1320,75,1380,85.3L1440,96L1440,0L1380,0C1320,0,1200,0,1080,0C960,0,840,0,720,0C600,0,480,0,360,0C240,0,120,0,60,0L0,0Z"
></path>
</svg>
@ -116,48 +115,48 @@ export default function Home() {
</Table.Head>
<Table.Body>
<Table.Row height="fit-content" padding="0.5rem">
<Table.Cell
<Table.TextCell
flexBasis="2rem"
flexShrink={0}
flexGrow={0}
>
1
</Table.Cell>
<Table.Cell>
</Table.TextCell>
<Table.TextCell>
Developers in the early stages of their learning
journey. Those who are typically focused on
creating user-facing applications.
</Table.Cell>
</Table.TextCell>
</Table.Row>
<Table.Row height="fit-content" padding="0.5rem">
<Table.Cell
<Table.TextCell
flexBasis="2rem"
flexShrink={0}
flexGrow={0}
>
2
</Table.Cell>
<Table.Cell>
</Table.TextCell>
<Table.TextCell>
Developers at an intermediate stage of learning
and experience. They are comfortable in UI/UX,
using development tools, and building apps that
use API services.
</Table.Cell>
</Table.TextCell>
</Table.Row>
<Table.Row height="fit-content" padding="0.5rem">
<Table.Cell
<Table.TextCell
flexBasis="2rem"
flexShrink={0}
flexGrow={0}
>
3
</Table.Cell>
<Table.Cell>
</Table.TextCell>
<Table.TextCell>
Developers who have all of the above, and are
learning more advanced techniques like
implementing backend applications and database
services.
</Table.Cell>
</Table.TextCell>
</Table.Row>
</Table.Body>
</Table>

@ -0,0 +1,89 @@
Name ,ID ,Short Description ,Tier
Bin2Dec ,Bin2Dec-App ,Binary-to-Decimal number converter ,1-Beginner
Border Radius Previewer ,Border-Radius-Previewer ,Preview how CSS3 border-radius values affect an element ,1-Beginner
Calculator ,Calculator-App ,Calculator ,1-Beginner
Christmas Lights ,Christmas-Lights-App ,Simulate a string of Christmas lights ,1-Beginner
Cause Effect App ,Cause-Effect-App ,Click list item to display item details ,1-Beginner
Color Cycle ,Color-Cycle-App ,Cycle a color value through incremental changes ,1-Beginner
Countdown Timer ,Countdown-Timer-App ,Event Countdown timer ,1-Beginner
CSV2JSON App ,CSV2JSON-App ,CSV to JSON converter ,1-Beginner
Dollars to Cents ,Dollars-To-Cents-App ,Convert dollars to cents ,1-Beginner
Dynamic CSS Variables ,Dynamic-CSSVar-app ,Dynamically change CSS variable settings ,1-Beginner
First DB App ,First-DB-App ,Your first Database app! ,1-Beginner
Flip Image ,Flip-Image-App ,Change the orientation of images across two axes ,1-Beginner
GitHub Status ,GitHub-Status-App ,Display Current GitHub Status ,1-Beginner
Hello ,Hello-App ,User native language greeting ,1-Beginner
IOT Mailbox Simulator ,IOT-Mailbox-App ,Use callbacks to check your snail mail ,1-Beginner
JS Input Validation ,Javascript-Validation-With-Regex ,Script to validate inputs entered by a user using RegEx ,1-Beginner
JSON2CSV App ,JSON2CSV-App ,JSON to CSV converter ,1-Beginner
Key Value ,Key-Value-App ,Keyboard Event Values ,1-Beginner
Lorem Ipsum Generator ,Lorem-Ipsum-Generator ,Generate lorem ipsum placeholder text ,1-Beginner
Notes App ,Notes-App ,Create an online note pad ,1-Beginner
Pearson Regression ,Pearson-Regression-App ,Calculate the correlation coefficient for two sets of data ,1-Beginner
Pomodoro Clock ,Pomodoro-Clock ,Task timer to aid personal productivity ,1-Beginner
Product Landing Page ,Product-Landing-Page ,Showcase product details for possible buyers ,1-Beginner
Quiz App ,Quiz-App ,Test your knowledge by answering questions ,1-Beginner
Recipe App ,Recipe-App ,Recipe ,1-Beginner
Random Meal Generator ,Random-Number-Generator ,Generate random meals ,1-Beginner
Random Number Generator ,Random-Meal-Generator ,Generate random number between range. ,1-Beginner
Roman to Decimal Converter ,Roman-to-Decimal-Converter ,Convert Roman to Decimal numbers ,1-Beginner
Slider Design ,Slider-Design ,Display images using a slider control ,1-Beginner
Stopwatch App ,Stopwatch-App ,Count time spent on activities ,1-Beginner
TrueOrFalse ,True-or-False-App ,Identify the result of a conditional comparison ,1-Beginner
Vigenere Cipher ,Vigenere-Cipher ,Encrypt text using the Vigenere Cypher ,1-Beginner
Wind Chill ,Windchill-App ,Calculate the windchill factor from an actual temperature ,1-Beginner
Word Frequency ,Word-Frequency-App ,Calculate word frequency in a block of text ,1-Beginner
Weather App ,Weather-App ,Get the temperature and weather condition of a city. ,1-Beginner
Bit Masks ,Bit-Masks-App ,Using Bit Masks for Conditions ,2-Intermediate
Book Finder App ,Book-Finder-App ,Search for books by multiple criteria ,2-Intermediate
Calculator CLI ,Calculator-CLI ,Create a basic calculator cli. ,2-Intermediate
Card Memory Game ,Card-Memory-Game ,Memorize and match hidden images ,2-Intermediate
Charity Finder App ,Charity-Finder-App ,Find a Global Charity to donate to ,2-Intermediate
Chrome Theme Extension ,Chrome-Theme-Extension ,Build your own chrome theme extention. ,2-Intermediate
Currency Converter ,Currency-Converter ,Convert one currency to another. ,2-Intermediate
Drawing App ,Drawing-App ,Create digital artwork on the web ,2-Intermediate
Emoji Translator App ,Emoji-Translator-App ,Translate sentences into Emoji ,2-Intermediate
Flashcards App ,FlashCards-App ,Review and test your knowledge through Flash Cards ,2-Intermediate
Flip Art App ,Flip-Art-App ,Animate a set of images ,2-Intermediate
Game Suggestion App ,Game-Suggestion-App ,Create polls to decide what games to play ,2-Intermediate
GitHub Profiles ,GitHub-Profiles ,A GitHub user search App ,2-Intermediate
HighStriker Game ,HighStriker-Game ,Highstriker strongman carnival game ,2-Intermediate
Image Scanner ,Image-Scaner ,Image Scanner App ,2-Intermediate
Markdown Previewer ,Markdown-Previewer ,Preview text formatted in GitHub flavored markdown ,2-Intermediate
Markdown Table Generator ,Markdown-Table-Generator ,Convert a table into Markdown-formatted text ,2-Intermediate
Math Editor ,math-editor ,A math editor for students to use ,2-Intermediate
Meme Generator App ,Meme-Generator-App ,Create custom memes ,2-Intermediate
Name Generation using RNNs ,Name-Generator ,Generate names using names dataset ,2-Intermediate
Password Generator ,Password-Generator ,Generate random passwords ,2-Intermediate
Podcast Directory ,Podcast-Directory-App ,Directory of favorite podcasts ,2-Intermediate
QR Code Badge Generator ,QRCode-Badge-App ,Encode badge info in a QRcode ,2-Intermediate
Regular Expression Helper ,RegExp-Helper-App ,Test Regular Expressions ,2-Intermediate
Sales Reciepts App ,Sales-DB-App ,Record Sales Receipts in a DB ,2-Intermediate
Simple Online Store ,Simple-Online-Store ,Simple Online Store ,2-Intermediate
Sports Bracket Generator ,Sports-Bracket-Generator ,Generate a sports bracket diagram ,2-Intermediate
String Art ,String-Art ,An animation of colored strings ,2-Intermediate
This or That Game ,This-or-That-Game ,This or That Game ,2-Intermediate
Timezone Slackbot ,Timezone-Slackbot ,Display Team Timezones ,2-Intermediate
To-Do App ,To-Do-App ,Manage personal to-do tasks ,2-Intermediate
Typing Practice ,Typing-Practice-App ,Typing Practice ,2-Intermediate
Voting App ,Voting-App ,Voting App ,2-Intermediate
Battleship Bot ,Battleship-Bot ,Create a Discord bot that plays Battleship ,3-Advanced
Battleship Game Engine ,Battleship-Game-Engine ,Create a callable engine to play the Battleship game ,3-Advanced
Boole Bots Game ,Boole-Bot-Game ,Battling Bots driven by Boolean algebra ,3-Advanced
Calendar ,Bug-Race-Game ,Create your own Calendar ,3-Advanced
Calorie Counter ,Calorie-Counter-App ,Calorie Counter Nutrition App ,3-Advanced
Chat App ,Chat-App ,Real-time chat interface ,3-Advanced
Contribution Tracker App ,Contribution-Tracker-App ,Track funds donated to charity ,3-Advanced
Elevator ,Elevator-App ,Elevator simulator ,3-Advanced
Fast Food Simulator ,FastFood-App ,Fast Food Restaurant Simulator ,3-Advanced
Instagram Clone ,Instagram-Clone-App ,A clone of Facebook's Instagram app ,3-Advanced
GitHub Timeline ,GitHub-Timeline-App ,Generate a timeline of a users GitHub Repos ,3-Advanced
Kudos Slackbot ,Kudos-Slackbot ,Give recognition to a deserving peer ,3-Advanced
Movie App ,Movie-App ,Browse&#44; Find Ratings&#44; Check Actors and Find you next movie to watch ,3-Advanced
MyPodcast Library ,MyPodcast-Library-app ,Create a library of favorite podcasts ,3-Advanced
NASA Exoplanet Query ,NASA-Exoplanet-Query ,Query NASA's Exoplanet Archive ,3-Advanced
Shell Game ,Shell-Game ,Animated shell game ,3-Advanced
Shuffle Deck ,Shuffle-Deck-App ,Evaluate different algorithms for shuffling a card deck ,3-Advanced
Slack Archiver ,Slack-Archiver ,Archive Slack Messages ,3-Advanced
Spell-It App ,SpellIt-App ,A twist on the classic Speak N Spell game ,3-Advanced
Survey App ,Survey-App ,Define&#44; conduct&#44; and view a survey ,3-Advanced
1 Name ID Short Description Tier
2 Bin2Dec Bin2Dec-App Binary-to-Decimal number converter 1-Beginner
3 Border Radius Previewer Border-Radius-Previewer Preview how CSS3 border-radius values affect an element 1-Beginner
4 Calculator Calculator-App Calculator 1-Beginner
5 Christmas Lights Christmas-Lights-App Simulate a string of Christmas lights 1-Beginner
6 Cause Effect App Cause-Effect-App Click list item to display item details 1-Beginner
7 Color Cycle Color-Cycle-App Cycle a color value through incremental changes 1-Beginner
8 Countdown Timer Countdown-Timer-App Event Countdown timer 1-Beginner
9 CSV2JSON App CSV2JSON-App CSV to JSON converter 1-Beginner
10 Dollars to Cents Dollars-To-Cents-App Convert dollars to cents 1-Beginner
11 Dynamic CSS Variables Dynamic-CSSVar-app Dynamically change CSS variable settings 1-Beginner
12 First DB App First-DB-App Your first Database app! 1-Beginner
13 Flip Image Flip-Image-App Change the orientation of images across two axes 1-Beginner
14 GitHub Status GitHub-Status-App Display Current GitHub Status 1-Beginner
15 Hello Hello-App User native language greeting 1-Beginner
16 IOT Mailbox Simulator IOT-Mailbox-App Use callbacks to check your snail mail 1-Beginner
17 JS Input Validation Javascript-Validation-With-Regex Script to validate inputs entered by a user using RegEx 1-Beginner
18 JSON2CSV App JSON2CSV-App JSON to CSV converter 1-Beginner
19 Key Value Key-Value-App Keyboard Event Values 1-Beginner
20 Lorem Ipsum Generator Lorem-Ipsum-Generator Generate lorem ipsum placeholder text 1-Beginner
21 Notes App Notes-App Create an online note pad 1-Beginner
22 Pearson Regression Pearson-Regression-App Calculate the correlation coefficient for two sets of data 1-Beginner
23 Pomodoro Clock Pomodoro-Clock Task timer to aid personal productivity 1-Beginner
24 Product Landing Page Product-Landing-Page Showcase product details for possible buyers 1-Beginner
25 Quiz App Quiz-App Test your knowledge by answering questions 1-Beginner
26 Recipe App Recipe-App Recipe 1-Beginner
27 Random Meal Generator Random-Number-Generator Generate random meals 1-Beginner
28 Random Number Generator Random-Meal-Generator Generate random number between range. 1-Beginner
29 Roman to Decimal Converter Roman-to-Decimal-Converter Convert Roman to Decimal numbers 1-Beginner
30 Slider Design Slider-Design Display images using a slider control 1-Beginner
31 Stopwatch App Stopwatch-App Count time spent on activities 1-Beginner
32 TrueOrFalse True-or-False-App Identify the result of a conditional comparison 1-Beginner
33 Vigenere Cipher Vigenere-Cipher Encrypt text using the Vigenere Cypher 1-Beginner
34 Wind Chill Windchill-App Calculate the windchill factor from an actual temperature 1-Beginner
35 Word Frequency Word-Frequency-App Calculate word frequency in a block of text 1-Beginner
36 Weather App Weather-App Get the temperature and weather condition of a city. 1-Beginner
37 Bit Masks Bit-Masks-App Using Bit Masks for Conditions 2-Intermediate
38 Book Finder App Book-Finder-App Search for books by multiple criteria 2-Intermediate
39 Calculator CLI Calculator-CLI Create a basic calculator cli. 2-Intermediate
40 Card Memory Game Card-Memory-Game Memorize and match hidden images 2-Intermediate
41 Charity Finder App Charity-Finder-App Find a Global Charity to donate to 2-Intermediate
42 Chrome Theme Extension Chrome-Theme-Extension Build your own chrome theme extention. 2-Intermediate
43 Currency Converter Currency-Converter Convert one currency to another. 2-Intermediate
44 Drawing App Drawing-App Create digital artwork on the web 2-Intermediate
45 Emoji Translator App Emoji-Translator-App Translate sentences into Emoji 2-Intermediate
46 Flashcards App FlashCards-App Review and test your knowledge through Flash Cards 2-Intermediate
47 Flip Art App Flip-Art-App Animate a set of images 2-Intermediate
48 Game Suggestion App Game-Suggestion-App Create polls to decide what games to play 2-Intermediate
49 GitHub Profiles GitHub-Profiles A GitHub user search App 2-Intermediate
50 HighStriker Game HighStriker-Game Highstriker strongman carnival game 2-Intermediate
51 Image Scanner Image-Scaner Image Scanner App 2-Intermediate
52 Markdown Previewer Markdown-Previewer Preview text formatted in GitHub flavored markdown 2-Intermediate
53 Markdown Table Generator Markdown-Table-Generator Convert a table into Markdown-formatted text 2-Intermediate
54 Math Editor math-editor A math editor for students to use 2-Intermediate
55 Meme Generator App Meme-Generator-App Create custom memes 2-Intermediate
56 Name Generation using RNNs Name-Generator Generate names using names dataset 2-Intermediate
57 Password Generator Password-Generator Generate random passwords 2-Intermediate
58 Podcast Directory Podcast-Directory-App Directory of favorite podcasts 2-Intermediate
59 QR Code Badge Generator QRCode-Badge-App Encode badge info in a QRcode 2-Intermediate
60 Regular Expression Helper RegExp-Helper-App Test Regular Expressions 2-Intermediate
61 Sales Reciepts App Sales-DB-App Record Sales Receipts in a DB 2-Intermediate
62 Simple Online Store Simple-Online-Store Simple Online Store 2-Intermediate
63 Sports Bracket Generator Sports-Bracket-Generator Generate a sports bracket diagram 2-Intermediate
64 String Art String-Art An animation of colored strings 2-Intermediate
65 This or That Game This-or-That-Game This or That Game 2-Intermediate
66 Timezone Slackbot Timezone-Slackbot Display Team Timezones 2-Intermediate
67 To-Do App To-Do-App Manage personal to-do tasks 2-Intermediate
68 Typing Practice Typing-Practice-App Typing Practice 2-Intermediate
69 Voting App Voting-App Voting App 2-Intermediate
70 Battleship Bot Battleship-Bot Create a Discord bot that plays Battleship 3-Advanced
71 Battleship Game Engine Battleship-Game-Engine Create a callable engine to play the Battleship game 3-Advanced
72 Boole Bots Game Boole-Bot-Game Battling Bots driven by Boolean algebra 3-Advanced
73 Calendar Bug-Race-Game Create your own Calendar 3-Advanced
74 Calorie Counter Calorie-Counter-App Calorie Counter Nutrition App 3-Advanced
75 Chat App Chat-App Real-time chat interface 3-Advanced
76 Contribution Tracker App Contribution-Tracker-App Track funds donated to charity 3-Advanced
77 Elevator Elevator-App Elevator simulator 3-Advanced
78 Fast Food Simulator FastFood-App Fast Food Restaurant Simulator 3-Advanced
79 Instagram Clone Instagram-Clone-App A clone of Facebook's Instagram app 3-Advanced
80 GitHub Timeline GitHub-Timeline-App Generate a timeline of a users GitHub Repos 3-Advanced
81 Kudos Slackbot Kudos-Slackbot Give recognition to a deserving peer 3-Advanced
82 Movie App Movie-App Browse&#44; Find Ratings&#44; Check Actors and Find you next movie to watch 3-Advanced
83 MyPodcast Library MyPodcast-Library-app Create a library of favorite podcasts 3-Advanced
84 NASA Exoplanet Query NASA-Exoplanet-Query Query NASA's Exoplanet Archive 3-Advanced
85 Shell Game Shell-Game Animated shell game 3-Advanced
86 Shuffle Deck Shuffle-Deck-App Evaluate different algorithms for shuffling a card deck 3-Advanced
87 Slack Archiver Slack-Archiver Archive Slack Messages 3-Advanced
88 Spell-It App SpellIt-App A twist on the classic Speak N Spell game 3-Advanced
89 Survey App Survey-App Define&#44; conduct&#44; and view a survey 3-Advanced

@ -0,0 +1,83 @@
import { Pane, SideSheet, Spinner, Table } from 'evergreen-ui';
import { parse } from 'csv-string';
import ProjectsCSV from './Projects.csv';
import { useState } from 'react';
import ReactMarkdown from 'react-markdown';
export default function Projects({ tier }) {
const [data, setData] = useState([]);
const [isShown, setIsShown] = useState(false);
const [content, setContent] = useState(undefined);
fetch(ProjectsCSV).then(async (res) => {
setData(parse(await res.text()));
});
return (
<Pane>
<SideSheet
isShown={isShown}
onCloseComplete={() => {
setIsShown(false);
setContent(undefined);
}}
>
{content || <Spinner margin="auto" marginTop="1rem" />}
</SideSheet>
<Table width="fit-content" margin="auto">
<Table.Head>
{data[0]?.map((cell, i) => {
if (i === 1) {
return '';
}
return (
<Table.TextHeaderCell key={i}>
{cell}
</Table.TextHeaderCell>
);
})}
</Table.Head>
<Table.Body>
{data.map((row, i) => {
if (i === 0) {
return '';
}
if (row[3] !== tier) {
return '';
}
return (
<Table.Row
key={i}
height="fit-content"
padding="0.5rem"
isSelectable
onSelect={() => {
setContent(undefined);
setIsShown(true);
fetch(
`./Projects/${row[3].trim()}/${row[1].trim()}.md`
).then(async (res) => {
setContent(
<ReactMarkdown>
{await res.text()}
</ReactMarkdown>
);
});
}}
>
{row.map((cell, j) => {
if (j === 1) {
return '';
}
return (
<Table.TextCell key={j}>
{cell}
</Table.TextCell>
);
})}
</Table.Row>
);
})}
</Table.Body>
</Table>
</Pane>
);
}
Loading…
Cancel
Save