├── .gitignore ├── .npmrc ├── .vscode ├── launch.json └── settings.json ├── LICENSE ├── README.md ├── data ├── blogs.js ├── learningPlatforms.js ├── playlists │ ├── angular4-hebrew.js │ ├── automationcourse-java.js │ ├── basic-sql-hebrew.js │ ├── beau-teaches-javascript.js │ ├── cpp-oop-hebrew.js │ ├── deeplizard-machine-learning.js │ ├── es6inhebrew.js │ ├── hightech-react.js │ ├── htmlcssbeginners.js │ ├── index.js │ ├── js-videotutorial.js │ ├── laravelFromscratch.js │ ├── learncodeacadamy-react.js │ ├── linux-onlineschool.js │ ├── onlineschool-aspnet.js │ ├── reshetech-css.js │ ├── soleroweb-html.js │ ├── soleroweb-js.js │ ├── soleroweb-php.js │ ├── the-net-ninja-html-css.js │ ├── the-net-ninja-j.s-async.js │ ├── the-net-ninja-node-auth-jwt.js │ ├── the-net-ninja-node.js │ ├── the-net-ninja-object-oriented-j.s.js │ ├── the-net-ninja-strapi.js │ ├── the-net-ninja-vue.js │ ├── tocode-react.js │ └── whatspython.js ├── podcasts.js ├── redditChannels.js ├── topicVideos.js ├── videoTutorials.js └── youtubeChannels.js ├── gridsome.config.js ├── gridsome.server.js ├── netlify.toml ├── package-lock.json ├── package.json ├── postcss.config.js ├── src ├── assets │ ├── colors.js │ ├── global.scss │ ├── icons │ │ ├── SvgIcons.js │ │ ├── elementor.png │ │ ├── syntaxfm copy.png │ │ └── syntaxfm.png │ └── tailwind.css ├── components │ ├── AppFooter.vue │ ├── AppHeader.vue │ ├── BlogCard.vue │ ├── CategoriesSlide.vue │ ├── LearningPlatformCard.vue │ ├── NavItem.vue │ ├── PlaylistCard.vue │ ├── PlaylistItem.vue │ ├── PlaylistList.vue │ ├── PodcastCard.vue │ ├── RedditCard.vue │ ├── TechCard.vue │ ├── TechCategory.vue │ ├── TechList.vue │ ├── UI │ │ ├── AppIcon.vue │ │ ├── AppLoader.vue │ │ ├── AppLogo.vue │ │ ├── BlogIcon.vue │ │ ├── ExternalIcon.vue │ │ ├── GithubIcon.vue │ │ ├── IsraelFlagIcon.vue │ │ ├── NewBadge.vue │ │ ├── PodcastIcon.vue │ │ ├── RedditIcon.vue │ │ ├── StudentIcon.vue │ │ ├── ThemeToggle.vue │ │ └── YoutubeIcon.vue │ └── VideoCard.vue ├── favicon.ico ├── index.html ├── layouts │ ├── Default.vue │ └── README.md ├── main.js ├── pages │ ├── Index.vue │ ├── README.md │ ├── blogs.vue │ ├── contact.vue │ ├── contribute.vue │ ├── learning-platforms.vue │ ├── podcasts.vue │ ├── reddit.vue │ └── success.vue └── templates │ ├── PlaylistPage.vue │ ├── README.md │ ├── TechnologyPage.vue │ └── VideoPage.vue ├── static ├── .gitkeep ├── .well-known │ └── apple-developer-merchantid-domain-association ├── android-chrome-192x192.png ├── android-chrome-512x512.png ├── apple-touch-icon.png ├── favicon-16x16.png ├── favicon-32x32.png ├── favicon.ico ├── screen-shot.png └── site.webmanifest ├── tailwind.config.js └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .cache 3 | .DS_Store 4 | src/.temp 5 | node_modules 6 | dist 7 | .env 8 | .env.* 9 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | sharp_binary_host=https://npmmirror.com/mirrors/sharp 2 | sharp_libvips_binary_host=https://npmmirror.com/mirrors/sharp-libvips 3 | legacy-peer-deps=true 4 | node-linker=hoisted 5 | build-from-source=true 6 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [{ 4 | "type": "node", 5 | "request": "launch", 6 | "name": "Launch Program", 7 | "program": "${workspaceRoot}\\node_modules\\gridsome\\bin\\gridsome.js", 8 | "args": [ 9 | "develop" 10 | ], 11 | }] 12 | } -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "standard.enable": false 3 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Shaya Ulman 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Kosher-code 2 | More on the project see [here](https://www.prog.co.il/threads/%D7%9E%D7%AA%D7%9B%D7%A0%D7%AA%D7%99%D7%9D-%D7%9E%D7%90%D7%92%D7%A8-%D7%9E%D7%99%D7%95%D7%97%D7%93-%D7%9C%D7%97%D7%95%D7%9E%D7%A8%D7%99-%D7%9C%D7%9E%D7%99%D7%93%D7%94.523947/#post-7357839) (Hebrew). 3 | 4 | ### Contribute 5 | Any contributions are welcome! 6 | Please read [this](https://www.prog.co.il/threads/%D7%9E%D7%AA%D7%9B%D7%A0%D7%AA%D7%99%D7%9D-%D7%9E%D7%90%D7%92%D7%A8-%D7%9E%D7%99%D7%95%D7%97%D7%93-%D7%9C%D7%97%D7%95%D7%9E%D7%A8%D7%99-%D7%9C%D7%9E%D7%99%D7%93%D7%94.523947/#post-7357839) (Hebrew). 7 | -------------------------------------------------------------------------------- /data/blogs.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "אינטרנט ישראל", 4 | desc: "אתר המוקדש לפיתוח אינטרנט מתקדם", 5 | link: "https://internet-israel.com/", 6 | hebrew: true, 7 | color: "#01acef", 8 | }, 9 | { 10 | name: "Datapoint", 11 | desc: "בסיסי נתונים, פיתוח ובינה עסקית", 12 | link: "https://www.datapoint.training/blog", 13 | hebrew: true, 14 | color: "#6ac9d3", 15 | }, 16 | { 17 | name: "camelCase", 18 | desc: "אבטחת מידע, טסטים, מתודולוגיות בתכנות, ארכיטקטורה וכדומה.", 19 | link: "https://camelcase.blog/", 20 | hebrew: true, 21 | color: "#bc9371", 22 | }, 23 | { 24 | name: "בלוג ארכיטקטורת תוכנה", 25 | desc: "ארכיטקטורה טובה יותר: טכנולוגיים ואנושיים.", 26 | link: "http://www.softwarearchiblog.com/", 27 | hebrew: true, 28 | color: "#134f5c", 29 | }, 30 | { 31 | name: "ריאקט ישראל", 32 | desc: "ריאקט ישראל", 33 | link: "https://www.react-israel.co.il/", 34 | hebrew: true, 35 | color: "#5f527e", 36 | }, 37 | { 38 | name: "savvy", 39 | desc: "מדברים וורדפרס", 40 | link: "https://he.savvy.co.il/blog/", 41 | hebrew: true, 42 | color: "#6e6565", 43 | }, 44 | { 45 | name: "ChaniK", 46 | desc: "פוסטים על CSS, jQuery, וורדפרס ואלמנטור", 47 | link: "https://chani-k.co.il/", 48 | hebrew: true, 49 | color: "#06B0EF", 50 | }, 51 | { 52 | name: "רשתטק", 53 | desc: "מדריכים לתכנות ופיתוח אתרי אינטרנט", 54 | link: "https://reshetech.co.il/", 55 | hebrew: true, 56 | color: "#0465ae", 57 | }, 58 | { 59 | name: "הבלוג של ינון פרק", 60 | desc: "טיפים קצרים וחדשות למתכנתים", 61 | link: "https://www.tocode.co.il/blog", 62 | hebrew: true, 63 | color: "#598a8a", 64 | }, 65 | { 66 | name: "גו-קוד", 67 | desc: "בלוג בפיתוח ווב - עם קוד, קוד ועוד קצת קוד", 68 | link: "https://blog.gocode.co.il/", 69 | hebrew: true, 70 | color: "#e71a59", 71 | }, 72 | { 73 | name: "דורזקי", 74 | link: "https://dorzki.co.il/blog/", 75 | desc: "וורדפרס ועוד", 76 | hebrew: true, 77 | color: "#214a81", 78 | }, 79 | { 80 | name: "Design for Living", 81 | link: "https://ernan-maisels.net/", 82 | desc: "C# and Design Paterns", 83 | hebrew: true, 84 | color: "#50bbb7", 85 | }, 86 | { 87 | name: "codebrain", 88 | link: "https://www.codebrain.co.il/", 89 | desc: "web פיתוח", 90 | hebrew: true, 91 | color: "#50bbb7", 92 | }, 93 | { 94 | name: "WebDevIsrael", 95 | link: "https://webdevisrael.io/", 96 | desc: "בלוג על פיתוח ווב וכל מה שמסביב", 97 | hebrew: true, 98 | color: "#0278ae" 99 | }, 100 | { 101 | name: "TechSense", 102 | link: "https://blog.arps.co.il/", 103 | desc: "בלוג טכנולוגי מאת אביב רונן – Hands-On CTO and Developer", 104 | hebrew: true, 105 | color: "#c80000", 106 | }, 107 | { 108 | name: "פינת הקפה", 109 | link: "https://pinatkafe.com/", 110 | desc: "חוויות של מנהל קטן בחברת הייטק גדולה", 111 | hebrew: true, 112 | color: "#6d4738", 113 | }, 114 | { 115 | name: "dev-blog", 116 | link: "https://dev-blog.co.il/", 117 | desc: "מדריכים בתכנות - מתכנתים חרדיים", 118 | hebrew: true, 119 | color: "#dce4ea", 120 | }, 121 | { 122 | name: "Aayush Wadhwa", 123 | desc: "Passionately Curious", 124 | link: "https://medium.com/@aayushwadhwa31", 125 | }, 126 | { 127 | name: "Elad Shechter", 128 | desc: "CSS & HTML Expert", 129 | link: "https://medium.com/@elad", 130 | }, 131 | { 132 | name: "Refactoring UI", 133 | desc: "Learn UI design", 134 | link: "https://medium.com/refactoring-ui", 135 | }, 136 | { 137 | name: "Digital Whisper", 138 | desc: "ירחון טכנולוגי", 139 | link: "https://digitalwhisper.co.il/", 140 | hebrew: true, 141 | color: "#6d6bbf", 142 | }, 143 | { 144 | name: "George Seif", 145 | desc: "Certified Nerd", 146 | link: "https://medium.com/@george.seif94", 147 | }, 148 | { 149 | name: "The Startup", 150 | link: "https://medium.com/swlh", 151 | desc: "Build something awesome", 152 | }, 153 | { 154 | name: "Flutter", 155 | link: "https://medium.com/flutter", 156 | desc: "Build beautiful native apps in record time", 157 | }, 158 | { 159 | name: "Microsoft Design", 160 | link: "https://medium.com/microsoft-design", 161 | desc: "Putting technology on a more human path, one design story at a time", 162 | }, 163 | { 164 | name: "Better Marketing", 165 | link: "https://medium.com/better-marketing", 166 | desc: 167 | "Marketing advice & case studies to help you market ethically, authentically, and efficiently.", 168 | }, 169 | { 170 | name: "Javascript Scene", 171 | link: "https://medium.com/javascript-scene", 172 | desc: 173 | "JavaScript, software leadership, software development, and related technologies.", 174 | }, 175 | { 176 | name: "Better Programming", 177 | link: "https://medium.com/better-programming", 178 | desc: "Advice for programmers.", 179 | }, 180 | { 181 | name: "Coding Blocks", 182 | link: "https://medium.com/coding-blocks", 183 | desc: "Code your way to success | codingblocks.com", 184 | }, 185 | { 186 | name: "Javarevisited", 187 | link: "https://medium.com/javarevisited", 188 | desc: "Medium’s largest Java publication, followed by 7100+ programmers.", 189 | }, 190 | { 191 | name: "JavaScript In Plain English", 192 | link: "https://medium.com/javascript-in-plain-english", 193 | desc: "New JavaScript + Web Dev articles every day", 194 | }, 195 | { 196 | name: "Rinu Gour", 197 | link: "https://medium.com/@rinu.gour123", 198 | desc: "Data Science Enthusiast | Research writer | Blogger | Entrepreneur", 199 | }, 200 | { 201 | name: "Dev Genius", 202 | link: "https://medium.com/dev-genius", 203 | desc: 204 | "Coding, Tutorials, News, UX, UI and much more related to development", 205 | }, 206 | { 207 | name: "edureka!", 208 | link: "https://medium.com/edureka", 209 | desc: "Ridiculously Commited E-Learning Platform", 210 | }, 211 | { 212 | name: "randerson112358", 213 | link: "https://medium.com/@randerson112358", 214 | desc: "A programmer that loves Computer Science", 215 | }, 216 | { 217 | name: "Wix Engineering", 218 | link: "https://medium.com/wix-engineering", 219 | desc: 220 | "Architecture, scaling, mobile and web development, management and more, written by our very own Wix engineers. https://www.wix.engineering/", 221 | }, 222 | { 223 | name: "Ido Kanner", 224 | link: "https://medium.com/@idokan", 225 | desc: "Ido Kanner", 226 | }, 227 | { 228 | name: "הבלוג של חץ ביז", 229 | link: "https://linvirtstor.net/", 230 | desc: "טיפים ומידע על טכנולוגיות שונות", 231 | color: "#ecc5ad", 232 | hebrew: true, 233 | }, 234 | { 235 | name: "Weekly Web Tips", 236 | link: "https://medium.com/weekly-webtips", 237 | desc: "Weekly Web Tips", 238 | }, 239 | { 240 | name: "Pete Houston", 241 | link: "https://medium.com/@petehouston", 242 | desc: "Code / Design / Love", 243 | }, 244 | { 245 | name: "לראות שונה", 246 | link: "https://idkn.wordpress.com/", 247 | desc: "מבט שונה בעיקר על (פיתוח) תוכנה, עסקים והקוד הפתוח", 248 | color: "#444", 249 | hebrew: true, 250 | }, 251 | { 252 | name: "Dan Abramov", 253 | link: "https://medium.com/@dan_abramov", 254 | desc: "Working on @reactjs. Co-author of Redux and Create React App. Building tools for humans", 255 | }, 256 | ]; 257 | -------------------------------------------------------------------------------- /data/learningPlatforms.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Udemy", 4 | desc: "Online Courses - Learn Anything, On Your Schedule", 5 | link: "http://click.linksynergy.com/fs-bin/click?id=M3G3NGQG3aU&offerid=1060092&type=3&subid=0", 6 | tags: ["קורסים"], 7 | color: "#e95252", 8 | }, 9 | { 10 | name: "Coursera", 11 | desc: "Build Skills with Online Courses from Top Institutions", 12 | link: "https://www.coursera.org/", 13 | tags: ["קורסים (חלק חינמי)"], 14 | color: "#4689c6", 15 | }, 16 | { 17 | name: "Codecademy", 18 | desc: "Learn to code - for Free", 19 | link: "https://www.pntra.com/t/2-438167-281661-213588", 20 | tags: ["קורסים (חלק חינמי)", "מדריכים אינטראקטיביים"], 21 | color: "#6101e4", 22 | }, 23 | { 24 | name: "Khan Academy", 25 | desc: "Free Online Courses, Lessons & Practice", 26 | link: "https://www.khanacademy.org/", 27 | tags: ["קורסים (חינמי)"], 28 | color: "#2db08e", 29 | }, 30 | { 31 | name: "To Code", 32 | desc: "קורסים מקצועיים למפתחים אונליין ובעברית", 33 | link: "https://www.tocode.co.il/", 34 | tags: ["עברית", "וובינרים", "קורסים"], 35 | color: "#ef5816", 36 | }, 37 | { 38 | name: "Webmaster", 39 | desc: "תיכנות ובניית אתרים", 40 | link: "https://webmaster.org.il/", 41 | tags: ["עברית"], 42 | color: "#e65000", 43 | }, 44 | { 45 | name: "המרכז לחינוך סייבר", 46 | desc: "המרכז לחינוך סייבר", 47 | link: "https://cyber.org.il/", 48 | tags: ["עברית", "ספרים", "סייבר"], 49 | color: "#2b9cc6", 50 | }, 51 | { 52 | name: "Udacity", 53 | desc: "Learn the Latest Tech Skills; Advance Your Career", 54 | link: "https://imp.i115008.net/c/3571670/786224/11298", 55 | tags: ["קורסים"], 56 | color: "#01b3e4", 57 | }, 58 | { 59 | name: "Edx", 60 | desc: "Free Online Courses by Harvard, MIT, & more", 61 | link: "https://www.edx.org/", 62 | tags: ["תעודות", "קורסים (חינמי)"], 63 | color: "#b72667", 64 | }, 65 | { 66 | name: "Myco", 67 | desc: "פיתוח ותכנות", 68 | link: 69 | "https://www.myco.co.il/category/Developing-and-Programming-Category/", 70 | tags: ["עברית"], 71 | color: "#f1582c", 72 | }, 73 | { 74 | name: "Lynda", 75 | desc: "Online Courses, Classes, Training, Tutorials", 76 | link: "https://www.lynda.com/", 77 | tags: ["קורסים"], 78 | color: "#fbc800", 79 | }, 80 | { 81 | name: "freeCodeCamp", 82 | desc: "Learn to code at home", 83 | link: "https://www.freecodecamp.org/", 84 | tags: ["תעודות", "קורסים (חינמי)"], 85 | color: "#fab239", 86 | }, 87 | { 88 | name: "Codewars", 89 | desc: "Achieve mastery through challenge", 90 | link: "https://www.codewars.com/", 91 | tags: ["תחרוית"], 92 | color: "#942427", 93 | }, 94 | { 95 | name: "Dash", 96 | desc: "Learn to code HTML, CSS, and JavaScript with Dash", 97 | link: "https://dash.generalassemb.ly/", 98 | tags: ["פיתוח-ווב"], 99 | color: "#f82043", 100 | }, 101 | { 102 | name: "The Odin Project", 103 | desc: "Your Career in Web Development Starts Here", 104 | link: "https://www.theodinproject.com/", 105 | tags: ["פיתוח-ווב"], 106 | color: "#e3b261", 107 | }, 108 | { 109 | name: "Sololearn", 110 | desc: "Learn to code for FREE!", 111 | link: "https://www.sololearn.com/", 112 | tags: ["קורסים (חינמי)"], 113 | color: "#50888c", 114 | }, 115 | { 116 | name: "CODE", 117 | desc: "Learn today, build a brighter tomorrow.", 118 | link: "https://code.org/", 119 | tags: ["קורסים (חינמי)", "עברית"], 120 | color: "#2fadbc", 121 | }, 122 | { 123 | name: "The Code Player", 124 | desc: 125 | "Learn HTML5, Learn CSS3, HTML5, CSS3, Javascript, Jquery, Video Tutorials", 126 | link: "https://thecodeplayer.com/", 127 | tags: ["פיתוח-ווב"], 128 | color: "#80ae0c", 129 | }, 130 | { 131 | name: "Leet Code", 132 | desc: "The World's Leading Online Programming Learning Platform", 133 | link: "https://leetcode.com/", 134 | tags: ["הכנה לראיונות", "תרוית"], 135 | color: "#fab31e", 136 | }, 137 | { 138 | name: "w3schools", 139 | desc: "W3Schools Online Web Tutorials", 140 | link: "https://www.w3schools.com/", 141 | tags: ["מיוחד למתחילים", "תעודות"], 142 | color: "#87c541", 143 | }, 144 | { 145 | name: "hackr.io", 146 | desc: "Find the best online Programming courses and Tutorials", 147 | link: "https://hackr.io/", 148 | tags: ["חיפוש קורסים"], 149 | color: "#007aff", 150 | }, 151 | { 152 | name: "Edabit", 153 | desc: "Learn to Code with 10,000+ Interactive Challenges", 154 | link: "https://edabit.com/?ref=koshercode", 155 | tags: ["מדריכים אינטראקטיביים"], 156 | color: "#2db04b", 157 | }, 158 | { 159 | name: "קמפוס IL", 160 | desc: "קידום מקצועי, העשרה כללית, השכלה אקדמית", 161 | link: "https://campus.gov.il/", 162 | tags: ["עברית"], 163 | color: "#6ccbde", 164 | }, 165 | { 166 | name: "try.github.io", 167 | desc: "Resources to learn Git", 168 | link: "https://try.github.io/", 169 | tags: ["Git"], 170 | color: "#4489e0", 171 | }, 172 | { 173 | name: "HTML Dog", 174 | desc: "Putting It All Together", 175 | link: "https://www.htmldog.com/", 176 | tags: ["HTML", "מיוחד למתחילים"], 177 | color: "#027ad4", 178 | }, 179 | { 180 | name: "Marksheet", 181 | desc: "a free HTML and CSS tutorial - Free tutorial to learn HTML and CSS", 182 | link: "https://marksheet.io/", 183 | tags: ["HTML", "CSS"], 184 | color: "#ef3e41", 185 | }, 186 | { 187 | name: "MDN", 188 | desc: "Resources for developers, by developers.", 189 | link: "https://developer.mozilla.org/", 190 | tags: ["פיתוח-ווב"], 191 | color: "#83d1f2", 192 | }, 193 | { 194 | name: "Shayhowe", 195 | desc: "Learn to Code HTML & CSS", 196 | link: "https://learn.shayhowe.com/", 197 | tags: ["HTML", "CSS"], 198 | color: "#2db44a", 199 | }, 200 | { 201 | name: "JavaScript For Cats", 202 | desc: "JavaScript For Cats", 203 | link: "http://jsforcats.com/", 204 | tags: ["Javascript", "ספרים",], 205 | color: "#916f70", 206 | }, 207 | { 208 | name: "Node School", 209 | desc: "Learn Node.js", 210 | link: "https://nodeschool.io/", 211 | tags: ["Node"], 212 | color: "#ffdf00", 213 | }, 214 | { 215 | name: "Learn Python", 216 | desc: "Free Interactive Python Tutorial", 217 | link: "https://www.learnpython.org/", 218 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "Python"], 219 | color: "#427cab", 220 | }, 221 | { 222 | name: "Learn Java Online", 223 | desc: "Learn Java - Free Interactive Java Tutorial", 224 | link: "https://www.learnjavaonline.org/", 225 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "Java"], 226 | color: "#b45b17", 227 | }, 228 | { 229 | name: "Learn HTML", 230 | desc: "Learn HTML - Free Interactive HTML Tutorial", 231 | link: "https://www.learn-html.org/", 232 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "HTML"], 233 | color: "#ba4d32", 234 | }, 235 | { 236 | name: "Learn JS", 237 | desc: "Learn JS - Free Interactive HTML Tutorial", 238 | link: "https://www.learnjs.org/", 239 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "Javascript"], 240 | color: "#f1db4f", 241 | }, 242 | { 243 | name: "Learn C", 244 | desc: "Learn C - Free Interactive HTML Tutorial", 245 | link: "https://www.learn-c.org/", 246 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "C"], 247 | color: "#4174b9", 248 | }, 249 | { 250 | name: "Learn C++", 251 | desc: "Learn C++ - Free Interactive HTML Tutorial", 252 | link: "https://www.learn-cpp.org/", 253 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "C++"], 254 | color: "#105390", 255 | }, 256 | { 257 | name: "Learn PHP", 258 | desc: "Learn PHP - Free Interactive HTML Tutorial", 259 | link: "https://www.learn-php.org/", 260 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "PHP"], 261 | color: "#5770A2", 262 | }, 263 | { 264 | name: "Learn C#", 265 | desc: "Learn C# - Free Interactive HTML Tutorial", 266 | link: "https://www.learncs.org/", 267 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "C#"], 268 | color: "#2b5fcc", 269 | }, 270 | { 271 | name: "Learn SQL", 272 | desc: "Learn SQL - Free Interactive HTML Tutorial", 273 | link: "https://www.learnsqlonline.org/", 274 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "SQL"], 275 | color: "#8690fa", 276 | }, 277 | { 278 | name: "Learn Scala", 279 | desc: "Learn Scala - Free Interactive HTML Tutorial", 280 | link: "https://www.learnscala.org/", 281 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "Scala"], 282 | color: "#e03524", 283 | }, 284 | { 285 | name: "Learn Shell", 286 | desc: "Learn Shell - Free Interactive HTML Tutorial", 287 | link: "https://www.learnshell.org/", 288 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "Shell"], 289 | color: "#8690fa", 290 | }, 291 | { 292 | name: "Learn Perl", 293 | desc: "Learn Perl - Free Interactive HTML Tutorial", 294 | link: "https://www.learn-perl.org/", 295 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "Perl"], 296 | color: "#9e9e9e", 297 | }, 298 | { 299 | name: "Learn Go", 300 | desc: "Learn Go - Free Interactive HTML Tutorial", 301 | link: "https://www.learn-golang.org/", 302 | tags: ["מדריכים אינטראקטיביים", "סדרת -Learn", "Go"], 303 | color: "#8690fa", 304 | }, 305 | { 306 | name: "UX Beginner", 307 | desc: "Become a UX Designer", 308 | link: "https://www.uxbeginner.com/", 309 | tags: ["UI-UX", "ספרים", "קורסים"], 310 | color: "#2dac6e", 311 | }, 312 | { 313 | name: "Free UX Ebooks", 314 | desc: "Free UX Ebooks", 315 | link: "https://www.uxpin.com/studio/ebooks/", 316 | tags: ["ספרים", "UI-UX"], 317 | color: "#0067f2", 318 | }, 319 | { 320 | name: "Interaction Design Foundation", 321 | desc: "UX Design Courses & Global UX Community", 322 | link: "https://www.interaction-design.org/", 323 | tags: ["UI-UX", "ספרים", "קורסים"], 324 | color: "#009cdf", 325 | }, 326 | { 327 | name: "Android - Training Courses", 328 | desc: "Training Courses - Android Developers", 329 | link: "https://developer.android.com/courses/#for-new-programmers", 330 | tags: ["Android", "קורסים"], 331 | color: "#24c1e0", 332 | }, 333 | { 334 | name: "Select Star SQL", 335 | desc: "ספר אינטרקטיבי שמנסה להיות המקום הטוב ביותר באינטרנט ללמוד SQL", 336 | link: "https://selectstarsql.com/he/", 337 | tags: ["SQL", "מדריכים אינטראקטיביים", "עברית"], 338 | color: "#0077AA", 339 | }, 340 | { 341 | name: "Machine Learning Course", 342 | desc: "Machine Learning Crash Course - Google Devlopers", 343 | link: "https://developers.google.com/machine-learning/crash-course/", 344 | tags: ["למידת מכונה", "קורסים (חינמי)"], 345 | color: "#4285f4", 346 | }, 347 | { 348 | name: "בינה מלאכותית", 349 | desc: "קורס בינה מלאכותית", 350 | link: "https://cloudsociety.microsoft.com/he/LearningPaths", 351 | tags: ["בינה מלאכותית", "קורסים (חינמי)", "עברית"], 352 | color: "#00b193", 353 | }, 354 | { 355 | name: "Scrimba", 356 | desc: "Learn to Code with Interactive Tutorials", 357 | link: "https://scrimba.com/", 358 | tags: ["מדריכים אינטראקטיביים"], 359 | color: "#2e9e5d", 360 | }, 361 | { 362 | name: "Vue Mastery", 363 | desc: "The Ultimate Learning Resource for Vue.js Developers", 364 | link: "https://www.vuemastery.com/", 365 | tags: ["Vue"], 366 | color: "#58bf74", 367 | }, 368 | { 369 | name: "Vue School", 370 | desc: 371 | "Learn Vue.js from core-team members and industry experts at Vue School", 372 | link: "https://vueschool.io/", 373 | tags: ["Vue"], 374 | color: "#52bd9e", 375 | }, 376 | { 377 | name: "גו-קוד", 378 | desc: "פורטל הלמידה של גו-קוד", 379 | link: "https://gocode.co.il/", 380 | tags: ["עברית", "קורסים"], 381 | color: "#e72861", 382 | }, 383 | { 384 | name: "Cybrary", 385 | desc: "Free Cybersecurity Training and Career Development", 386 | link: "https://www.cybrary.it/", 387 | tags: ["קורסים", "סייבר"], 388 | color: "#e24897", 389 | }, 390 | { 391 | name: "Oreilly", 392 | desc: "Free Programming Ebooks", 393 | link: "https://www.oreilly.com/programming/free/", 394 | tags: ["ספרים"], 395 | color: "#c8042e", 396 | }, 397 | { 398 | name: "Under Warrior", 399 | desc: "מדריכים - תיכנות, בניית אתרים, קידום אתרים ואבטחת מידע", 400 | link: "http://www.underwar.co.il/", 401 | tags: ["עברית", "מדריכים", "סייבר"], 402 | color: "#851614", 403 | }, 404 | { 405 | name: "CSSBattle", 406 | desc: 407 | "Use your CSS skills to replicate targets with smallest possible code", 408 | link: "https://cssbattle.dev/", 409 | tags: ["תחרוית", "CSS"], 410 | color: "#db4f4c", 411 | }, 412 | { 413 | name: "Flexbox Froggy", 414 | desc: "A game for learning CSS flexbox", 415 | link: "https://flexboxfroggy.com/", 416 | tags: ["CSS", "תרגול"], 417 | color: "#77fa78", 418 | }, 419 | { 420 | name: "CSS Grid Garden", 421 | desc: "A game for learning CSS grid layout", 422 | link: "https://cssgridgarden.com/", 423 | tags: ["CSS", "תרגול"], 424 | color: "#c1831d", 425 | }, 426 | { 427 | name: "Laracasts", 428 | desc: "The most concise screencasts for the working developer.", 429 | link: "https://laracasts.com/", 430 | tags: ["קורסים (חלק חינמי)", "Laravel"], 431 | color: "#53B6FF", 432 | }, 433 | { 434 | name: "Wesbos", 435 | desc: "Full Stack Developer", 436 | link: "https://wesbos.com/", 437 | tags: ["קורסים", "פיתוח-ווב"], 438 | color: "#ffc601", 439 | }, 440 | { 441 | name: "Level-Up Tutorials", 442 | desc: "High quality video tutorials and training for web developers.", 443 | link: "https://www.leveluptutorials.com/", 444 | tags: ["קורסים", "פיתוח-ווב"], 445 | color: "#504660", 446 | }, 447 | { 448 | name: "Interview Bit", 449 | desc: "Coding practice", 450 | link: "https://www.interviewbit.com/practice/", 451 | tags: ["הכנה לראיונות", "תרגול"], 452 | color: "#63B1C6", 453 | }, 454 | { 455 | name: "Calhoun.io", 456 | desc: "Go for Everyone", 457 | link: "https://www.calhoun.io/", 458 | tags: ["Go"], 459 | color: "#ee917e", 460 | }, 461 | { 462 | name: "gorails", 463 | desc: "Learn Ruby on Rails", 464 | link: "https://gorails.com/", 465 | tags: ["Ruby"], 466 | color: "#2db44a", 467 | }, 468 | { 469 | name: "Javascript 30", 470 | desc: "Build 30 things with vanilla JS in 30 days with 30 tutorials", 471 | link: "https://javascript30.com/", 472 | tags: ["קורסים (חינמי)"], 473 | color: "#e9b100", 474 | }, 475 | { 476 | name: "Pluralsight", 477 | desc: "The tech workforce development company", 478 | link: "https://www.pluralsight.com/", 479 | tags: ["קורסים"], 480 | color: "#e4005b", 481 | }, 482 | { 483 | name: "Learn X in Y Minutes", 484 | desc: "Scenic programming language tours", 485 | link: "https://learnxinyminutes.com/", 486 | tags: ["מדריכים"], 487 | color: "#71e87c", 488 | }, 489 | { 490 | name: "Treehouse", 491 | desc: "Learn programming, design, and more—all on your own time", 492 | link: "https://teamtreehouse.com/", 493 | tags: ["קורסים"], 494 | color: "#69c573", 495 | }, 496 | { 497 | name: "Learn to Code", 498 | desc: "Learn to Code HTML & CSS for beginner & adavanced", 499 | link: "https://learn.shayhowe.com/", 500 | tags: ["מדריכים", "CSS", "HTML"], 501 | color: "#929292", 502 | }, 503 | { 504 | name: "Javascript design patterns", 505 | desc: "Learning Javascript design patterns", 506 | link: "https://addyosmani.com/resources/essentialjsdesignpatterns/book/", 507 | tags: ["Javascript", "ספרים"], 508 | color: "#01a8a8", 509 | }, 510 | { 511 | name: "Secrets of the Javascript ninja", 512 | desc: "Secrets of the JavaScript Ninja", 513 | link: "https://www.manning.com/books/secrets-of-the-javascript-ninja", 514 | tags: ["Javascript", "ספרים"], 515 | color: "#9f6600", 516 | }, 517 | { 518 | name: "Jacascript - Notes for profssionals", 519 | desc: "Free JavaScript programming beginner book", 520 | link: "https://books.goalkicker.com/JavaScriptBook/", 521 | tags: ["Javascript", "ספרים"], 522 | color: "#2674b5", 523 | }, 524 | { 525 | name: "Speaking Javascript", 526 | desc: "Speaking Javascript", 527 | link: "http://speakingjs.com/es5/index.html", 528 | tags: ["Javascript", "ספרים"], 529 | color: "#01a8a8", 530 | }, 531 | { 532 | name: "You Don't Know JS", 533 | desc: "A book series on JavaScript", 534 | link: "https://github.com/getify/You-Dont-Know-JS", 535 | tags: ["Javascript", "ספרים"], 536 | color: "#ffd901", 537 | }, 538 | { 539 | name: "Eloquent Javascript", 540 | desc: "A modern introduction to programming", 541 | link: "https://eloquentjavascript.net/", 542 | tags: ["Javascript", "ספרים"], 543 | color: "#f8d411", 544 | }, 545 | { 546 | name: "self.py", 547 | desc: "הדרך שלך ללמוד פייתון", 548 | link: "https://stage.campus.gov.il/course/course-v1-cs-gov_cs_selfpy101/", 549 | tags: ["Python", "קורסים (חינמי)"], 550 | color: "#f8d411", 551 | }, 552 | { 553 | name: "next.py", 554 | desc: "הצעד הבא שלך בפייתון", 555 | link: "https://campus.gov.il/course/course-v1-cs-gov-cs-nextpy102/", 556 | tags: ["Python", "קורסים (חינמי)"], 557 | color: "#f8d411", 558 | }, 559 | { 560 | name: "Developer Roadmaps", 561 | desc: "Step by step guides and paths to learn different tools or technologies", 562 | link: "https://roadmap.sh/", 563 | tags: ["מיוחד למתחילים", "מפת דרכים לימודי"], 564 | color: "#7da4e0", 565 | },{ 566 | name: "javascript.info", 567 | desc: "The Modern JavaScript Tutorial", 568 | link: "https://javascript.info/", 569 | tags: ["Javascript"], 570 | color: "#eec56d", 571 | } 572 | 573 | // { 574 | // name: "", 575 | // desc: "", 576 | // link: "", 577 | // tags: [], 578 | // color: "#", 579 | // }, 580 | ]; 581 | -------------------------------------------------------------------------------- /data/playlists/angular4-hebrew.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Angular 4 in Hebrew", 4 | hebrewName: "אנגולר 4 בעברית", 5 | category: "playlist", 6 | tags: ["angular"], 7 | videoTutorials: [ 8 | { url: "r3neJ3nEWU0" }, 9 | { url: "0fSaKXFu_tQ" }, 10 | { url: "kajJYsslE_M" }, 11 | { url: "reC73GBByEc" }, 12 | { url: "SQGokZYa01A" }, 13 | { url: "bMvYljpA1Kc" }, 14 | { url: "UuP2l4SM7js" }, 15 | { url: "qlxH2j27dMM" }, 16 | { url: "Z_eW6Ht6s0g" }, 17 | { url: "MDe6LtX2IBo" }, 18 | { url: "Zz05zaKdkQE" }, 19 | { url: "7nY6284vUXU" }, 20 | { url: "L0bhDYYJZzY" }, 21 | { url: "T7QBbKWk2a8" }, 22 | { url: "Cwq44riWJHA" }, 23 | { url: "O7Y_5TwsQRw" }, 24 | { url: "M_kloa5bztU" }, 25 | { url: "0i6duxb-jgY" }, 26 | ] 27 | } 28 | ]; 29 | -------------------------------------------------------------------------------- /data/playlists/automationcourse-java.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Automation Course -Java", 4 | hebrewName: "קורס אוטומציה - ג'אווה", 5 | category: "playlist", 6 | tags: ["automation"], 7 | videoTutorials: [ 8 | { url: "g-7meCP8bPU" }, 9 | { url: "wZ7YpANTEUA" }, 10 | { url: "_fRYGiDCmtw" }, 11 | { url: "YZ43cOcbmLI" } 12 | ] 13 | } 14 | ]; 15 | -------------------------------------------------------------------------------- /data/playlists/basic-sql-hebrew.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "SQL- basic queries", 4 | hebrewName: "כתיבת שאילתות SQL בסיסיות", 5 | category: "playlist", 6 | tags: ["sql"], 7 | videoTutorials: [ 8 | { url: "bsgRWo7BrYM" }, 9 | { url: "-i62bAXTBJs" }, 10 | { url: "n00vfpH_20E" }, 11 | { url: "vOPbLLJwsYE" }, 12 | { url: "D3Tx3qPXUQQ" }, 13 | { url: "W9KlIPszLWI" }, 14 | { url: "HlftxOP8L6o" }, 15 | { url: "txZs5VoBbf4" }, 16 | { url: "x0WiedByWAk" }, 17 | { url: "J1YzJitVI-4" }, 18 | { url: "_FFG0l6byZ4" }, 19 | ], 20 | }, 21 | ]; 22 | -------------------------------------------------------------------------------- /data/playlists/beau-teaches-javascript.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Beau teaches Javascript", 4 | category: "playlist", 5 | tags: ["javascript"], 6 | videoTutorials: [ 7 | { url: "9YddVVsdG5A" }, 8 | { url: "Gj5qBheGOEo" }, 9 | { url: "b9c5GmmS7ks" }, 10 | { url: "wl8u02IdVxo" }, 11 | { url: "Aagf3RyK3Lw" }, 12 | { url: "_1BPrCHcjhs" }, 13 | { url: "F95z5Wxd9ks" }, 14 | { url: "7XmS8McW_1U" }, 15 | { url: "dM_JHpfFITs" }, 16 | { url: "wu0ckYkltus" }, 17 | { url: "5cU1ILGy6dM" }, 18 | ], 19 | }, 20 | ]; 21 | -------------------------------------------------------------------------------- /data/playlists/cpp-oop-hebrew.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "C++ - OOP course", 4 | hebrewName: "C++ - תכנות מונחה עצמים", 5 | category: "playlist", 6 | tags: ["c++"], 7 | videoTutorials: [ 8 | { url: "r_wHsrYpwWU" }, 9 | { url: "bKHIrgGNxvE" }, 10 | { url: "7SqHCZzF930" }, 11 | { url: "PoiTWN1IUpM" }, 12 | { url: "AnlipK6okfw" }, 13 | { url: "zdEd9yrfNpM" }, 14 | { url: "YUNnZ5oQh4I" }, 15 | { url: "GcK7Vy16AD8" }, 16 | { url: "1DSSxzqJGIs" }, 17 | { url: "BMHjOiCx5Fs" }, 18 | { url: "ZWog2ZYSoX4" }, 19 | { url: "7RPfRFxnGNE" }, 20 | { url: "yPWN69ES-YE" }, 21 | { url: "JdyKHTq2OLM" }, 22 | { url: "FWo50bwH7rA" }, 23 | { url: "bYzh7gXqmB4" }, 24 | { url: "dUatUZcknew" }, 25 | { url: "kin6-f15cn0" }, 26 | ], 27 | }, 28 | ]; 29 | -------------------------------------------------------------------------------- /data/playlists/deeplizard-machine-learning.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Deeplizard - Machine Learning", 4 | hebrewName: "למידת מכונה", 5 | category: "playlist", 6 | tags: ["machine learning"], 7 | videoTutorials: [ 8 | { url: "gZmobeGL0Yg" }, 9 | { url: "OT1jslLoCyA" }, 10 | { url: "hfK_dvC-avg" }, 11 | { url: "FK77zZxaBoI" }, 12 | { url: "m0pIlLfpXWE" }, 13 | { url: "sZAlS3_dnk0" }, 14 | { url: "_N5kpSMDf4o" }, 15 | { url: "Skc8nqJirJg" }, 16 | { url: "jWT-AX9677k" }, 17 | { url: "Zi-0rlM4RDs" }, 18 | { url: "Z0KVRdE_a7Q" }, 19 | { url: "DEMmkFC6IGM" }, 20 | { url: "0h8lAm5Ki5g" }, 21 | { url: "Quh6x4kG6VY" }, 22 | { url: "lEfrr0Yr684" }, 23 | { url: "b-yhKUINb7o" }, 24 | { url: "rfM4DaLTkMs" }, 25 | { url: "YRhxdVk_sIs" }, 26 | { url: "ZjM_XQa5s6s" }, 27 | { url: "XE3krf3CQls" }, 28 | { url: "2mSysRx-1c0" }, 29 | { url: "G5b4jRBKNxw" }, 30 | { url: "Zr5viAZGndE" }, 31 | { url: "xClK__CqZnQ" }, 32 | { url: "iuJgyiS7BKM" }, 33 | { url: "U4WB9p6ODjM" }, 34 | { url: "Gbz8RljxIHo" }, 35 | ] 36 | } 37 | ]; 38 | -------------------------------------------------------------------------------- /data/playlists/es6inhebrew.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "ES6 In Hebrew", 4 | hebrewName: "ES6 בעברית", 5 | category: "playlist", 6 | tags: ["javascript"], 7 | videoTutorials: [ 8 | { url: "aPnnFWkGKcI" }, 9 | { url: "hgN2_iwXZIA" }, 10 | { url: "KOgX85CX_y0" }, 11 | { url: "J8W_JH1DEfk" }, 12 | { url: "iXIk9OLDBuw" }, 13 | { url: "I2gbVIBkhUk" }, 14 | { url: "wP07DeCbcAU" }, 15 | { url: "EJNiioVvMkA" }, 16 | { url: "hGfdDgonWFo" }, 17 | { url: "wUf-jpE2ul4" } 18 | ] 19 | } 20 | ]; 21 | -------------------------------------------------------------------------------- /data/playlists/hightech-react.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "High-Tech World - React", 4 | hebrewName: "עולם ההייטק - ריאקט", 5 | category: "playlist", 6 | tags: ["react"], 7 | videoTutorials: [ 8 | { url: "gB-xkaYGyBM" }, 9 | { url: "2df-O_0dbyk" }, 10 | { url: "46Up7uHznr0" } 11 | ] 12 | } 13 | ]; 14 | -------------------------------------------------------------------------------- /data/playlists/htmlcssbeginners.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "HTML & CSS for beginners", 4 | hebrewName: "HTML ו-CSS למתחילים", 5 | category: "playlist", 6 | tags: ["html", "css"], 7 | videoTutorials: [ 8 | { url: "x9pwni_6QxY" }, 9 | { url: "hjg-0o__pRg" }, 10 | { url: "6hN-xabkcTo" }, 11 | { url: "3p8T9_YZfiM" }, 12 | { url: "-vxxxxdpn_M" }, 13 | { url: "Weex8BgxG9k" }, 14 | { url: "YF1mIhlu_dg" }, 15 | { url: "IQONjPTYg4Q" }, 16 | { url: "XYDdWpYZ-4A" }, 17 | { url: "_W1pK2oP51c" }, 18 | { url: "RMdyKu0vZZU" }, 19 | { url: "MZRdzmjnaPU" }, 20 | { url: "F1QPdNjPFDs" }, 21 | { url: "TvWHMXufJEE" }, 22 | { url: "9dYFuIegwoI" }, 23 | { url: "WLnje2cSknM" }, 24 | { url: "GGx7KF1uFR8" }, 25 | { url: "AumqUCEsvts" }, 26 | { url: "oLTcBaqbox4" } 27 | ] 28 | } 29 | ]; 30 | -------------------------------------------------------------------------------- /data/playlists/index.js: -------------------------------------------------------------------------------- 1 | const solerowebPHP = require("./soleroweb-php"); 2 | const solerowebHTML = require("./soleroweb-html"); 3 | const solerowebJS = require("./soleroweb-js"); 4 | const whatspython = require("./whatspython"); 5 | const htmlCssBeginners = require("./htmlcssbeginners"); 6 | const hightechReact = require("./hightech-react"); 7 | const learncodeacadamyReact = require("./learncodeacadamy-react"); 8 | const tocodeReact = require("./tocode-react"); 9 | const automationcourseJava = require("./automationcourse-java"); 10 | const es6InHebrew = require("./es6inhebrew"); 11 | const reshetechCss = require("./reshetech-css"); 12 | const onlineschoolAspnet = require("./onlineschool-aspnet"); 13 | const angular4Hebrew = require("./angular4-hebrew"); 14 | const jsvideotutorial = require("./js-videotutorial"); 15 | const linuxOnlineschool = require("./linux-onlineschool"); 16 | const laravelFromscratch = require("./laravelFromscratch"); 17 | const cppOopHebrew = require("./cpp-oop-hebrew"); 18 | const basicSqlHebrew = require("./basic-sql-hebrew"); 19 | const beauTeachesJavascript = require("./beau-teaches-javascript"); 20 | const deeplizardMachineLearning = require("./deeplizard-machine-learning"); 21 | const theNetNinjaStrapi = require("./the-net-ninja-strapi"); 22 | const theNetNinjaHtmlCss = require("./the-net-ninja-html-css.js"); 23 | const theNetNinjaNode = require("./the-net-ninja-node"); 24 | const theNetNinjaNodeAuthJwt = require("./the-net-ninja-node-auth-jwt"); 25 | const theNetNinjaVue = require("./the-net-ninja-vue"); 26 | const theNetNinjaJsAsync = require("./the-net-ninja-j.s-async") 27 | const theNetNinjaOOJS = require("./the-net-ninja-object-oriented-j.s") 28 | 29 | module.exports = [ 30 | ...solerowebPHP, 31 | ...solerowebHTML, 32 | ...solerowebJS, 33 | ...whatspython, 34 | ...htmlCssBeginners, 35 | ...hightechReact, 36 | ...learncodeacadamyReact, 37 | ...tocodeReact, 38 | ...automationcourseJava, 39 | ...es6InHebrew, 40 | ...reshetechCss, 41 | ...onlineschoolAspnet, 42 | ...angular4Hebrew, 43 | ...jsvideotutorial, 44 | ...linuxOnlineschool, 45 | ...laravelFromscratch, 46 | ...cppOopHebrew, 47 | ...basicSqlHebrew, 48 | ...beauTeachesJavascript, 49 | ...deeplizardMachineLearning, 50 | ...theNetNinjaStrapi, 51 | ...theNetNinjaHtmlCss, 52 | ...theNetNinjaNode, 53 | ...theNetNinjaNodeAuthJwt, 54 | ...theNetNinjaVue, 55 | ...theNetNinjaJsAsync, 56 | ...theNetNinjaOOJS 57 | ]; 58 | -------------------------------------------------------------------------------- /data/playlists/js-videotutorial.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "JS Video Tutorial", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["javascript"], 7 | videoTutorials: [ 8 | { url: "_cLvpJY2deo" }, 9 | { url: "6wEqQvvcwyc" }, 10 | { url: "xVnW7ZMqBus" }, 11 | { url: "2PjUaNNMjfQ" }, 12 | { url: "Bkc7AUQ6uU4" }, 13 | { url: "44P2s6bZ8Js" }, 14 | { url: "fQqT0VdG4mo" }, 15 | { url: "Ufb9B8BEMPY" }, 16 | { url: "sACXO0n9Lgw" }, 17 | ] 18 | } 19 | ]; 20 | -------------------------------------------------------------------------------- /data/playlists/laravelFromscratch.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Laravel from scratch", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["laravel"], 7 | videoTutorials: [ 8 | { url: "EU7PRmCpx-0" }, 9 | { url: "H3uRXvwXz1o" }, 10 | { url: "sLFNVXY0APk" }, 11 | { url: "bSG2YMqJJys" }, 12 | { url: "neSHAWdE44c" }, 13 | { url: "emyIlJPxZr4" }, 14 | { url: "-QapNzUE4V0" }, 15 | ] 16 | } 17 | ]; 18 | -------------------------------------------------------------------------------- /data/playlists/learncodeacadamy-react.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Learncode Acadamy - React", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["react"], 7 | videoTutorials: [ 8 | { url: "MhkGQAoc7bc" }, 9 | { url: "fd2Cayhez58" }, 10 | { url: "vu_rIMPROoQ" }, 11 | { url: "qh3dYM6Keuw" }, 12 | { url: "_D1JGNidMr4" }, 13 | { url: "1iAG6h9ff5s" }, 14 | { url: "ZBxMljq9GSE" } 15 | ] 16 | } 17 | ]; 18 | -------------------------------------------------------------------------------- /data/playlists/linux-onlineschool.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Linux Online-School", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["linux"], 7 | videoTutorials: [ 8 | { url: "kiykmkYwfTc" }, 9 | { url: "8XR6955KZ0M" }, 10 | { url: "K4UgpyY31dk" }, 11 | { url: "YimeM4On120" }, 12 | { url: "N8DSRrozLWE" }, 13 | ] 14 | } 15 | ]; 16 | -------------------------------------------------------------------------------- /data/playlists/onlineschool-aspnet.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "ASP.NET course", 4 | hebrewName: "קורס ASP.NET", 5 | category: "playlist", 6 | tags: ["asp.net"], 7 | videoTutorials: [ 8 | { url: "OxaZZ9ThZ_0" }, 9 | { url: "yV1aTYgAlYQ" }, 10 | { url: "dnELEYWZbvQ" }, 11 | { url: "fwi1Ww_tD-Q" }, 12 | { url: "YEu9SyPhjGY" }, 13 | ] 14 | } 15 | ]; 16 | -------------------------------------------------------------------------------- /data/playlists/reshetech-css.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "CSS Tutorial - ResheTech", 4 | hebrewName: "מדריך CSS - רשתק", 5 | category: "playlist", 6 | tags: ["css"], 7 | videoTutorials: [ 8 | { url: "ZyDKZr74w-8" }, 9 | { url: "MIx6Ta042sU" }, 10 | { url: "OvkTj5GtweA" }, 11 | { url: "nb_JjGrhsNU" }, 12 | { url: "wdHiIpBf7Rs" }, 13 | { url: "baeqCqZggwM" }, 14 | { url: "h3vC2HOoTuI" }, 15 | { url: "QpGl3Ck3WqY" }, 16 | { url: "Y80Js4a3X2o" }, 17 | { url: "7JCPGhsNPKw" }, 18 | { url: "CwCJZU1jg5o" }, 19 | { url: "hI1tus9aIYA" }, 20 | { url: "W5Z3xABgPYA" }, 21 | { url: "0SWcKuCEkxc" }, 22 | { url: "moR8sOf4e6Q" }, 23 | { url: "XRdOO1FG2wY" }, 24 | { url: "xviPVbvffb4" }, 25 | { url: "aOEW1Gq6oP0" }, 26 | { url: "QB6gSA87RSQ" }, 27 | { url: "WjL0ys_oAtw" }, 28 | { url: "0QEo1_i4AqQ" } 29 | ] 30 | } 31 | ]; 32 | -------------------------------------------------------------------------------- /data/playlists/soleroweb-html.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "SoleroWeb html", 4 | hebrewName: "סולרו ווב - HTML", 5 | category: "playlist", 6 | tags: ["html"], 7 | videoTutorials: [ 8 | { url: "MNYlVTMNq4U" }, 9 | { url: "jYFxIfcxyWU" }, 10 | { url: "berqdtZ3nGo" }, 11 | { url: "dMSkc5ZTCWE" }, 12 | { url: "Qd-AjKNbN9s" }, 13 | { url: "2CtmoOIxvfE" }, 14 | { url: "r5cdYF2zf3I" }, 15 | { url: "tcIqpyeFhBE" }, 16 | { url: "AViI9CnMt6g" }, 17 | { url: "ftFK6ew-eCY" }, 18 | { url: "txl5daaEOAw" }, 19 | { url: "y7nXstqP2_s" }, 20 | { url: "YmqOMbn5ABY" }, 21 | { url: "ToRwe5WPZX4" }, 22 | { url: "Ybg6DPnJA3I" }, 23 | { url: "Xg9De2kJ-vw" }, 24 | { url: "HHwEPj5MPAk" }, 25 | { url: "BW9o9HgUPEQ" }, 26 | { url: "3aDmK7pRfbU" }, 27 | { url: "tNn6-mYAQjs" }, 28 | { url: "XmqfDqNpW8E" }, 29 | { url: "vrSd1b4QzoU" }, 30 | { url: "3gvmputCe6Y" }, 31 | { url: "Uuh3-nntbFk" }, 32 | { url: "pw3KM5UPXFM" }, 33 | { url: "EfKgjh1Qa5Q" }, 34 | { url: "Rril6Vl_H9U" }, 35 | { url: "1V43yoEdBEA" }, 36 | { url: "6BVTVDWG2go" }, 37 | { url: "Q4go0uVAmgc" }, 38 | { url: "pIcBBBdXSCU" } 39 | ] 40 | } 41 | ]; 42 | -------------------------------------------------------------------------------- /data/playlists/soleroweb-js.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "SoleroWeb JS", 4 | hebrewName: "סולרו ווב - ג'אווהסקריפט", 5 | category: "playlist", 6 | tags: ["javascript"], 7 | videoTutorials: [ 8 | { url: "o-lt_Ju7EcA" }, 9 | { url: "2-eZ0lVysUE" }, 10 | { url: "oWxyj2QfI18" }, 11 | { url: "F6hLRLho0Lc" }, 12 | { url: "v-DtxN5ggiE" }, 13 | { url: "c7mqY6QtdQQ" }, 14 | { url: "HFQOANBmEtI" }, 15 | { url: "ZfJMR6_l8w4" }, 16 | { url: "y1SW1reExx4" }, 17 | { url: "MjWRRk5kaPA" }, 18 | { url: "drU-Rm21uJQ" }, 19 | { url: "TP0qXQe6hz0" }, 20 | { url: "BozHofB7ZzA" }, 21 | { url: "9ChJYpLRB3w" }, 22 | { url: "Kmd7M_Ddaa4" }, 23 | { url: "WwCoANnPui8" }, 24 | { url: "QQ03LKe3Rds" }, 25 | { url: "adAsTcW79b4" }, 26 | { url: "p39Tn8nrfyU" }, 27 | { url: "ctmXEDclb7c" }, 28 | { url: "PaPMOL12V3g" }, 29 | { url: "-c055WT4-NU" }, 30 | ] 31 | } 32 | ]; 33 | -------------------------------------------------------------------------------- /data/playlists/soleroweb-php.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "SoleroWeb PHP", 4 | hebrewName: "סולרו ווב - PHP", 5 | category: "playlist", 6 | tags: ["php"], 7 | videoTutorials: [ 8 | { url: "F7zK71cnSK4" }, 9 | { url: "hw8c0TtASdc" }, 10 | { url: "BJV6WngtOCI" }, 11 | { url: "I2PDR6Fj6ko" }, 12 | { url: "O6lR3knsjGU" }, 13 | { url: "FJNLF5-AL8g" }, 14 | { url: "ODcbkDCCobo" }, 15 | { url: "GyFF2-OlWM8" }, 16 | { url: "j2INbVD70HQ" }, 17 | { url: "b2OX95MW5T0" }, 18 | { url: "_ZvzTRSSkMU" }, 19 | { url: "EvhJf4maUU8" }, 20 | { url: "Qv5hNfGFgF8" }, 21 | { url: "HJ4DWSwWTjs" }, 22 | { url: "W2pEpkR2sG8" }, 23 | { url: "xVNfqXB3LJA" }, 24 | { url: "XIzjgA4s5Ls" }, 25 | { url: "ZGm4LrPwxyo" }, 26 | { url: "LF_D4fDOWdw" }, 27 | { url: "NSgOdibzFYk" }, 28 | { url: "_b7L9M_mZEU" }, 29 | { url: "_ATLtWIvmIQ" }, 30 | { url: "VOc6PTbOoLQ" }, 31 | { url: "t2L2fJJJl9Q" }, 32 | { url: "tmvYxEH3Xuk" }, 33 | { url: "y6vmvhJfmqw" }, 34 | { url: "T2dM2Eitwtg" }, 35 | { url: "swJ08iaFT5k" }, 36 | { url: "gehSmLKet6E" }, 37 | { url: "JrnMb1QIQs4" }, 38 | { url: "7q1aA1wWvcE" }, 39 | { url: "dNBn75VhHVc" }, 40 | { url: "nZNRyRJaflQ" }, 41 | { url: "u0UecAYwziE" }, 42 | { url: "umm7rOBK1p8" }, 43 | { url: "M6Q8Udw323s" }, 44 | { url: "fMfCgJy1_rI" }, 45 | { url: "fMwIRrT2T-o" }, 46 | { url: "XkedYaZRUOQ" }, 47 | { url: "5dJn3paYI1o" }, 48 | { url: "8ZzLI3LpfDE" }, 49 | { url: "tnni6ypscYs" }, 50 | { url: "1R_1IRN0fZw" }, 51 | { url: "4B_k6GIPvJw" }, 52 | { url: "4OADH1PZDEo" }, 53 | { url: "5-IrmoMynNw" }, 54 | { url: "K742nP5UEbY" }, 55 | { url: "cMTOiIW5fGY" }, 56 | { url: "c8CIX2TLGgw" }, 57 | { url: "uGk6erhPrfs" }, 58 | { url: "FsYszJuiJmg" }, 59 | { url: "g1m3Rj0epc8" }, 60 | { url: "kph0mL10Y-w" } 61 | ] 62 | } 63 | ]; 64 | -------------------------------------------------------------------------------- /data/playlists/the-net-ninja-html-css.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: 'The Net Ninja - HTML & CSS', 4 | hebrewName: '', 5 | category: 'playlist', 6 | tags: ['html', 'css'], 7 | videoTutorials: [ 8 | { url: 'hu-q2zYwEYs' }, 9 | { url: 'mbeT8mpmtHA' }, 10 | { url: 'YwbIeMlxZAU' }, 11 | { url: 'D3iEE29ZXRM' }, 12 | { url: 'FHZn6706e3Q' }, 13 | { url: 'kGW8Al_cga4' }, 14 | { url: '25R1Jl5P7Mw' }, 15 | { url: 'XQaHAAXIVg8' }, 16 | { url: 'FMu2cKWD90g' }, 17 | { url: 'Xig7NsIE6DI' } 18 | ] 19 | } 20 | ]; 21 | -------------------------------------------------------------------------------- /data/playlists/the-net-ninja-j.s-async.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "The Net Ninja - Asynchronous JavaScript", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["javascript"], 7 | videoTutorials: [ 8 | { url: "ZcQyJ-gxke0" }, 9 | { url: "aNDfsHQ5Gts" }, 10 | { url: "R3tZ3FtTluQ" }, 11 | { url: "K-Q-xyrA89M" }, 12 | { url: "a941B7g3fv8" }, 13 | { url: "EQem2gugonA" }, 14 | { url: "a_8nrslImo4" }, 15 | { url: "GfVMKkUk2Uo" }, 16 | { url: "drK6mdA9d_M" }, 17 | { url: "CWjNefiE47Y" }, 18 | { url: "AoBSB00vW5A" }, 19 | ] 20 | } 21 | ]; 22 | -------------------------------------------------------------------------------- /data/playlists/the-net-ninja-node-auth-jwt.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "The Net Ninja - Node Auth with JWY", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["nodejs"], 7 | videoTutorials: [ 8 | { url: "SnoAwLP1a-0" }, 9 | { url: "muhJTRQ7WMk" }, 10 | { url: "uiKwHx2K1Fo" }, 11 | { url: "mnJxyc0DGM8" }, 12 | { url: "nukNITdis9g" }, 13 | { url: "teDkX-_Zkbw" }, 14 | { url: "DmrjFKTLOYo" }, 15 | { url: "8RiDRdHPcxA" }, 16 | { url: "mevc_dl1i1I" }, 17 | { url: "LZq0G8WUaII" }, 18 | { url: "S-ZIfNuT5H8" }, 19 | { url: "eWGwQ1__73E" }, 20 | { url: "VliJT26LPFA" }, 21 | { url: "f-2jDPgh_Ng" }, 22 | { url: "9N7uqbuODqs" }, 23 | { url: "jQn74jB5dg0" }, 24 | { url: "JqF2BJBQI9Y" }, 25 | { url: "mqubRYtnPcs" }, 26 | ] 27 | } 28 | ]; 29 | -------------------------------------------------------------------------------- /data/playlists/the-net-ninja-node.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "The Net Ninja - Node.js Crash Course", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["nodejs"], 7 | videoTutorials: [ 8 | { url: "zb3Qk8SG5Ms" }, 9 | { url: "OIBIXYLJjsI" }, 10 | { url: "-HPZ1leCV8k" }, 11 | { url: "DQD00NAUPNk" }, 12 | { url: "bdHE2wHT-gQ" }, 13 | { url: "Lr9WUkeYSA8" }, 14 | { url: "yXEesONd_54" }, 15 | { url: "_GJKAs7A0_4" }, 16 | { url: "bxsemcrY4gQ" }, 17 | { url: "VVGgacjzc2Y" }, 18 | { url: "zW_tZR0Ir3Q" }, 19 | ] 20 | } 21 | ]; 22 | -------------------------------------------------------------------------------- /data/playlists/the-net-ninja-object-oriented-j.s.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "The Net Ninja - Object Oriented JavaScript", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["javascript"], 7 | videoTutorials: [ 8 | { url: "4l3bTDlT6ZI" }, 9 | { url: "7d9H34ZVRPg" }, 10 | { url: "ni9e-lOEw3Q" }, 11 | { url: "Ug4ChzopcE4" }, 12 | { url: "HboT8g_QSGc" }, 13 | { url: "hy-C4NY7A_8" }, 14 | { url: "8x1fygdWabY" }, 15 | { url: "_cgBvtYT3fQ" }, 16 | { url: "3HsLZ7WUUt4" }, 17 | { url: "4jb4AYEyhRc" }, 18 | { url: "Fsp42zUNJYU" }, 19 | ] 20 | } 21 | ]; 22 | -------------------------------------------------------------------------------- /data/playlists/the-net-ninja-strapi.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "The Net Ninja - Strapi", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["strapi"], 7 | videoTutorials: [ 8 | { url: "4Ntd414raYc" }, 9 | { url: "vG4M5f2wKK0" }, 10 | { url: "TVwW01BqYQQ" }, 11 | { url: "N4JpylgjRK0" }, 12 | { url: "8IVQahYX-mc" }, 13 | { url: "cOE_hF2xjpM" }, 14 | { url: "9OwZHtH6Ppo" }, 15 | { url: "3x-DeIbuNLc" }, 16 | { url: "Y5iDq-suzCA" }, 17 | { url: "qUiox_rkdvw" }, 18 | { url: "94ygizaXG38" }, 19 | { url: "OF-GZ8j60cI" }, 20 | { url: "Ym-UBtxril4" }, 21 | { url: "mHuUASWQij4" }, 22 | ], 23 | }, 24 | ]; 25 | -------------------------------------------------------------------------------- /data/playlists/the-net-ninja-vue.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "The Net Ninja - Vue JS 3 for Beginners", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["vue"], 7 | videoTutorials: [ 8 | { url: "YrxBCBibVo0" }, 9 | { url: "F7PLPJqVotk" }, 10 | { url: "CYPZBK8zUik" }, 11 | { url: "GWRvrSqnFbM" }, 12 | { url: "KM1U6DqZf8M" }, 13 | { url: "bc6czIBLKTg" }, 14 | { url: "ixOcve5PX-Q" }, 15 | { url: "juocv4AtrHo" }, 16 | { url: "7iDGJolHFmU" }, 17 | { url: "V-kxBWcPJfo" }, 18 | { url: "0FwBjPeLqQ8" }, 19 | { url: "Dj_2j-IKXuo" }, 20 | ], 21 | }, 22 | ]; 23 | -------------------------------------------------------------------------------- /data/playlists/tocode-react.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Tocode - React", 4 | hebrewName: "", 5 | category: "playlist", 6 | tags: ["react"], 7 | videoTutorials: [ 8 | { url: "wgcRHZatR7I" }, 9 | { url: "cfgaPVN-g5E" }, 10 | { url: "MR8JlqgTEos" }, 11 | { url: "-RLrLonTx8U" }, 12 | { url: "6dwrRkih5BE" }, 13 | { url: "bf541NclFS8" }, 14 | { url: "CUl8tPV69QM" } 15 | ] 16 | } 17 | ]; 18 | -------------------------------------------------------------------------------- /data/playlists/whatspython.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Whats Python", 4 | hebrewName: "מה זה פייתון", 5 | category: "playlist", 6 | tags: ["python"], 7 | videoTutorials: [ 8 | { url: "FSq6ghoEFq8" }, 9 | { url: "DzTDjSu3qcU" }, 10 | { url: "ZLAak4DulDE" }, 11 | { url: "B4UEyOzLYTM" }, 12 | { url: "hQYegu5N3rk" }, 13 | { url: "KFrrBl7G2E" }, 14 | { url: "uQ-RIw2ydvc" }, 15 | { url: "eVLiNIXIDOM" }, 16 | { url: "S2akSEAqKQ" }, 17 | { url: "PCozchOqqUE" }, 18 | { url: "cY2yUXzYuZs" }, 19 | { url: "nZVZKGvyxK0" }, 20 | { url: "0lhAIy5znQ" }, 21 | { url: "yQnI22JGcFk" }, 22 | { url: "en6brwoQ4z0" }, 23 | { url: "ognndf2prqU" }, 24 | { url: "hEW4AwVK6lI" }, 25 | { url: "oFJpf_BNYXM" }, 26 | { url: "BGhvcs0IOgY" }, 27 | { url: "5PQPlp5XX90" }, 28 | { url: "QEYliJGs8cg" }, 29 | { url: "rxHZGXK16hU" }, 30 | { url: "rrwlR54dipg" }, 31 | { url: "hVo8Ld1fY1o" }, 32 | { url: "_4RJq4qZ_Ms" }, 33 | { url: "VjYlLJKYJos" }, 34 | { url: "nSoyG78x43U" }, 35 | { url: "xEnoDaZ7TiA" }, 36 | { url: "LU9lEV-nhN8" }, 37 | { url: "jxHH4W0wefE" }, 38 | { url: "awOlb1wa3WY" }, 39 | { url: "58jTLq6WPBg" }, 40 | { url: "kSA0Okmyrs4" }, 41 | { url: "cboIGfv6Q8Q" }, 42 | { url: "Y83o1txxZfc" }, 43 | { url: "B19qH3XFnxY" }, 44 | { url: "LdBvwz5GHQI" }, 45 | { url: "vADlHtw7zgM" }, 46 | { url: "dgPB42tApsI" }, 47 | { url: "eoXEaAbpefE" }, 48 | { url: "RCLe020pUto" }, 49 | { url: "rOQAlNNMsbw" }, 50 | { url: "6JXkK-6zSig" }, 51 | { url: "1vesjJ9DuYw" }, 52 | { url: "OdROffWqCzU" }, 53 | { url: "_MreF4RHzD8" }, 54 | { url: "wnpJ5o0lqjc" }, 55 | { url: "4al95W-m0DQ" }, 56 | { url: "M01BsPzI4rQ" }, 57 | { url: "SxF00LX6sn4" }, 58 | { url: "eLvnw8Ve3zI" }, 59 | { url: "v1waF2jy0uA" }, 60 | { url: "Ru9VAKTvMsU" }, 61 | { url: "rJhun-Kf6wk" }, 62 | { url: "ae0u8aqWIro" }, 63 | { url: "NDQvV2jKKFg" }, 64 | { url: "0fXITzamsGs" }, 65 | { url: "7wAi6EAsR_A" }, 66 | { url: "FL6arLcwahw" }, 67 | { url: "J3Ng740SsU0" }, 68 | { url: "pI6K8RJ0xXg" }, 69 | { url: "ok2pkVZpZDs" }, 70 | { url: "8YYYSnL4CO8" }, 71 | { url: "8IVotABFO4" }, 72 | { url: "u0DzaGwZzxo" }, 73 | { url: "gAX0465S-6E" }, 74 | { url: "fuOKa5UxgOQ" }, 75 | { url: "tfpJ2MuP69s" }, 76 | { url: "WuOqIJ1D4a8" } 77 | ] 78 | } 79 | ]; 80 | -------------------------------------------------------------------------------- /data/podcasts.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "מפתחים חסרי תרבות", 4 | description: "פודקאסט בעברית על חיי היום יום של צוותי פיתוח", 5 | link: "http://notarbut.co/", 6 | color: "#919DCC", 7 | }, 8 | { 9 | name: "רברס עם פלטפורמה", 10 | description: "הפודקאסט של אורי ורן", 11 | link: "https://www.reversim.com", 12 | color: "#ff2600", 13 | }, 14 | { 15 | name: "DDOS Developers", 16 | description: "הייטק | קהילת מפתחים חרדים", 17 | link: "https://www.ddosdevs.co.il/podcast", 18 | color: "#7680c1", 19 | image: "https://static.wixstatic.com/media/0914b5_0a64c8ec3f134495965c1398e17537cc~mv2.png/v1/fill/w_128,h_114,al_c,q_85,usm_0.66_1.00_0.01/LogoMakr_1Ly6VT.webp" 20 | }, 21 | { 22 | name: "CYBERCYBER", 23 | description: "סיפורים על האקרים, קאקרים, פירצות אבטחה, בורקס ופחמימות באופן כללי", 24 | link: "https://cybercyber.co.il/?cat=2", 25 | image: "https://cybercyber.co.il/wp-content/uploads/2018/12/cropped-2018-12-20_tagmp3_wsrp6cgsr4vo-150x150.jpg", 26 | color: "#fefc61", 27 | }, 28 | { 29 | name: "The Changelog", 30 | description: "The software world's best weekly news brief, deep technical interviews, and talk show", 31 | link: "https://changelog.com", 32 | image: 33 | "https://cdn.changelog.com/static/images/podcasts/podcast-original-f16d0363067166f241d080ee2e2d4a28.png", 34 | color: "#59B287", 35 | }, 36 | { 37 | name: "Syntax", 38 | description: "A Tasty Treats Podcast for Web Developers.", 39 | link: "https://syntax.fm", 40 | image: "https://syntax.fm/static/logo.png", 41 | color: "#d0a650", 42 | }, 43 | { 44 | name: "Code[ish]", 45 | description: 46 | "A podcast from the team at Heroku, exploring code, technology, tools, tips, and the life of the developer.", 47 | link: "https://www.heroku.com/podcasts/codeish", 48 | image: 49 | "https://www1.assets.heroku.com/assets/podcast/codeish/codeish-logo-square-purple-16a8ad4d7ee52d1e31726be3527a299057df336503828eadb48d595a5c8ad5e8.svg", 50 | color: "#79589F", 51 | }, 52 | { 53 | name: "Programming Throwdown", 54 | description: "Programming Throwdown with Patrick Wheeler and Jason Gauci", 55 | link: "https://www.programmingthrowdown.com/", 56 | image: 57 | "https://3.bp.blogspot.com/-rM9WWDxF9Oo/V2Aq6xitPNI/AAAAAAAAOgM/DJ32nsyJxrQqjFARXKs3LR0Q09hCCbiQACK4B/s758/PTLogoWithTitleAndBorder256.png", 58 | color: "#068808", 59 | }, 60 | { 61 | name: "Real Python", 62 | description: "Python Tips, Interviews, and More", 63 | link: "https://realpython.com/podcasts/rpp/", 64 | color: "#18354c", 65 | }, 66 | { 67 | name: "Devchat", 68 | description: "Podcasts on various topics & technologies", 69 | link: "https://devchat.tv/", 70 | image: "https://devchat.tv/wp-content/uploads/2020/06/Logo-web.png", 71 | color: "#2acaea", 72 | }, 73 | { 74 | name: "Style Guide", 75 | description: "A small batch series of interviews on Style Guides", 76 | link: "http://styleguides.io/podcast/", 77 | color: "#6cbcca", 78 | }, 79 | { 80 | name: "InfoQ", 81 | description: "Intended for architects and senior developers.", 82 | link: "https://www.infoq.com/podcasts/", 83 | image: "https://www.infoq.com/styles/static/images/podcast/podcast-infoq.png", 84 | color: "#1d8d44", 85 | }, 86 | { 87 | name: "GRC", 88 | description: "Security now!", 89 | link: "https://www.grc.com/securitynow.htm", 90 | image: "https://www.grc.com/mh-logo.gif", 91 | color: "#d25253", 92 | }, 93 | { 94 | name: "Full Stack Radio", 95 | description: "A podcast for developers interested in building great software products", 96 | link: "https://fullstackradio.com/", 97 | image: "https://fullstackradio.com/podcast-cover.jpg", 98 | color: "#74b5b5", 99 | }, 100 | { 101 | name: "Egghead podcast", 102 | description: "Concise Full Stack Courses for Busy Web Developers", 103 | link: "https://egghead.io/podcasts/", 104 | image: "https://egghead.io/_next/static/media/eggo.a29f6f2d.svg", 105 | color: "#ffffff", 106 | }, 107 | ]; 108 | -------------------------------------------------------------------------------- /data/redditChannels.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { name: "vuejs", color: "#5ab58d" }, 3 | { name: "reactjs", color: "#004075" }, 4 | { name: "angular", color: "#228ddc" }, 5 | { name: "programming", color: "#002631" }, 6 | { name: "python", color: "#6186b3" }, 7 | { name: "javascript", color: "#e6ad12" }, 8 | { name: "learnprogramming", color: "#57b869" }, 9 | { name: "ProgrammerHumor", color: "#777ab5" }, 10 | { name: "java", color: "#2495E8" }, 11 | { name: "LearnJavaScript", color: "#2495E8" }, 12 | { name: "technology", color: "#29dbc6" }, 13 | { name: "ReverseEngineering", color: "#2495E8" }, 14 | { name: "WordPress", color: "#00678c" }, 15 | { name: "i3wm", color: "#2495e8" }, 16 | { name: "golang", color: "#2d6ee8" }, 17 | { name: "selfhosted", color: "#2495E8" }, 18 | { name: "firefox", color: "#ff532a" }, 19 | { name: "VSCode", color: "#21acf2" }, 20 | { name: "Chrome", color: "#d54345" }, 21 | { name: "PostgreSQL", color: "#014980" }, 22 | { name: "laravel", color: "#ff2d20" }, 23 | { name: "web_design", color: "#4b43af" }, 24 | { name: "aws", color: "#146eb4" }, 25 | { name: "Android", color: "#229179" }, 26 | { name: "cybersecurity", color: "#cc3600" }, 27 | { name: "androidthemes", color: "#009595" }, 28 | { name: "Angular2", color: "#e4e8ea" }, 29 | { name: "angularjs", color: "#0079D3" }, 30 | { name: "cscareerquestions", color: "#349e48" }, 31 | { name: "PHPhelp", color: "#8f9ed1" }, 32 | { name: "HTML", color: "#0079D3" }, 33 | { name: "node", color: "#46d160" }, 34 | { name: "commandline", color: "#545452" }, 35 | { name: "firefox", color: "#9059ff" }, 36 | { name: "linux", color: "#414a77" }, 37 | { name: "vim", color: "#46d160" }, 38 | { name: "graphql", color: "#e10098" }, 39 | { name: "Typescript", color: "#0079D3" }, 40 | { name: "SQLServer", color: "#b8001f" }, 41 | { name: "datascience", color: "#32a852" }, 42 | { name: "excel", color: "#1e7145" }, 43 | { name: "askscience", color: "#373c3f" }, 44 | { name: "devops", color: "#0079D3" }, 45 | { name: "linuxmint", color: "#94e044" }, 46 | { name: "linuxquestions", color: "#0079d3" }, 47 | { name: "Ubuntu", color: "#a0363c" }, 48 | { name: "PowerShell", color: "#0079D3" }, 49 | { name: "bashonubuntuonwindows", color: "#545452" }, 50 | { name: "Windows", color: "#0079d3" }, 51 | { name: "Windows10", color: "#0078d7" }, 52 | { name: "dotnet", color: "#7e53c1" }, 53 | { name: "PHP", color: "#8893bd" }, 54 | { name: "FirefoxCSS", color: "#F7C500" }, 55 | { name: "EtherMining", color: "#794C65" }, 56 | { name: "Haskell", color: "#5e5086" }, 57 | { name: "elementor", color: "#ff38d7" }, 58 | { name: "nginx", color: "#0079d3" }, 59 | { name: "sveltejs", color: "#e55f2d" }, 60 | { name: "bunjs", color: "#2d97e5" }, 61 | { name: "webdev", color: "#c15151" }, 62 | { name: "GoogleAppsScript", color: "#3fbc56" }, 63 | ]; 64 | -------------------------------------------------------------------------------- /data/topicVideos.js: -------------------------------------------------------------------------------- 1 | module.exports = [ 2 | { 3 | name: "Artificial Intelligence", 4 | hebrewName: "בינה מלאכותית", 5 | category: "special topics", 6 | color: "#b198ec", 7 | videoTutorials: [ 8 | { url: "GQsngU3zZUI" }, 9 | { url: "EV-ULNzLztg" }, 10 | { url: "jroQQT8_wRI" }, 11 | { url: "QM1NphlHWCo" }, 12 | ], 13 | }, 14 | { 15 | name: "Machine Learning", 16 | hebrewName: "למידת מכונה", 17 | category: "special topics", 18 | color: "#ff6466", 19 | videoTutorials: [ 20 | { url: "u2BmFI4qwmw" }, 21 | { url: "PPLop4L2eGk" }, 22 | { url: "UzxYlbK2c7E" }, 23 | ], 24 | }, 25 | { 26 | name: "Arduino", 27 | hebrewName: "ארדואינו", 28 | category: "special topics", 29 | color: "#00979C", 30 | videoTutorials: [ 31 | { url: "Q79Ror_gb8w" }, 32 | { url: "wWyVI3997Go" }, 33 | { url: "FZZ7FxKZJkc" }, 34 | { url: "Cnf_9RP08oA" }, 35 | { url: "vJgtckLzoKM" }, 36 | { url: "DjBRScRAVrc" }, 37 | { url: "YFjEXt5oBYE" }, 38 | { url: "RKYkMqybOmM" }, 39 | { url: "78HCgaYsA70" }, 40 | { url: "wFUKHnzOQHM" }, 41 | { url: "VeNT9uxtOAY" }, 42 | { url: "GdN5IRVJOXI" }, 43 | { url: "ZHRIiGJ1Z_8" }, 44 | { url: "GVQxNtpRzug" }, 45 | { url: "QIccTzifmLE" }, 46 | { url: "59N4D1USqsk" }, 47 | { url: "YMQi3LjhAeg" }, 48 | { url: "762uvOU8QCs" }, 49 | { url: "67IEmopqE9A" }, 50 | { url: "3CGP0GukCIA" }, 51 | { url: "3Z1dVVo1-WE" }, 52 | { url: "ZIBvKcIf6Bw" }, 53 | { url: "MhkjJ50I5vs" }, 54 | { url: "WsE3rf1TnyE" }, 55 | { url: "qhzLX6Y1SOs" }, 56 | { url: "qT6kq1HgaUc" }, 57 | { url: "eJg3yuAAawA" }, 58 | { url: "Ndr6fLG5qbc" }, 59 | { url: "uDV3AVcE4f4" }, 60 | { url: "iXmlRtAk290" }, 61 | { url: "3NU-_WV4YbI" }, 62 | { url: "ipsMstssE1E" }, 63 | ], 64 | }, 65 | 66 | { 67 | name: "SEO", 68 | hebrewName: "קידום אתרים", 69 | category: "special topics", 70 | color: "#de873c", 71 | videoTutorials: [ 72 | { url: "oYkvbbKlosc" }, 73 | { url: "UJi2EpO5LoE" }, 74 | { url: "5jGb0_r7bw0" }, 75 | { url: "sNjVEu7YtJI" }, 76 | { url: "4En8qaCvkYo" }, 77 | { url: "P5BnDragTzs" }, 78 | { url: "0xwda8RtExM" }, 79 | { url: "GgSDDfgikGQ" }, 80 | { url: "3xFLbIR_GAE" }, 81 | { url: "4O4nY4u4gYw" }, 82 | { url: "xxlyisZz_rw" }, 83 | { url: "3SE9t7oOk1A" }, 84 | { url: "Rkpq0EJvULU" }, 85 | { url: "a2gIuctkVbY" }, 86 | { url: "xp7qRtVEzWg" }, 87 | { url: "8wy576QAAes" }, 88 | { url: "wA506rENAq0" }, 89 | { url: "emXF01CYmVI" }, 90 | { url: "YpxGPN-Wvo8" }, 91 | { url: "qCeonc_aaMM" }, 92 | { url: "BM5TSuQ1YO4" }, 93 | { url: "OVGiSMSmu0o" }, 94 | { url: "RUCoZxfovH4" }, 95 | { url: "PJig5CFhI6I" }, 96 | { url: "i2d6hkQ-s0M" }, 97 | { url: "nw9GyUpkaS4" }, 98 | { url: "F1KXuKybt44" }, 99 | { url: "HL_uUjVWV4w" }, 100 | { url: "IiGvUtCKyMw" }, 101 | ], 102 | }, 103 | { 104 | name: "Cyber Security", 105 | hebrewName: "אבטחת מידע", 106 | category: "special topics", 107 | color: "#73ce54", 108 | videoTutorials: [ 109 | { url: "pw27CdvR78U" }, 110 | { url: "XfbyWPrYcRM" }, 111 | { url: "8BuwL1icB9M" }, 112 | { url: "vW3swJTS51w" }, 113 | { url: "Uikcu4uHR_c" }, 114 | { url: "hPymqBifh6o" }, 115 | { url: "wZVKceJ13a8" }, 116 | { url: "ipA6ie7803c" }, 117 | { url: "A95rAJk2T6k" }, 118 | { url: "ipzCvQBJ5SE" }, 119 | { url: "izcXaFZ4eL4" }, 120 | { url: "8_3xqM-C63k" }, 121 | { url: "SlEKZY-gyDM" }, 122 | { url: "TfLPv7sthA4" }, 123 | { url: "3kh9sfL6bFw" }, 124 | { url: "fzaB4TsDewY" }, 125 | { url: "G0ZiYws5-Ms" }, 126 | { url: "5pOimn-TSvc" }, 127 | { url: "58wAVaWKwNM" }, 128 | { url: "THVjV0XW_z4" }, 129 | { url: "SBnFiuH6nZc" }, 130 | { url: "bAXxP0XmWhk" }, 131 | ], 132 | }, 133 | { 134 | name: "serverless", 135 | hebrewName: "סרבר-לס", 136 | category: "special topics", 137 | color: "#4CAF50", 138 | videoTutorials: [{ url: "ZhvlO5UJnoI" }], 139 | }, 140 | ]; 141 | -------------------------------------------------------------------------------- /data/youtubeChannels.js: -------------------------------------------------------------------------------- 1 | // Source: https://tchumim.com/topic/12462/%D7%91%D7%A7%D7%A9%D7%94-%D7%9C%D7%94%D7%9E%D7%9C%D7%A6%D7%95%D7%AA-%D7%A2%D7%9C-%D7%A2%D7%A8%D7%95%D7%A6%D7%99%D7%9D-%D7%A1%D7%A8%D7%98%D7%95%D7%A0%D7%99%D7%9D-%D7%A9%D7%9C-%D7%AA%D7%9B%D7%A0%D7%95%D7%AA-%D7%95%D7%94%D7%9E%D7%A1%D7%AA%D7%A2%D7%A3/22?_=1646950864870 2 | 3 | module.exports = [ 4 | { id: 'channel/UCmU3KXH58CVvi5Wf5kvhgBg' }, 5 | { id: 'channel/UCMgmeSgiQrVkYdJwl2aNe7Q' }, 6 | { id: 'channel/UCIld0affiSkmp-KkEit3S_w' }, 7 | { id: 'channel/UC29ju8bIPH5as8OGnQzwJyA' }, 8 | { id: 'channel/UCW5YeuERMmlnqo4oq8vwUpg' }, 9 | { id: 'channel/UCSJbGtTlrDami-tDGPUV9-w' }, 10 | { id: 'c/programmingwithmosh' }, 11 | { id: 'c/Freecodecamp' }, 12 | { id: 'c/CodinginPublic' } 13 | ]; 14 | -------------------------------------------------------------------------------- /gridsome.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | siteName: "חומרי למידה לתכנות", 3 | plugins: [ 4 | { 5 | use: "gridsome-plugin-tailwindcss" 6 | } 7 | ] 8 | }; 9 | -------------------------------------------------------------------------------- /gridsome.server.js: -------------------------------------------------------------------------------- 1 | const axios = require("axios"); 2 | 3 | const videoTutorials = require("./data/videoTutorials"); 4 | const redditChannels = require("./data/redditChannels"); 5 | const podcasts = require("./data/podcasts"); 6 | const blogs = require("./data/blogs"); 7 | const learningPlatforms = require("./data/learningPlatforms"); 8 | 9 | let id_list = videoTutorials.map((tech) => 10 | tech.videoTutorials.map((video) => video.url) 11 | ); 12 | 13 | const ID_LIST = [].concat.apply([], id_list); 14 | 15 | const CHUNK_SIZE = 50; 16 | 17 | const CHUNKS_OF_FIFTY = ID_LIST.map((e, i) => { 18 | return i % CHUNK_SIZE === 0 ? ID_LIST.slice(i, i + CHUNK_SIZE) : null; 19 | }).filter((e) => e); 20 | 21 | const formatted = CHUNKS_OF_FIFTY.map((chunk) => chunk.join("%2C")); 22 | 23 | module.exports = function(api) { 24 | api.loadSource(async (actions) => { 25 | const BASE_URL = `https://www.googleapis.com/youtube/v3/videos?part=snippet&key=${ 26 | process.env.GRIDSOME_API_KEY 27 | }&type=video&id=`; 28 | 29 | const data = await axios 30 | .all(formatted.map((req) => axios.get(`${BASE_URL}${req}`))) 31 | .then((res) => res.map((r) => r.data)); 32 | 33 | const VideoCollection = actions.addCollection("Video"); 34 | for (const d of data) { 35 | for (const [index, item] of d.items.entries()) { 36 | // API returns reversed 37 | const technologyName = videoTutorials.find((tech) => 38 | tech.videoTutorials.find((video) => video.url === item.id) 39 | ); 40 | VideoCollection.addNode({ 41 | id: item.id, 42 | index, 43 | name: technologyName.name.toLowerCase(), 44 | category: technologyName.category, 45 | title: item.snippet.title, 46 | description: item.snippet.description, 47 | thumbnail: item.snippet.thumbnails.medium.url, 48 | publishedAt: item.snippet.publishedAt, 49 | color: technologyName.color, 50 | }); 51 | } 52 | } 53 | 54 | const RedditChannels = actions.addCollection("Reddit"); 55 | redditChannels.forEach((channel) => { 56 | RedditChannels.addNode({ 57 | name: channel.name, 58 | color: channel.color, 59 | }); 60 | }); 61 | 62 | const PodcastsCollection = actions.addCollection("Podcast"); 63 | podcasts.forEach((podcast) => { 64 | PodcastsCollection.addNode({ 65 | name: podcast.name, 66 | description: podcast.description, 67 | link: podcast.link, 68 | color: podcast.color, 69 | image: podcast.image, 70 | }); 71 | }); 72 | 73 | const BlogsCollection = actions.addCollection("Blog"); 74 | blogs.forEach((blog) => { 75 | BlogsCollection.addNode({ 76 | name: blog.name, 77 | desc: blog.desc, 78 | link: blog.link, 79 | color: blog.color, 80 | isHebrew: blog.hebrew, 81 | isMedium: isMediumBlog(blog.link), 82 | }); 83 | }); 84 | 85 | const LearningPlatforms = actions.addCollection("LearningPlatform"); 86 | learningPlatforms.forEach((platform) => { 87 | LearningPlatforms.addNode({ 88 | name: platform.name, 89 | desc: platform.desc, 90 | link: platform.link, 91 | tags: platform.tags, 92 | isHebrew: platform.isHebrew || false, 93 | color: platform.color, 94 | }); 95 | }); 96 | 97 | const Categories = actions.addCollection("Category"); 98 | videoTutorials.forEach((category) => { 99 | Categories.addNode({ 100 | name: category.name, 101 | hebrewName: category.hebrewName, 102 | category: category.category, 103 | tags: category.tags, 104 | thumbnail: `https://i.ytimg.com/vi/${ 105 | category.videoTutorials[0].url 106 | }/mqdefault.jpg`, 107 | officialSite: category.officialSite, 108 | color: category.color, 109 | amountOfVideos: category.videoTutorials.length, 110 | }); 111 | }); 112 | }); 113 | 114 | api.createPages(async ({ graphql, createPage }) => { 115 | const { data } = await graphql(` 116 | { 117 | allVideo { 118 | edges { 119 | node { 120 | name 121 | id 122 | title 123 | description 124 | category 125 | publishedAt 126 | } 127 | } 128 | } 129 | } 130 | `); 131 | 132 | data.allVideo.edges.forEach(({ node }) => { 133 | if (node.category !== "playlist") { 134 | createPage({ 135 | path: `/video-tutorials/${node.name}/${node.id}`, 136 | component: "./src/templates/VideoPage.vue", 137 | context: { 138 | id: node.id, 139 | index: node.index, 140 | name: node.name, 141 | title: node.title, 142 | description: node.description, 143 | category: node.category, 144 | publishedAt: node.publishedAt, 145 | }, 146 | }); 147 | } 148 | }); 149 | 150 | videoTutorials.forEach((category) => { 151 | if (category.category !== "playlist") { 152 | createPage({ 153 | path: `/video-tutorials/${category.name.toLowerCase()}`, 154 | component: "./src/templates/TechnologyPage.vue", 155 | context: { 156 | technology: category.name.toLowerCase(), 157 | category: category.category, 158 | hebrewName: category.hebrewName, 159 | amountOfVideos: category.videoTutorials.length, 160 | color: category.color, 161 | }, 162 | }); 163 | } else if (category.category === "playlist") { 164 | const PRETTY_PATH = category.name.replace(" ", "-").toLowerCase(); 165 | createPage({ 166 | path: `/video-tutorials/playlists/${PRETTY_PATH}`, 167 | component: "./src/templates/PlaylistPage.vue", 168 | context: { 169 | name: category.name.toLowerCase(), 170 | hebrewName: category.hebrewName, 171 | amountOfVideos: category.videoTutorials.length, 172 | allVideos: category.videoTutorials, 173 | color: category.color, 174 | }, 175 | }); 176 | } 177 | }); 178 | }); 179 | }; 180 | 181 | // helpers 182 | 183 | function isMediumBlog(urlString) { 184 | return urlString.includes("://medium.com"); 185 | } 186 | -------------------------------------------------------------------------------- /netlify.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | publish = "dist" 3 | command = "npm run build" 4 | 5 | [build.environment] 6 | NODE_VERSION = "16" 7 | NPM_FLAGS = "--no-optional --legacy-peer-deps --prefer-offline" 8 | SHARP_IGNORE_GLOBAL_LIBVIPS = "true" 9 | NETLIFY_USE_YARN = "true" 10 | 11 | [build.resources] 12 | memory = 4096 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "gridsome", 3 | "private": true, 4 | "engines": { 5 | "node": ">=16.0.0" 6 | }, 7 | "scripts": { 8 | "build": "gridsome build", 9 | "start": "gridsome develop", 10 | "explore": "gridsome explore" 11 | }, 12 | "dependencies": { 13 | "axios": "^0.28.0", 14 | "date-fns": "^2.10.0", 15 | "fuse.js": "^6.4.1", 16 | "gridsome": "latest", 17 | "gridsome-plugin-tailwindcss": "latest", 18 | "sass": "^1.69.5", 19 | "sass-loader": "^10.4.1", 20 | "tailwindcss": "^1.2.0", 21 | "vue-content-loader": "^0.2.3", 22 | "vue-gtag": "^1.9.1", 23 | "vue-infinite-loading": "^2.4.4", 24 | "vue-smooth-scroll": "^1.0.13", 25 | "vue2-smooth-scroll": "^1.2.0", 26 | "vuejs-paginate": "^2.1.0", 27 | "vuex": "^3.1.2" 28 | }, 29 | "resolutions": { 30 | "sharp": "^0.31.3" 31 | }, 32 | "overrides": { 33 | "sharp": "^0.31.3" 34 | }, 35 | "devDependencies": { 36 | "@fullhuman/postcss-purgecss": "^2.0.6" 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | // postcss.config.js 2 | const purgecss = require("@fullhuman/postcss-purgecss")({ 3 | // Specify the paths to all of the template files in your project 4 | content: [ 5 | "./src/**/*.html", 6 | "./src/**/*.vue", 7 | "./src/**/*.css", 8 | "./src/**/*.scss" 9 | ], 10 | 11 | // Include any special characters you're using in this regular expression 12 | defaultExtractor: content => content.match(/[\w-/:]+(? 2 |
3 |

