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" "@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": { "@types/eslint": {
"version": "7.28.2", "version": "7.28.2",
"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-7.28.2.tgz",
@ -2289,6 +2297,14 @@
"@types/node": "*" "@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": { "@types/html-minifier-terser": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz", "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", "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
"integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=" "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": { "@types/minimatch": {
"version": "3.0.5", "version": "3.0.5",
"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz",
"integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" "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": { "@types/node": {
"version": "16.11.6", "version": "16.11.6",
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.6.tgz", "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": { "@types/webpack": {
"version": "4.41.31", "version": "4.41.31",
"resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.31.tgz", "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", "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
"integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" "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": { "balanced-match": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "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", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
"integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" "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": { "check-types": {
"version": "11.1.2", "version": "11.1.2",
"resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.1.2.tgz",
@ -4335,6 +4394,11 @@
"delayed-stream": "~1.0.0" "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": { "commander": {
"version": "4.1.1", "version": "4.1.1",
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "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", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.9.tgz",
"integrity": "sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==" "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": { "cyclist": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "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", "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" "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": { "des.js": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", "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": { "diff-sequences": {
"version": "26.6.2", "version": "26.6.2",
"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-26.6.2.tgz", "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": { "emittery": {
"version": "0.7.2", "version": "0.7.2",
"resolved": "https://registry.npmjs.org/emittery/-/emittery-0.7.2.tgz", "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": { "extend-shallow": {
"version": "3.0.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", "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": { "filesize": {
"version": "6.1.0", "version": "6.1.0",
"resolved": "https://registry.npmjs.org/filesize/-/filesize-6.1.0.tgz", "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", "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
"integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" "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": { "glamor": {
"version": "2.20.40", "version": "2.20.40",
"resolved": "https://registry.npmjs.org/glamor/-/glamor-2.20.40.tgz", "resolved": "https://registry.npmjs.org/glamor/-/glamor-2.20.40.tgz",
@ -7284,6 +7488,11 @@
"minimalistic-assert": "^1.0.1" "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": { "he": {
"version": "1.2.0", "version": "1.2.0",
"resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", "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", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz",
"integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" "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": { "inline-style-prefixer": {
"version": "3.0.8", "version": "3.0.8",
"resolved": "https://registry.npmjs.org/inline-style-prefixer/-/inline-style-prefixer-3.0.8.tgz", "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": { "is-arguments": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
@ -7936,6 +8164,11 @@
"has-tostringtag": "^1.0.0" "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": { "is-descriptor": {
"version": "0.1.6", "version": "0.1.6",
"resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
@ -7991,6 +8224,11 @@
"is-extglob": "^2.1.1" "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": { "is-module": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
@ -9908,11 +10146,78 @@
"safe-buffer": "^5.1.2" "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": { "mdn-data": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz",
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==" "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": { "media-typer": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "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", "resolved": "https://registry.npmjs.org/microevent.ts/-/microevent.ts-0.1.1.tgz",
"integrity": "sha512-jo1OfR4TaEwd5HOrt5+tAZ9mqT4jmpNAusXtyfNzqVm9uiSYFZlKM1wYL4oU7azZW/PxQW53wM0S6OR1JHNa2g==" "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": { "micromatch": {
"version": "4.0.4", "version": "4.0.4",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", "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": { "ms": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
@ -10743,6 +11265,19 @@
"safe-buffer": "^5.1.1" "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": { "parse-json": {
"version": "5.2.0", "version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@ -12090,6 +12625,11 @@
"react-is": "^16.8.1" "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": { "proxy-addr": {
"version": "2.0.7", "version": "2.0.7",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", "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", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" "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": { "react-refresh": {
"version": "0.8.3", "version": "0.8.3",
"resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.8.3.tgz", "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", "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
"integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=" "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": { "remove-trailing-separator": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
@ -13047,6 +13636,14 @@
"aproba": "^1.1.1" "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": { "safe-buffer": {
"version": "5.1.2", "version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "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", "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" "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": { "spdx-correct": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", "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", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
"integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==" "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": { "style-loader": {
"version": "1.3.0", "version": "1.3.0",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz", "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.3.0.tgz",
@ -14049,6 +14659,14 @@
"schema-utils": "^2.7.0" "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": { "stylehacks": {
"version": "4.0.3", "version": "4.0.3",
"resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", "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", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" "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": { "tough-cookie": {
"version": "4.0.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
@ -14475,6 +15098,19 @@
"punycode": "^2.1.1" "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": { "tryer": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", "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", "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz",
"integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==" "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": { "union-value": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz",
@ -14674,6 +15336,67 @@
"crypto-random-string": "^1.0.0" "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": { "universalify": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
@ -14847,6 +15570,25 @@
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"optional": true "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": { "v8-compile-cache": {
"version": "2.3.0", "version": "2.3.0",
"resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", "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", "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz",
"integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" "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": { "vm-browserify": {
"version": "1.1.2", "version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", "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/jest-dom": "^5.14.1",
"@testing-library/react": "^11.2.7", "@testing-library/react": "^11.2.7",
"@testing-library/user-event": "^12.8.3", "@testing-library/user-event": "^12.8.3",
"csv-string": "^4.0.1",
"evergreen-ui": "^6.5.1", "evergreen-ui": "^6.5.1",
"gh-pages": "^3.2.3", "gh-pages": "^3.2.3",
"react": "^17.0.2", "react": "^17.0.2",
"react-dom": "^17.0.2", "react-dom": "^17.0.2",
"react-markdown": "^7.1.0",
"react-scripts": "4.0.3", "react-scripts": "4.0.3",
"web-vitals": "^1.1.2" "web-vitals": "^1.1.2"
}, },

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

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

@ -2,11 +2,21 @@ import './App.css';
import { Tablist, Tab, Pane, Link } from 'evergreen-ui'; import { Tablist, Tab, Pane, Link } from 'evergreen-ui';
import React from 'react'; import React from 'react';
import Home from './Home'; import Home from './Home';
import Projects from './Projects';
export default function App() { export default function App() {
const [selectedIndex, setSelectedIndex] = React.useState(0);
const tabs = ['Home', 'Tier 1', 'Tier 2', 'Tier 3']; 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 ( return (
<> <>
<Pane backgroundColor={selectedIndex === 0 ? '#FFDB14' : '#FAFBFF'}> <Pane backgroundColor={selectedIndex === 0 ? '#FFDB14' : '#FAFBFF'}>
@ -20,8 +30,12 @@ export default function App() {
{tabs.map((tab, index) => ( {tabs.map((tab, index) => (
<Tab <Tab
key={tab} key={tab}
id={tab} // id={tab}
onSelect={() => setSelectedIndex(index)} onSelect={() => {
window.location.hash =
'#' + encodeURIComponent(tab);
setSelectedIndex(index);
}}
isSelected={index === selectedIndex} isSelected={index === selectedIndex}
aria-controls={`panel-${tab}`} aria-controls={`panel-${tab}`}
> >
@ -50,22 +64,21 @@ export default function App() {
> >
<path <path
fill="#5863f8" 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" 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> ></path>
</svg> </svg>
</Pane> </Pane>
<Pane background="tint1" flex="1" paddingBottom="2rem"> <Pane background="tint1" flex="1" paddingBottom="2rem">
{pages.map((page, index) => ( {tabs.map((tab, index) => (
<Pane <Pane
key={page} key={tab}
id={`panel-${page}`} id={`panel-${tab}`}
role="tabpanel" role="tabpanel"
aria-labelledby={page} aria-labelledby={tab}
aria-hidden={index !== selectedIndex} aria-hidden={index !== selectedIndex}
display={index === selectedIndex ? 'block' : 'none'} display={index === selectedIndex ? 'block' : 'none'}
> >
{page} {pages[index]}
</Pane> </Pane>
))} ))}
</Pane> </Pane>

@ -25,7 +25,6 @@ export default function Home() {
> >
<path <path
fill="#FFDB14" 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" 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> ></path>
</svg> </svg>
@ -116,48 +115,48 @@ export default function Home() {
</Table.Head> </Table.Head>
<Table.Body> <Table.Body>
<Table.Row height="fit-content" padding="0.5rem"> <Table.Row height="fit-content" padding="0.5rem">
<Table.Cell <Table.TextCell
flexBasis="2rem" flexBasis="2rem"
flexShrink={0} flexShrink={0}
flexGrow={0} flexGrow={0}
> >
1 1
</Table.Cell> </Table.TextCell>
<Table.Cell> <Table.TextCell>
Developers in the early stages of their learning Developers in the early stages of their learning
journey. Those who are typically focused on journey. Those who are typically focused on
creating user-facing applications. creating user-facing applications.
</Table.Cell> </Table.TextCell>
</Table.Row> </Table.Row>
<Table.Row height="fit-content" padding="0.5rem"> <Table.Row height="fit-content" padding="0.5rem">
<Table.Cell <Table.TextCell
flexBasis="2rem" flexBasis="2rem"
flexShrink={0} flexShrink={0}
flexGrow={0} flexGrow={0}
> >
2 2
</Table.Cell> </Table.TextCell>
<Table.Cell> <Table.TextCell>
Developers at an intermediate stage of learning Developers at an intermediate stage of learning
and experience. They are comfortable in UI/UX, and experience. They are comfortable in UI/UX,
using development tools, and building apps that using development tools, and building apps that
use API services. use API services.
</Table.Cell> </Table.TextCell>
</Table.Row> </Table.Row>
<Table.Row height="fit-content" padding="0.5rem"> <Table.Row height="fit-content" padding="0.5rem">
<Table.Cell <Table.TextCell
flexBasis="2rem" flexBasis="2rem"
flexShrink={0} flexShrink={0}
flexGrow={0} flexGrow={0}
> >
3 3
</Table.Cell> </Table.TextCell>
<Table.Cell> <Table.TextCell>
Developers who have all of the above, and are Developers who have all of the above, and are
learning more advanced techniques like learning more advanced techniques like
implementing backend applications and database implementing backend applications and database
services. services.
</Table.Cell> </Table.TextCell>
</Table.Row> </Table.Row>
</Table.Body> </Table.Body>
</Table> </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