├── .browserslistrc ├── public ├── robots.txt ├── favicon.ico ├── img │ └── icons │ │ ├── favicon-16x16.png │ │ ├── favicon-32x32.png │ │ ├── mstile-150x150.png │ │ ├── apple-touch-icon.png │ │ ├── android-chrome-192x192.png │ │ ├── android-chrome-512x512.png │ │ ├── apple-touch-icon-60x60.png │ │ ├── apple-touch-icon-76x76.png │ │ ├── apple-touch-icon-120x120.png │ │ ├── apple-touch-icon-152x152.png │ │ ├── apple-touch-icon-180x180.png │ │ ├── msapplication-icon-144x144.png │ │ ├── android-chrome-maskable-192x192.png │ │ ├── android-chrome-maskable-512x512.png │ │ └── safari-pinned-tab.svg └── index.html ├── babel.config.js ├── src ├── assets │ └── logo.png ├── data │ ├── content.json │ └── creators.js ├── main.js ├── registerServiceWorker.js ├── App.vue └── components │ ├── Search.vue │ └── InfoCard.vue ├── utils ├── index.js └── compose-utility.js ├── .gitignore ├── .eslintrc.js ├── package.json └── README.md /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions 3 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ["@vue/cli-plugin-babel/preset"] 3 | }; 4 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/src/assets/logo.png -------------------------------------------------------------------------------- /utils/index.js: -------------------------------------------------------------------------------- 1 | require = require("esm")(module) 2 | module.exports = require("./compose-utility.js") 3 | -------------------------------------------------------------------------------- /src/data/content.json: -------------------------------------------------------------------------------- 1 | ["JavaScript","Python","AWS","Livestreams","IoT","Hardware","Open Source","Hacking","Cloud","Serverless"] -------------------------------------------------------------------------------- /public/img/icons/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/favicon-16x16.png -------------------------------------------------------------------------------- /public/img/icons/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/favicon-32x32.png -------------------------------------------------------------------------------- /public/img/icons/mstile-150x150.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/mstile-150x150.png -------------------------------------------------------------------------------- /public/img/icons/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/apple-touch-icon.png -------------------------------------------------------------------------------- /public/img/icons/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/android-chrome-192x192.png -------------------------------------------------------------------------------- /public/img/icons/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/android-chrome-512x512.png -------------------------------------------------------------------------------- /public/img/icons/apple-touch-icon-60x60.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/apple-touch-icon-60x60.png -------------------------------------------------------------------------------- /public/img/icons/apple-touch-icon-76x76.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/apple-touch-icon-76x76.png -------------------------------------------------------------------------------- /public/img/icons/apple-touch-icon-120x120.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/apple-touch-icon-120x120.png -------------------------------------------------------------------------------- /public/img/icons/apple-touch-icon-152x152.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/apple-touch-icon-152x152.png -------------------------------------------------------------------------------- /public/img/icons/apple-touch-icon-180x180.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/apple-touch-icon-180x180.png -------------------------------------------------------------------------------- /public/img/icons/msapplication-icon-144x144.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/msapplication-icon-144x144.png -------------------------------------------------------------------------------- /public/img/icons/android-chrome-maskable-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/android-chrome-maskable-192x192.png -------------------------------------------------------------------------------- /public/img/icons/android-chrome-maskable-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gwenf/awesome-female-creators/HEAD/public/img/icons/android-chrome-maskable-512x512.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | # local env files 6 | .env.local 7 | .env.*.local 8 | 9 | # Log files 10 | npm-debug.log* 11 | yarn-debug.log* 12 | yarn-error.log* 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | *.sw? 22 | -------------------------------------------------------------------------------- /src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from "vue"; 2 | import "@inkline/inkline/dist/inkline.css"; 3 | import Inkline from "@inkline/inkline"; 4 | import "vue-search-select/dist/VueSearchSelect.css" 5 | 6 | import App from "./App.vue"; 7 | import "./registerServiceWorker"; 8 | 9 | Vue.use(Inkline); 10 | 11 | Vue.config.productionTip = false; 12 | 13 | new Vue({ 14 | render: h => h(App) 15 | }).$mount("#app"); 16 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | root: true, 3 | env: { 4 | node: true 5 | }, 6 | extends: ["plugin:vue/essential", "eslint:recommended", "@vue/prettier"], 7 | parserOptions: { 8 | parser: "babel-eslint" 9 | }, 10 | rules: { 11 | "no-console": process.env.NODE_ENV === "production" ? "error" : "off", 12 | "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off", 13 | semi: [2, "never"] 14 | } 15 | }; 16 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /utils/compose-utility.js: -------------------------------------------------------------------------------- 1 | import fs from 'fs' 2 | import path from 'path' 3 | import creators from '../src/data/creators' 4 | 5 | let contentTypes = creators 6 | .map((creator) => { 7 | return creator.content 8 | }) 9 | .reduce((accumulator, currentValue) => { 10 | return accumulator.concat(currentValue) 11 | }, []) 12 | .filter((value, index, self) => { 13 | return self.indexOf(value) === index 14 | }) 15 | console.log(contentTypes) 16 | 17 | fs.writeFile(path.join(__dirname, '../src/data/content.json'), 18 | JSON.stringify(contentTypes), 19 | err => { 20 | if (err) { 21 | console.error(err) 22 | return 23 | } 24 | console.info('Files written successfully!') 25 | } 26 | ) 27 | -------------------------------------------------------------------------------- /src/data/creators.js: -------------------------------------------------------------------------------- 1 | export default [ 2 | { 3 | name: "Gwendolyn Faraday", 4 | website: "https://gwenfaraday.com", 5 | youtube: "https://youtube.com/c/FaradayAcademy", 6 | content: ["JavaScript", "Python", "AWS", "Livestreams"] 7 | }, 8 | { 9 | name: "Noopcat", 10 | youtube: "https://www.youtube.com/user/suziam", 11 | twitter: "https://twitter.com/noopkat", 12 | content: ["IoT", "Hardware", "Open Source", "Hacking", "Livestreams"] 13 | }, 14 | { 15 | name: "Foo Bar", 16 | youtube: "https://www.youtube.com/channel/UCSLIvjWJwLRQze9Pn4cectQ", 17 | twitter: "https://twitter.com/foobar_codes", 18 | content: ["AWS", "Cloud", "Serverless"] 19 | }, 20 | { 21 | name: "Foo Bar", 22 | youtube: "https://www.youtube.com/channel/UCSLIvjWJwLRQze9Pn4cectQ", 23 | twitter: "https://twitter.com/foobar_codes", 24 | content: ["AWS", "Cloud", "Serverless"] 25 | } 26 | ] 27 | -------------------------------------------------------------------------------- /src/registerServiceWorker.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | 3 | import { register } from "register-service-worker"; 4 | 5 | if (process.env.NODE_ENV === "production") { 6 | register(`${process.env.BASE_URL}service-worker.js`, { 7 | ready() { 8 | console.log( 9 | "App is being served from cache by a service worker.\n" + 10 | "For more details, visit https://goo.gl/AFskqB" 11 | ); 12 | }, 13 | registered() { 14 | console.log("Service worker has been registered."); 15 | }, 16 | cached() { 17 | console.log("Content has been cached for offline use."); 18 | }, 19 | updatefound() { 20 | console.log("New content is downloading."); 21 | }, 22 | updated() { 23 | console.log("New content is available; please refresh."); 24 | }, 25 | offline() { 26 | console.log( 27 | "No internet connection found. App is running in offline mode." 28 | ); 29 | }, 30 | error(error) { 31 | console.error("Error during service worker registration:", error); 32 | } 33 | }); 34 | } 35 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "female-creators", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build", 8 | "lint": "vue-cli-service lint", 9 | "lint:fix": "vue-cli-service lint --fix", 10 | "compose": "node utils" 11 | }, 12 | "dependencies": { 13 | "@inkline/inkline": "^1.0.0", 14 | "core-js": "^3.6.4", 15 | "esm": "3.2.25", 16 | "register-service-worker": "^1.6.2", 17 | "vue": "^2.6.11", 18 | "vue-search-select": "2.9.3" 19 | }, 20 | "devDependencies": { 21 | "@inkline/vue-cli-plugin-inkline": "1.21.4", 22 | "@vue/cli-plugin-babel": "~4.2.0", 23 | "@vue/cli-plugin-eslint": "~4.2.0", 24 | "@vue/cli-plugin-pwa": "~4.2.0", 25 | "@vue/cli-service": "~4.2.0", 26 | "@vue/eslint-config-prettier": "^6.0.0", 27 | "babel-eslint": "^10.0.3", 28 | "eslint": "^6.7.2", 29 | "eslint-plugin-prettier": "^3.1.1", 30 | "eslint-plugin-vue": "^6.1.2", 31 | "prettier": "^1.19.1", 32 | "vue-template-compiler": "^2.6.11" 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /src/App.vue: -------------------------------------------------------------------------------- 1 | 24 | 25 | 47 | -------------------------------------------------------------------------------- /src/components/Search.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 55 | -------------------------------------------------------------------------------- /src/components/InfoCard.vue: -------------------------------------------------------------------------------- 1 | 48 | 49 | 57 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome Female Creators 2 | 3 | A list of amazing female online tutorial and course creators! 4 | 5 | ## Creators 6 | 7 | ### Socratica 8 | 9 | * [YouTube](https://www.youtube.com/user/SocraticaStudios) 10 | * Topics: Python, SQL 11 | 12 | ### Foo Bar 13 | 14 | * [YouTube](https://www.youtube.com/channel/UCSLIvjWJwLRQze9Pn4cectQ) 15 | * [Twitter](https://twitter.com/foobar_codes) 16 | * Topics: AWS, Cloud, Serverless 17 | 18 | ### Noopcat 19 | 20 | * [YouTube](https://www.youtube.com/user/suziam) 21 | * [Twitter](https://twitter.com/noopkat) 22 | * IoT, Hardware, Open Source, Hacking, Livestreams 23 | 24 | ### Blondiebytes 25 | 26 | * [YouTube](https://www.youtube.com/channel/UC4DwZ2VXM2KWtzHjVk9M_xg) 27 | * [Twitter](https://twitter.com/blondiebytes) 28 | * General Software Topics, Python 29 | 30 | ### Natalia Tepluhina 31 | 32 | * [Articles](https://www.nataliatepluhina.com/articles) 33 | * [Videos](https://www.nataliatepluhina.com/videos/) 34 | * [Twitter](https://twitter.com/N_Tepluhina) 35 | 36 | ### Ijemma Onwuzulike 37 | 38 | - [Twitter](https://twitter.com/ijemmaohno) 39 | - [YouTube](https://www.youtube.com/c/IjemmaOnwuzulike) 40 | 41 | ### Ali Spittel 42 | 43 | * [Podcast](https://www.ladybug.dev/) 44 | * [Articles](https://welearncode.com/) 45 | * [Twitter](https://twitter.com/ASpittel) 46 | 47 | ### Coding Commanders 48 | 49 | * [Tutorials](http://www.codingcommanders.com/) 50 | * [YouTube](https://www.youtube.com/codingcommanders) 51 | * [Twitter](https://twitter.com/codingCommander) 52 | 53 | ### Charlie Gerard 54 | 55 | * [Tutorials](https://medium.com/@devdevcharlie) 56 | * [YouTube](https://www.youtube.com/user/annechag) 57 | * [Twitter](https://twitter.com/devdevcharlie) 58 | 59 | ### Lea Verou 60 | 61 | * [Tutorials](http://lea.verou.me/) 62 | * [Twitter](https://twitter.com/LeaVerou) 63 | 64 | ### Ana Tudor 65 | 66 | * [YouTube](https://www.youtube.com/channel/UCUxkTxO8NivVeGKJk1QnzWQ) 67 | * [Articles](https://css-tricks.com/author/thebabydino/) 68 | * [Twitter](https://twitter.com/anatudor) 69 | 70 | ### Samantha Ming 71 | 72 | * [Articles & Courses](https://www.samanthaming.com/) 73 | * [Tidbits](https://www.samanthaming.com/tidbits) 74 | * [Twitter](https://twitter.com/samantha_ming) 75 | 76 | ### Sara Soueidan 77 | 78 | * [Articles](https://www.sarasoueidan.com/blog/) 79 | * [Twitter](https://twitter.com/SaraSoueidan) 80 | 81 | ### Sarah Drasner 82 | 83 | * [Articles](https://sarah.dev/writing) 84 | * [Twitter](https://twitter.com/sarah_edo) 85 | * Topics: Vue.js, CSS, SVG, Web Animations 86 | 87 | ### Monica 88 | 89 | * [Twitter](https://twitter.com/waterproofheart) 90 | 91 | ### Miss Xing 92 | 93 | - [YouTube](https://www.youtube.com/channel/UCZx_JAchE3N3sWfEiUGiDwg/videos) 94 | 95 | ### Marcy Sutton 96 | 97 | - [Twitter](https://twitter.com/marcysutton) 98 | 99 | ### Shirley Wu 100 | 101 | - [Twitter](https://twitter.com/sxywu) 102 | - Livecoding 103 | 104 | ### Vaidehi Joshi 105 | 106 | - [Twitter](https://twitter.com/vaidehijoshi) 107 | 108 | ### Margaret 109 | 110 | - [Twitter](https://twitter.com/margaretmz) 111 | - Topics: ML, Android 112 | 113 | ### Julia Evans 114 | 115 | - [Twitter](https://twitter.com/b0rk) 116 | 117 | ### Leomaris Reyes 118 | 119 | - [Twitter](https://twitter.com/LeomarisReyes11) 120 | 121 | ### April Speight 122 | 123 | - [Twitter](https://twitter.com/vogueandcode) 124 | - [YouTube](https://www.youtube.com/channel/UCllcDvT0AkqKH7mgRhoeKdg/videos) 125 | 126 | ### EvidenceN 127 | 128 | - [Twitter](https://twitter.com/EvidenceNMedia) 129 | - [YouTube](https://www.youtube.com/EvidenceN) 130 | - [Blog](https://evidencen.com/blog/) 131 | - Topics: Data Science 132 | 133 | ### Marina Mosti 134 | 135 | - [Twitter](https://twitter.com/MarinaMosti) 136 | - [Blog](https://dev.to/marinamosti) 137 | - Topics: JavaScript, Vue.js 138 | 139 | ### Jen Simmons 140 | 141 | - [Twitter](https://twitter.com/jensimmons) 142 | 143 | ### Tania 144 | 145 | - [Twitter](https://twitter.com/taniarascia) 146 | - [Blog](https://tania.dev/) 147 | 148 | Coding is for girls! 149 | -------------------------------------------------------------------------------- /public/img/icons/safari-pinned-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 4 | 7 | 8 | Created by potrace 1.11, written by Peter Selinger 2001-2013 9 | 10 | 12 | 148 | 149 | 150 | --------------------------------------------------------------------------------