4 | Shaya Ulman 9 | © {{ year }} 10 |

11 | 16 | 20 | 21 |
22 | 23 | 24 | 35 | -------------------------------------------------------------------------------- /src/components/AppHeader.vue: -------------------------------------------------------------------------------- 1 | 21 | 22 | 47 | -------------------------------------------------------------------------------- /src/components/BlogCard.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 27 | 28 | 39 | -------------------------------------------------------------------------------- /src/components/CategoriesSlide.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 42 | 43 | 67 | -------------------------------------------------------------------------------- /src/components/LearningPlatformCard.vue: -------------------------------------------------------------------------------- 1 | 47 | 48 | 74 | 75 | 86 | -------------------------------------------------------------------------------- /src/components/NavItem.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 36 | 37 | 42 | -------------------------------------------------------------------------------- /src/components/PlaylistCard.vue: -------------------------------------------------------------------------------- 1 | 66 | 67 | 122 | 123 | 135 | -------------------------------------------------------------------------------- /src/components/PlaylistItem.vue: -------------------------------------------------------------------------------- 1 | 22 | 23 | 33 | -------------------------------------------------------------------------------- /src/components/PlaylistList.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 24 | -------------------------------------------------------------------------------- /src/components/PodcastCard.vue: -------------------------------------------------------------------------------- 1 | 30 | 31 | 60 | -------------------------------------------------------------------------------- /src/components/RedditCard.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 28 | -------------------------------------------------------------------------------- /src/components/TechCard.vue: -------------------------------------------------------------------------------- 1 | 40 | 41 | 42 | { 43 | categories: allCategory { 44 | edges { 45 | node { 46 | name 47 | category 48 | amountOfVideos 49 | } 50 | } 51 | } 52 | } 53 | 54 | 55 | 88 | 89 | 94 | -------------------------------------------------------------------------------- /src/components/TechCategory.vue: -------------------------------------------------------------------------------- 1 | 35 | 36 | 37 | { 38 | categories: allCategory { 39 | edges { 40 | node { 41 | name 42 | hebrewName 43 | category 44 | tags 45 | amountOfVideos 46 | officialSite 47 | color 48 | } 49 | } 50 | } 51 | } 52 | 53 | 54 | 120 | -------------------------------------------------------------------------------- /src/components/TechList.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 30 | -------------------------------------------------------------------------------- /src/components/UI/AppIcon.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 30 | -------------------------------------------------------------------------------- /src/components/UI/AppLoader.vue: -------------------------------------------------------------------------------- 1 | 63 | 64 | 72 | -------------------------------------------------------------------------------- /src/components/UI/AppLogo.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /src/components/UI/BlogIcon.vue: -------------------------------------------------------------------------------- 1 | 61 | -------------------------------------------------------------------------------- /src/components/UI/ExternalIcon.vue: -------------------------------------------------------------------------------- 1 | 54 | -------------------------------------------------------------------------------- /src/components/UI/GithubIcon.vue: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /src/components/UI/IsraelFlagIcon.vue: -------------------------------------------------------------------------------- 1 | 31 | 32 | 37 | -------------------------------------------------------------------------------- /src/components/UI/NewBadge.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 17 | -------------------------------------------------------------------------------- /src/components/UI/PodcastIcon.vue: -------------------------------------------------------------------------------- 1 | 64 | 65 | 72 | -------------------------------------------------------------------------------- /src/components/UI/RedditIcon.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | 31 | -------------------------------------------------------------------------------- /src/components/UI/StudentIcon.vue: -------------------------------------------------------------------------------- 1 | 73 | -------------------------------------------------------------------------------- /src/components/UI/ThemeToggle.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 48 | 49 | 64 | -------------------------------------------------------------------------------- /src/components/UI/YoutubeIcon.vue: -------------------------------------------------------------------------------- 1 | 16 | -------------------------------------------------------------------------------- /src/components/VideoCard.vue: -------------------------------------------------------------------------------- 1 | 46 | 47 | 110 | 111 | 128 | -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/src/favicon.ico -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 9 | 10 | 11 | 18 | 19 | 27 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 60 | 61 | 62 | 63 | 64 | 70 | ${head} 71 | 72 | 73 | 74 | ${app} ${scripts} 75 | 76 | 77 | 78 | -------------------------------------------------------------------------------- /src/layouts/Default.vue: -------------------------------------------------------------------------------- 1 | 16 | 17 | 61 | 62 | 77 | -------------------------------------------------------------------------------- /src/layouts/README.md: -------------------------------------------------------------------------------- 1 | Layout components are used to wrap pages and templates. Layouts should contain components like headers, footers or sidebars that will be used across the site. 2 | 3 | Learn more about Layouts: https://gridsome.org/docs/layouts 4 | 5 | You can delete this file. -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | // This is the main.js file. Import global CSS and scripts here. 2 | // The Client API can be used here. Learn more: gridsome.org/docs/client-api 3 | import Vuex from "vuex"; 4 | import VueGtag from "vue-gtag"; 5 | 6 | import DefaultLayout from "~/layouts/Default.vue"; 7 | import "~/assets/tailwind.css"; 8 | import "~/assets/global.scss"; 9 | import vueSmoothScroll from "vue-smooth-scroll"; 10 | import InfiniteLoading from "vue-infinite-loading"; 11 | 12 | export default function(Vue, { router, head, isClient, appOptions }) { 13 | // Set default layout as a global component 14 | Vue.component("Layout", DefaultLayout); 15 | Vue.use(router); 16 | Vue.use(Vuex); 17 | Vue.use(vueSmoothScroll); 18 | Vue.use(InfiniteLoading); 19 | 20 | Vue.filter("number", (value) => 21 | isNaN(value) ? "" : Number(value).toLocaleString("en") 22 | ); 23 | 24 | if (process.isClient) { 25 | const Paginate = require("vuejs-paginate"); 26 | 27 | Vue.component("Paginate", Paginate); 28 | Vue.use( 29 | VueGtag, 30 | { 31 | config: { id: "UA-153721766-1" }, 32 | }, 33 | router 34 | ); 35 | } 36 | 37 | appOptions.store = new Vuex.Store({ 38 | state: { 39 | theme: getTheme(), 40 | }, 41 | mutations: { 42 | TOGGLE_THEME(state) { 43 | state.theme = 44 | state.theme === "theme-dark" ? "theme-light" : "theme-dark"; 45 | if (process.isClient) { 46 | localStorage.setItem("theme", state.theme); 47 | } 48 | }, 49 | SET_THEME(state) { 50 | state.theme = getTheme(); 51 | }, 52 | }, 53 | }); 54 | } 55 | 56 | function getTheme() { 57 | if (process.isClient) { 58 | return localStorage.getItem("theme") || "theme-dark"; 59 | } 60 | return "theme-dark"; 61 | } 62 | -------------------------------------------------------------------------------- /src/pages/Index.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 35 | { 36 | categories: allCategory { 37 | edges { 38 | node { 39 | amountOfVideos 40 | } 41 | } 42 | } 43 | } 44 | 45 | 46 | 73 | 74 | 79 | -------------------------------------------------------------------------------- /src/pages/README.md: -------------------------------------------------------------------------------- 1 | Pages are usually used for normal pages or for listing items from a GraphQL collection. 2 | Add .vue files here to create pages. For example **About.vue** will be **site.com/about**. 3 | Learn more about pages: https://gridsome.org/docs/pages 4 | 5 | You can delete this file. -------------------------------------------------------------------------------- /src/pages/blogs.vue: -------------------------------------------------------------------------------- 1 | 44 | 45 | 46 | { 47 | blog: allBlog { 48 | edges { 49 | node { 50 | name 51 | desc, 52 | link, 53 | color, 54 | isHebrew, 55 | isMedium 56 | } 57 | } 58 | } 59 | } 60 | 61 | 62 | 81 | -------------------------------------------------------------------------------- /src/pages/contact.vue: -------------------------------------------------------------------------------- 1 | 61 | 62 | 96 | 97 | 139 | -------------------------------------------------------------------------------- /src/pages/contribute.vue: -------------------------------------------------------------------------------- 1 | 62 | 63 | 64 | query { 65 | allVideo { 66 | edges { 67 | node { 68 | id 69 | category 70 | } 71 | } 72 | } 73 | } 74 | 75 | 76 | 99 | -------------------------------------------------------------------------------- /src/pages/learning-platforms.vue: -------------------------------------------------------------------------------- 1 | 68 | 69 | 70 | { 71 | learningPlatform: allLearningPlatform { 72 | edges { 73 | node { 74 | name 75 | desc 76 | link 77 | color 78 | tags 79 | } 80 | } 81 | } 82 | } 83 | 84 | 85 | 167 | 168 | 189 | -------------------------------------------------------------------------------- /src/pages/podcasts.vue: -------------------------------------------------------------------------------- 1 | 33 | 34 | 35 | { 36 | podcast: allPodcast (sortBy: "index" order:ASC) { 37 | edges { 38 | node { 39 | name 40 | description 41 | link 42 | color 43 | image 44 | } 45 | } 46 | } 47 | } 48 | 49 | 50 | 74 | -------------------------------------------------------------------------------- /src/pages/reddit.vue: -------------------------------------------------------------------------------- 1 | 62 | 63 | 64 | { 65 | reddit: allReddit { 66 | edges { 67 | node { 68 | name 69 | color 70 | id 71 | } 72 | } 73 | } 74 | } 75 | 76 | 77 | 126 | 127 | 128 | 150 | -------------------------------------------------------------------------------- /src/pages/success.vue: -------------------------------------------------------------------------------- 1 | 9 | -------------------------------------------------------------------------------- /src/templates/PlaylistPage.vue: -------------------------------------------------------------------------------- 1 | 67 | 68 | 69 | query Vid ($name: String! $page: Int){ 70 | videos: allVideo (filter: {name: {eq: $name}} perPage: 100, page: $page) @paginate { 71 | pageInfo { 72 | totalPages 73 | currentPage 74 | } 75 | edges { 76 | node { 77 | id 78 | index 79 | title 80 | description 81 | name 82 | category 83 | thumbnail 84 | color 85 | publishedAt 86 | } 87 | } 88 | } 89 | } 90 | 91 | 92 | 174 | 175 | 196 | -------------------------------------------------------------------------------- /src/templates/README.md: -------------------------------------------------------------------------------- 1 | Templates for **GraphQL collections** should be added here. 2 | To create a template for a collection called `WordPressPost` 3 | create a file named `WordPressPost.vue` in this folder. 4 | 5 | Learn more: https://gridsome.org/docs/templates 6 | 7 | You can delete this file. -------------------------------------------------------------------------------- /src/templates/TechnologyPage.vue: -------------------------------------------------------------------------------- 1 | 72 | 73 | 74 | query Vid ($technology: String! $page: Int){ 75 | videos: allVideo (sortBy: "index" order:ASC filter: {name: {eq: $technology}} perPage: 30, page: $page) @paginate { 76 | pageInfo { 77 | totalPages 78 | currentPage 79 | } 80 | edges { 81 | node { 82 | id 83 | title 84 | description 85 | name 86 | category 87 | thumbnail 88 | color 89 | publishedAt 90 | } 91 | } 92 | } 93 | } 94 | 95 | 96 | 97 | { 98 | categories: allCategory (filter: {category: {eq: "playlist"}}) { 99 | edges { 100 | node { 101 | name 102 | amountOfVideos 103 | hebrewName 104 | tags 105 | thumbnail 106 | } 107 | } 108 | } 109 | 110 | } 111 | 112 | 113 | 206 | 207 | 217 | -------------------------------------------------------------------------------- /src/templates/VideoPage.vue: -------------------------------------------------------------------------------- 1 | 68 | 69 | 132 | 133 | 154 | -------------------------------------------------------------------------------- /static/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/.gitkeep -------------------------------------------------------------------------------- /static/.well-known/apple-developer-merchantid-domain-association: -------------------------------------------------------------------------------- 1 | 7B227073704964223A2239373943394538343346343131343044463144313834343232393232313734313034353044314339464446394437384337313531303944334643463542433731222C2276657273696F6E223A312C22637265617465644F6E223A313536363233343735303036312C227369676E6174757265223A22333038303036303932613836343838366637306430313037303261303830333038303032303130313331306633303064303630393630383634383031363530333034303230313035303033303830303630393261383634383836663730643031303730313030303061303830333038323033653333303832303338386130303330323031303230323038346333303431343935313964353433363330306130363038326138363438636533643034303330323330376133313265333032633036303335353034303330633235343137303730366336353230343137303730366336393633363137343639366636653230343936653734363536373732363137343639366636653230343334313230326432303437333333313236333032343036303335353034306230633164343137303730366336353230343336353732373436393636363936333631373436393666366532303431373537343638366637323639373437393331313333303131303630333535303430613063306134313730373036633635323034393665363332653331306233303039303630333535303430363133303235353533333031653137306433313339333033353331333833303331333333323335333735613137306433323334333033353331333633303331333333323335333735613330356633313235333032333036303335353034303330633163363536333633326437333664373032643632373236663662363537323264373336393637366535663535343333343264353035323466343433313134333031323036303335353034306230633062363934663533323035333739373337343635366437333331313333303131303630333535303430613063306134313730373036633635323034393665363332653331306233303039303630333535303430363133303235353533333035393330313330363037326138363438636533643032303130363038326138363438636533643033303130373033343230303034633231353737656465626436633762323231386636386464373039306131323138646337623062643666326332383364383436303935643934616634613534313162383334323065643831316633343037653833333331663163353463336637656233323230643662616435643465666634393238393839336537633066313361333832303231313330383230323064333030633036303335353164313330313031666630343032333030303330316630363033353531643233303431383330313638303134323366323439633434663933653465663237653663346636323836633366613262626664326534623330343530363038326230363031303530353037303130313034333933303337333033353036303832623036303130353035303733303031383632393638373437343730336132663266366636333733373032653631373037303663363532653633366636643266366636333733373033303334326436313730373036633635363136393633363133333330333233303832303131643036303335353164323030343832303131343330383230313130333038323031306330363039326138363438383666373633363430353031333038316665333038316333303630383262303630313035303530373032303233303831623630633831623335323635366336393631366536333635323036663665323037343638363937333230363336353732373436393636363936333631373436353230363237393230363136653739323037303631373237343739323036313733373337353664363537333230363136333633363537303734363136653633363532303666363632303734363836353230373436383635366532303631373037303663363936333631363236633635323037333734363136653634363137323634323037343635373236643733323036313665363432303633366636653634363937343639366636653733323036663636323037353733363532633230363336353732373436393636363936333631373436353230373036663663363936333739323036313665363432303633363537323734363936363639363336313734363936663665323037303732363136333734363936333635323037333734363137343635366436353665373437333265333033363036303832623036303130353035303730323031313632613638373437343730336132663266373737373737326536313730373036633635326536333666366432663633363537323734363936363639363336313734363536313735373436383666373236393734373932663330333430363033353531643166303432643330326233303239613032376130323538363233363837343734373033613266326636333732366332653631373037303663363532653633366636643266363137303730366336353631363936333631333332653633373236633330316430363033353531643065303431363034313439343537646236666435373438313836383938393736326637653537383530376537396235383234333030653036303335353164306630313031666630343034303330323037383033303066303630393261383634383836663736333634303631643034303230353030333030613036303832613836343863653364303430333032303334393030333034363032323130306265303935373166653731653165373335623535653561666163623463373266656234343566333031383532323263373235313030326236316562643666353530323231303064313862333530613564643664643665623137343630333562313165623263653837636661336536616636636264383338303839306463383263646461613633333038323032656533303832303237356130303330323031303230323038343936643266626633613938646139373330306130363038326138363438636533643034303330323330363733313162333031393036303335353034303330633132343137303730366336353230353236663666373432303433343132303264323034373333333132363330323430363033353530343062306331643431373037303663363532303433363537323734363936363639363336313734363936663665323034313735373436383666373236393734373933313133333031313036303335353034306130633061343137303730366336353230343936653633326533313062333030393036303335353034303631333032353535333330316531373064333133343330333533303336333233333334333633333330356131373064333233393330333533303336333233333334333633333330356133303761333132653330326330363033353530343033306332353431373037303663363532303431373037303663363936333631373436393666366532303439366537343635363737323631373436393666366532303433343132303264323034373333333132363330323430363033353530343062306331643431373037303663363532303433363537323734363936363639363336313734363936663665323034313735373436383666373236393734373933313133333031313036303335353034306130633061343137303730366336353230343936653633326533313062333030393036303335353034303631333032353535333330353933303133303630373261383634386365336430323031303630383261383634386365336430333031303730333432303030346630313731313834313964373634383564353161356532353831303737366538383061326566646537626165346465303864666334623933653133333536643536363562333561653232643039373736306432323465376262613038666437363137636538386362373662623636373062656338653832393834666635343435613338316637333038316634333034363036303832623036303130353035303730313031303433613330333833303336303630383262303630313035303530373330303138363261363837343734373033613266326636663633373337303265363137303730366336353265363336663664326636663633373337303330333432643631373037303663363537323666366637343633363136373333333031643036303335353164306530343136303431343233663234396334346639336534656632376536633466363238366333666132626266643265346233303066303630333535316431333031303166663034303533303033303130316666333031663036303335353164323330343138333031363830313462626230646561313538333338383961613438613939646562656264656261666461636232346162333033373036303335353164316630343330333032653330326361303261613032383836323636383734373437303361326632663633373236633265363137303730366336353265363336663664326636313730373036633635373236663666373436333631363733333265363337323663333030653036303335353164306630313031666630343034303330323031303633303130303630613261383634383836663736333634303630323065303430323035303033303061303630383261383634386365336430343033303230333637303033303634303233303361636637323833353131363939623138366662333563333536636136326266663431376564643930663735346461323865626566313963383135653432623738396638393866373962353939663938643534313064386639646539633266653032333033323264643534343231623061333035373736633564663333383362393036376664313737633263323136643936346663363732363938323132366635346638376137643162393963623962303938393231363130363939306630393932316430303030333138323031386233303832303138373032303130313330383138363330376133313265333032633036303335353034303330633235343137303730366336353230343137303730366336393633363137343639366636653230343936653734363536373732363137343639366636653230343334313230326432303437333333313236333032343036303335353034306230633164343137303730366336353230343336353732373436393636363936333631373436393666366532303431373537343638366637323639373437393331313333303131303630333535303430613063306134313730373036633635323034393665363332653331306233303039303630333535303430363133303235353533303230383463333034313439353139643534333633303064303630393630383634383031363530333034303230313035303061303831393533303138303630393261383634383836663730643031303930333331306230363039326138363438383666373064303130373031333031633036303932613836343838366637306430313039303533313066313730643331333933303338333133393331333733313332333333303561333032613036303932613836343838366637306430313039333433313164333031623330306430363039363038363438303136353033303430323031303530306131306130363038326138363438636533643034303330323330326630363039326138363438383666373064303130393034333132323034323062303731303365313430613462386231376262613230316130336163643036396234653431366232613263383066383661383338313435633239373566633131333030613036303832613836343863653364303430333032303434363330343430323230343639306264636637626461663833636466343934396534633035313039656463663334373665303564373261313264376335666538633033303033343464663032323032363764353863393365626233353031333836363062353730373938613064643731313734316262353864626436613138363633353038353431656565393035303030303030303030303030227D -------------------------------------------------------------------------------- /static/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/android-chrome-192x192.png -------------------------------------------------------------------------------- /static/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/android-chrome-512x512.png -------------------------------------------------------------------------------- /static/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/apple-touch-icon.png -------------------------------------------------------------------------------- /static/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/favicon-16x16.png -------------------------------------------------------------------------------- /static/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/favicon-32x32.png -------------------------------------------------------------------------------- /static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/favicon.ico -------------------------------------------------------------------------------- /static/screen-shot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/shayaulman/kosher-code/919bc200b3a920349fd45d02f3b6992e47edcc72/static/screen-shot.png -------------------------------------------------------------------------------- /static/site.webmanifest: -------------------------------------------------------------------------------- 1 | {"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"} -------------------------------------------------------------------------------- /tailwind.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | purge: ["./src/**/*.html", "./src/**/*.vue", "./src/**/*.jsx"], 3 | theme: { 4 | extend: { 5 | colors: { 6 | custom: { 7 | brand: "var(--brand)", 8 | "bg-primary": "var(--bg-primary)", 9 | "bg-primary-2": "var(--bg-primary-2)", 10 | "bg-card": "var(--bg-card)", 11 | "bg-card-2": "var(--bg-card-2)", 12 | "bg-card-3": "var(--bg-card-3)", 13 | "bg-3": "var(--bg-3)", 14 | "bg-header": "var(--bg-header)", 15 | "text-primary": "var(--text-primary)", 16 | "text-secondary": "var(--text-secondary)", 17 | "text-3": "var(--text-3)", 18 | "green-1": "var(--green-1)", 19 | "yellow-1": "var(--yellow-1)", 20 | "gray-1": "var(--gray-1)", 21 | }, 22 | }, 23 | spacing: { 24 | "34": "8.5rem", 25 | "72": "18rem", 26 | "84": "21rem", 27 | "96": "24rem", 28 | }, 29 | opacity: { 30 | "85": ".85", 31 | }, 32 | fontSize: { 33 | xxs: "0.65rem", 34 | }, 35 | boxShadow: { 36 | xxl: "0 25px 55px rgba(0,0,0,.2),0 16px 28px rgba(0,0,0,.24)", 37 | }, 38 | 39 | fontFamily: { 40 | rubik: ["Rubik", "Roboto", "sans-serif"], 41 | tomorow: "Tomorrow", 42 | }, 43 | }, 44 | }, 45 | variants: {}, 46 | plugins: [], 47 | }; 48 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | 2 | --------------------------------------------------------------------------------