├── .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 |
2 |
3 |
4 |
5 |
6 | Awesome Female Content Creators
7 |
8 |
9 |
10 |
11 |
12 |
13 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
47 |
--------------------------------------------------------------------------------
/src/components/Search.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
9 |
10 |
11 |
55 |
--------------------------------------------------------------------------------
/src/components/InfoCard.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {{ creator.name }}
6 |
7 |
8 |
14 | YouTube
15 |
16 |
22 | Website
23 |
24 |
30 | Twitter
31 |
32 |
33 |
34 |
35 |
42 | {{ content }}
43 |
44 |
45 |
46 |
47 |
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 |
150 |
--------------------------------------------------------------------------------