- intial gatsbyJS setup
- setting up tailwindcss and other plugins - designing the landing page - creating a reusable button component
This commit is contained in:
parent
d2e3227d01
commit
70ef926b70
|
@ -0,0 +1,69 @@
|
|||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (http://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Typescript v1 declaration files
|
||||
typings/
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# dotenv environment variable files
|
||||
.env*
|
||||
|
||||
# gatsby files
|
||||
.cache/
|
||||
public
|
||||
|
||||
# Mac files
|
||||
.DS_Store
|
||||
|
||||
# Yarn
|
||||
yarn-error.log
|
||||
.pnp/
|
||||
.pnp.js
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
|
@ -0,0 +1,4 @@
|
|||
.cache
|
||||
package.json
|
||||
package-lock.json
|
||||
public
|
|
@ -0,0 +1 @@
|
|||
{}
|
|
@ -0,0 +1,99 @@
|
|||
<!-- AUTO-GENERATED-CONTENT:START (STARTER) -->
|
||||
<p align="center">
|
||||
<a href="https://www.gatsbyjs.org">
|
||||
<img alt="Gatsby" src="https://www.gatsbyjs.org/monogram.svg" width="60" />
|
||||
</a>
|
||||
</p>
|
||||
<h1 align="center">
|
||||
Gatsby's hello-world starter
|
||||
</h1>
|
||||
|
||||
Kick off your project with this hello-world boilerplate. This starter ships with the main Gatsby configuration files you might need to get up and running blazing fast with the blazing fast app generator for React.
|
||||
|
||||
_Have another more specific idea? You may want to check out our vibrant collection of [official and community-created starters](https://www.gatsbyjs.org/docs/gatsby-starters/)._
|
||||
|
||||
## 🚀 Quick start
|
||||
|
||||
1. **Create a Gatsby site.**
|
||||
|
||||
Use the Gatsby CLI to create a new site, specifying the hello-world starter.
|
||||
|
||||
```shell
|
||||
# create a new Gatsby site using the hello-world starter
|
||||
gatsby new my-hello-world-starter https://github.com/gatsbyjs/gatsby-starter-hello-world
|
||||
```
|
||||
|
||||
1. **Start developing.**
|
||||
|
||||
Navigate into your new site’s directory and start it up.
|
||||
|
||||
```shell
|
||||
cd my-hello-world-starter/
|
||||
gatsby develop
|
||||
```
|
||||
|
||||
1. **Open the source code and start editing!**
|
||||
|
||||
Your site is now running at `http://localhost:8000`!
|
||||
|
||||
_Note: You'll also see a second link: _`http://localhost:8000/___graphql`_. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the [Gatsby tutorial](https://www.gatsbyjs.org/tutorial/part-five/#introducing-graphiql)._
|
||||
|
||||
Open the `my-hello-world-starter` directory in your code editor of choice and edit `src/pages/index.js`. Save your changes and the browser will update in real time!
|
||||
|
||||
## 🧐 What's inside?
|
||||
|
||||
A quick look at the top-level files and directories you'll see in a Gatsby project.
|
||||
|
||||
.
|
||||
├── node_modules
|
||||
├── src
|
||||
├── .gitignore
|
||||
├── .prettierrc
|
||||
├── gatsby-browser.js
|
||||
├── gatsby-config.js
|
||||
├── gatsby-node.js
|
||||
├── gatsby-ssr.js
|
||||
├── LICENSE
|
||||
├── package-lock.json
|
||||
├── package.json
|
||||
└── README.md
|
||||
|
||||
1. **`/node_modules`**: This directory contains all of the modules of code that your project depends on (npm packages) are automatically installed.
|
||||
|
||||
2. **`/src`**: This directory will contain all of the code related to what you will see on the front-end of your site (what you see in the browser) such as your site header or a page template. `src` is a convention for “source code”.
|
||||
|
||||
3. **`.gitignore`**: This file tells git which files it should not track / not maintain a version history for.
|
||||
|
||||
4. **`.prettierrc`**: This is a configuration file for [Prettier](https://prettier.io/). Prettier is a tool to help keep the formatting of your code consistent.
|
||||
|
||||
5. **`gatsby-browser.js`**: This file is where Gatsby expects to find any usage of the [Gatsby browser APIs](https://www.gatsbyjs.org/docs/browser-apis/) (if any). These allow customization/extension of default Gatsby settings affecting the browser.
|
||||
|
||||
6. **`gatsby-config.js`**: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. (Check out the [config docs](https://www.gatsbyjs.org/docs/gatsby-config/) for more detail).
|
||||
|
||||
7. **`gatsby-node.js`**: This file is where Gatsby expects to find any usage of the [Gatsby Node APIs](https://www.gatsbyjs.org/docs/node-apis/) (if any). These allow customization/extension of default Gatsby settings affecting pieces of the site build process.
|
||||
|
||||
8. **`gatsby-ssr.js`**: This file is where Gatsby expects to find any usage of the [Gatsby server-side rendering APIs](https://www.gatsbyjs.org/docs/ssr-apis/) (if any). These allow customization of default Gatsby settings affecting server-side rendering.
|
||||
|
||||
9. **`LICENSE`**: This Gatsby starter is licensed under the 0BSD license. This means that you can see this file as a placeholder and replace it with your own license.
|
||||
|
||||
10. **`package-lock.json`** (See `package.json` below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. **(You won’t change this file directly).**
|
||||
|
||||
11. **`package.json`**: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.
|
||||
|
||||
12. **`README.md`**: A text file containing useful reference information about your project.
|
||||
|
||||
## 🎓 Learning Gatsby
|
||||
|
||||
Looking for more guidance? Full documentation for Gatsby lives [on the website](https://www.gatsbyjs.org/). Here are some places to start:
|
||||
|
||||
- **For most developers, we recommend starting with our [in-depth tutorial for creating a site with Gatsby](https://www.gatsbyjs.org/tutorial/).** It starts with zero assumptions about your level of ability and walks through every step of the process.
|
||||
|
||||
- **To dive straight into code samples, head [to our documentation](https://www.gatsbyjs.org/docs/).** In particular, check out the _Guides_, _API Reference_, and _Advanced Tutorials_ sections in the sidebar.
|
||||
|
||||
## 💫 Deploy
|
||||
|
||||
[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/gatsbyjs/gatsby-starter-hello-world)
|
||||
|
||||
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/import/project?template=https://github.com/gatsbyjs/gatsby-starter-hello-world)
|
||||
|
||||
<!-- AUTO-GENERATED-CONTENT:END -->
|
Binary file not shown.
After Width: | Height: | Size: 8.3 KiB |
|
@ -0,0 +1,5 @@
|
|||
import "./src/styles/global.css";
|
||||
|
||||
import "firebase/auth";
|
||||
import "firebase/analytics";
|
||||
import "firebase/firestore";
|
|
@ -0,0 +1,58 @@
|
|||
/**
|
||||
* Configure your Gatsby site with this file.
|
||||
*
|
||||
* See: https://www.gatsbyjs.org/docs/gatsby-config/
|
||||
*/
|
||||
|
||||
module.exports = {
|
||||
plugins: [
|
||||
{
|
||||
resolve: `gatsby-plugin-prefetch-google-fonts`,
|
||||
options: {
|
||||
fonts: [
|
||||
{
|
||||
family: `Montserrat`,
|
||||
variants: [`400`, `500`, `600`, `700`],
|
||||
},
|
||||
],
|
||||
},
|
||||
},
|
||||
`gatsby-plugin-react-helmet`,
|
||||
{
|
||||
resolve: `gatsby-plugin-manifest`,
|
||||
options: {
|
||||
name: `Reactive Resume`,
|
||||
short_name: `RxResume`,
|
||||
start_url: `/`,
|
||||
background_color: `#FFFFFF`,
|
||||
theme_color: `#444444`,
|
||||
display: `standalone`,
|
||||
},
|
||||
},
|
||||
`gatsby-plugin-postcss`,
|
||||
{
|
||||
resolve: `gatsby-source-filesystem`,
|
||||
options: {
|
||||
name: `images`,
|
||||
path: `${__dirname}/assets/images/`,
|
||||
},
|
||||
},
|
||||
`gatsby-plugin-sharp`,
|
||||
`gatsby-transformer-sharp`,
|
||||
{
|
||||
resolve: "gatsby-plugin-firebase",
|
||||
options: {
|
||||
credentials: {
|
||||
apiKey: "AIzaSyCfC075KJNwsMWDTm6k8QCtWno48okM7wY",
|
||||
authDomain: "rx-resume.firebaseapp.com",
|
||||
databaseURL: "https://rx-resume.firebaseio.com",
|
||||
projectId: "rx-resume",
|
||||
storageBucket: "rx-resume.appspot.com",
|
||||
messagingSenderId: "493152774539",
|
||||
appId: "1:493152774539:web:ecaa1222f5e1bcf8fb678e",
|
||||
measurementId: "G-83G3Y6DPJ6",
|
||||
},
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
|
@ -0,0 +1,3 @@
|
|||
import "firebase/auth";
|
||||
import "firebase/analytics";
|
||||
import "firebase/firestore";
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,46 @@
|
|||
{
|
||||
"name": "reactive-resume",
|
||||
"private": true,
|
||||
"description": "A free and open-source resume builder.",
|
||||
"version": "2.0.0",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
"build": "gatsby build",
|
||||
"develop": "gatsby develop",
|
||||
"format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,md}\"",
|
||||
"start": "npm run develop",
|
||||
"serve": "gatsby serve",
|
||||
"clean": "gatsby clean",
|
||||
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\" && exit 1"
|
||||
},
|
||||
"dependencies": {
|
||||
"classnames": "^2.2.6",
|
||||
"firebase": "^7.15.5",
|
||||
"gatsby": "^2.23.12",
|
||||
"gatsby-image": "^2.4.12",
|
||||
"gatsby-plugin-firebase": "^0.2.0-beta.4",
|
||||
"gatsby-plugin-manifest": "^2.4.17",
|
||||
"gatsby-plugin-postcss": "^2.3.9",
|
||||
"gatsby-plugin-prefetch-google-fonts": "^1.4.3",
|
||||
"gatsby-plugin-react-helmet": "^3.3.9",
|
||||
"gatsby-plugin-sharp": "^2.6.17",
|
||||
"gatsby-source-filesystem": "^2.3.18",
|
||||
"gatsby-transformer-sharp": "^2.5.10",
|
||||
"react": "^16.12.0",
|
||||
"react-dom": "^16.12.0",
|
||||
"react-firebase-hooks": "^2.2.0",
|
||||
"react-helmet": "^6.1.0",
|
||||
"react-loader-spinner": "^3.1.14"
|
||||
},
|
||||
"devDependencies": {
|
||||
"prettier": "2.0.5",
|
||||
"tailwindcss": "^1.4.6"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/AmruthPillai/Reactive-Resume"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/AmruthPillai/Reactive-Resume/issues"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,3 @@
|
|||
module.exports = () => ({
|
||||
plugins: [require("tailwindcss")],
|
||||
});
|
|
@ -0,0 +1,22 @@
|
|||
import React from "react";
|
||||
import classNames from "classnames";
|
||||
import Loader from "react-loader-spinner";
|
||||
import styles from "./Button.module.css";
|
||||
|
||||
const Button = ({ text, isLoading, outline, className }) => {
|
||||
const getClasses = classNames(styles.container, className, {
|
||||
[styles.outline]: outline,
|
||||
});
|
||||
|
||||
return (
|
||||
<div className={getClasses}>
|
||||
{isLoading ? (
|
||||
<Loader type="ThreeDots" color="#FFF" height={18} width={28} />
|
||||
) : (
|
||||
text
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export default Button;
|
|
@ -0,0 +1,16 @@
|
|||
.container {
|
||||
padding: 6px 24px;
|
||||
@apply flex items-center cursor-pointer inline-flex rounded font-semibold bg-primary text-inverse;
|
||||
}
|
||||
|
||||
.container:hover {
|
||||
@apply bg-primary-dark;
|
||||
}
|
||||
|
||||
.container.outline {
|
||||
@apply border border-primary bg-inverse text-primary;
|
||||
}
|
||||
|
||||
.container.outline:hover {
|
||||
@apply bg-inverse-dark;
|
||||
}
|
|
@ -0,0 +1,87 @@
|
|||
import React from "react";
|
||||
import { graphql } from "gatsby";
|
||||
import GatsbyImage from "gatsby-image";
|
||||
import Button from "../components/shared/Button";
|
||||
|
||||
const Home = ({ data }) => {
|
||||
return (
|
||||
<div className="container mt-24">
|
||||
<div className="flex items-center">
|
||||
<GatsbyImage
|
||||
className="shadow-md rounded"
|
||||
fixed={data.file.childImageSharp.fixed}
|
||||
/>
|
||||
|
||||
<div className="ml-12">
|
||||
<h1 className="text-5xl font-bold">Reactive Resume</h1>
|
||||
<h2 className="mt-1 text-3xl text-gray-500">
|
||||
A free and open-source resume builder.
|
||||
</h2>
|
||||
|
||||
<div className="mt-12 flex">
|
||||
<Button text="Go to App" />
|
||||
<Button className="ml-8" outline text="Source Code" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div className="pt-8">
|
||||
<Feature title="Create a resume that’s worthy of who you are.">
|
||||
Keep up with the latest trends in resume design without having to
|
||||
start from scratch. With new templates being designed every week and
|
||||
having made it that easy to design your own templates and submit them
|
||||
to the community, you’ll never have to copy and edit your friend’s
|
||||
resume again.
|
||||
</Feature>
|
||||
|
||||
<Feature title="Updating your resume shouldn’t be a chore.">
|
||||
The biggest problem I’ve faced was when I had to update my resume when
|
||||
I learned a new skill or found a new job. The ever-shifting layouts
|
||||
and inconsistency with design over a number of years made it difficult
|
||||
to update your own resume, but Reactive Resume makes it as easy as few
|
||||
clicks.
|
||||
</Feature>
|
||||
|
||||
<Feature title="Kickstarting your career shouldn’t come at a cost.">
|
||||
There are brilliant alternatives to this app like{" "}
|
||||
<a href="/">Novoresume</a> and <a href="/">Zety</a>, but they come at
|
||||
a cost, mainly because of the time the developers and the marketing
|
||||
they had to incur to make the product. This app might not be better
|
||||
than them, but it does cater to people who are just not in a position
|
||||
to pay hundreds of dollars to create a resume to bootstrap their
|
||||
career.
|
||||
</Feature>
|
||||
</div>
|
||||
|
||||
<footer className="my-24">
|
||||
<p className="font-medium text-gray-500">
|
||||
Licensed under <a href="/">MIT</a> | Made with love by{" "}
|
||||
<a href="https://www.amruthpillai.com/">Amruth Pillai</a>
|
||||
</p>
|
||||
</footer>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
const Feature = ({ title, children }) => {
|
||||
return (
|
||||
<div className="mt-16">
|
||||
<h3 className="text-3xl">{title}</h3>
|
||||
<p className="mt-8 text-xl leading-loose">{children}</p>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
|
||||
export const query = graphql`
|
||||
query {
|
||||
file(relativePath: { eq: "logo.png" }) {
|
||||
childImageSharp {
|
||||
fixed(width: 256, height: 256) {
|
||||
...GatsbyImageSharpFixed
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
`;
|
||||
|
||||
export default Home;
|
|
@ -0,0 +1,27 @@
|
|||
:root {
|
||||
--color-primary: #444;
|
||||
--color-primary-dark: #333;
|
||||
--color-inverse: #fff;
|
||||
--color-inverse-dark: #f5f5f5;
|
||||
}
|
||||
|
||||
@tailwind base;
|
||||
@tailwind components;
|
||||
@tailwind utilities;
|
||||
|
||||
@import "~react-loader-spinner/dist/loader/css/react-spinner-loader.css";
|
||||
|
||||
html,
|
||||
body {
|
||||
font-size: 12px;
|
||||
@apply text-primary;
|
||||
font-family: "Montserrat", sans-serif;
|
||||
}
|
||||
|
||||
a {
|
||||
@apply text-blue-600 font-medium;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
@apply underline;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 2.7 KiB |
|
@ -0,0 +1,18 @@
|
|||
module.exports = {
|
||||
purge: ["./src/**/*.js", "./src/**/*.jsx", "./src/**/*.ts", "./src/**/*.tsx"],
|
||||
theme: {
|
||||
container: {
|
||||
center: true,
|
||||
},
|
||||
extend: {
|
||||
colors: {
|
||||
primary: "var(--color-primary)",
|
||||
"primary-dark": "var(--color-primary-dark)",
|
||||
inverse: "var(--color-inverse)",
|
||||
"inverse-dark": "var(--color-inverse-dark)",
|
||||
},
|
||||
},
|
||||
},
|
||||
variants: {},
|
||||
plugins: [],
|
||||
};
|
Loading…
Reference in New Issue