GithubHelp home page GithubHelp logo

gatsby-portfolio-cara's Introduction

Gatsby Starter Portfolio: Cara

A portfolio starter for Gatsby. The target audience are designers and photographers.

Demo Website

Deploy to Netlify Edit gatsby-starter-portfolio-cara

  • TailwindCSS & Emotion
  • React Spring
  • Playful & Colorful One-Page website with Parallax effect

Based on gatsby-tailwind-demo.

Why?

If you want to quickly bootstrap a design/photography portfolio or use it as a foundation for your personal site, the starters in gatsby-starter-portfolio are a perfect fit for you! The project's goal is to offer minimalistic and fast websites.

I hope you like my starters and create something awesome! To see some of my work, you can visit my website or support me on Patreon to get some neat rewards (4K images, project files, tutorial insights). Every pledge on Patreon helps me create more free starters!

Also, check out the other themes for gatsby-starter-portfolio:

Check out the Gatsby Starter Portfolio Overview!

Features

  • Gatsby v2.0.0
  • React Spring (Used for Parallax effect)
  • TailwindCSS & Emotion for styling
    • Use the full power of TailwindCSS while generating small styles (as unused data gets deleted)
  • SEO
    • Schema.org JSONLD
    • OpenGraph Tags
    • Twitter Tags
  • Typefaces for quicker font loading
  • Offline Support
  • WebApp Manifest Support
  • Responsive images
    • The right image size for every screen size
    • Traced SVG Loading (Lazy-Loading)
    • WebP Support

Please note: The parallax effect can be quite heavy for some older CPUs and the site uses some newer CSS features which will result in incompatibility with older browsers.

Getting Started

Check your development environment! You'll need Node.js, the Gatsby CLI and node-gyp installed. The official Gatsby website also lists two articles regarding this topic:

To copy and install this starter run this command (with "project-name" being the name of your folder you wish to install it in):

gatsby new project-name https://github.com/LeKoArts/gatsby-starter-portfolio-cara
cd project-name
npm run dev

Adding new features/plugins

You can add other features by having a look at the official plugins page.

Building your site

npm run build

Copy the content of the public folder to your webhost or use a website like Netlify which automates that for you.

Make sure to use the right build command in your build settings e.g. if you use Netlify! Per default Netlify sets it to gatsby build but you have to use yarn run build to run postcss before building the Gatsby site.

Configuration

You have multiple options to configure this project.

  1. Use the config/website.js to configure data passed to the SEO component and other parts of the Gatsby site:
module.exports = {
  pathPrefix: '/', // Prefix for all links. If you deploy your site to example.com/portfolio your pathPrefix should be "/portfolio"

  siteTitle: 'Cara - Gatsby Starter Portfolio', // Navigation and Site Title
  siteTitleAlt: 'Cara', // Alternative Site title for SEO
  siteUrl: 'https://portfolio-cara.netlify.com', // Domain of your site. No trailing slash!
  siteLanguage: 'en', // Language Tag on <html> element
  siteLogo: '/logos/logo-1024.png', // Used for SEO and manifest
  siteDescription: 'Playful & Colorful One-Page website with Parallax effect',

  // siteFBAppID: '123456789', // Facebook App ID - Optional
  userTwitter: '@cara', // Twitter Username
  ogSiteName: 'cara', // Facebook Site Name
  ogLanguage: 'en_US', // Facebook Language

  // Manifest and Progress color
  themeColor: tailwind.colors.orange,
  backgroundColor: tailwind.colors.blue,
};
  1. Use the tailwind.js file to configure TailwindCSS. Their documentation explains it step-by-step.

  2. Modify the files in the src/styles directory.

  3. You can also place the icons somewhere else on the page, modify their animation and hide them on smaller screens:

  <SVG icon="triangle" className={hidden} width={48} stroke={colors.orange} left="10%" top="20%" />
  <SVG icon="hexa" width={48} stroke={colors.red} left="60%" top="70%" />
  <SVG icon="box" width={6} fill={colors['grey-darker']} left="60%" top="15%" />
  • For icon, you have the options: triangle, circle, arrowUp, upDown, box, hexa
  • If you want the SVG to be hidden on mobile view, add className={hidden} to the SVG component
  • You can define the width via the TailwindCSS width option
  • The colors get defined via the TailwindCSS color option
    • Please note that you will either have to define the color in stroke or fill depending on the icon. For reference, have a look at the currently used SVGs
  • The options left and top position the icon relatively to its parent container
  • You can also wrap the SVGs with <UpDown /> or <UpDownWide /> to animate them

Typography

Instead of relying on Google's CDN to host its fonts, this site self-hosts the fonts and therefore benefits from increased performance. The installed fonts can be found in src/pages/index.jsx:

import 'typeface-cantata-one';
import 'typeface-open-sans';

This starter uses typefaces by Kyle Mathews. Have a look at the repository if you want to install & use other fonts.

You'll also need to configure fonts in tailwind.js to reflect the changes. You then can use the fonts with font-sans and font-serif.

gatsby-portfolio-cara's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.