Coder Social home page Coder Social logo

navin-moorthy / navin-moorthy.github.io Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 420.8 MB

Where Everything Begins

Home Page: https://navin-moorthy.github.io

License: MIT License

HTML 0.05% JavaScript 93.07% CSS 6.88%
gatsby gatsby-blog javascript markdown tailwindcss styled-components react personal-site travis-ci gh-pages

navin-moorthy.github.io's Introduction

Navin | Logo

author badge with navin-moorthy written on it TravisCI Total alerts Language grade: JavaScript styled components tailwind css

styled with prettier Renovate enabled Dependency Update Status Dev Dependency Update Status

My personal portfolio & blog. Built with Gatsby.js.

Playful & colorful blog with Parallax effect

Developed upon Gatsby Starter Portfolio: Cara

Checkout my site at navin-moorthy

Edit on CodeSandbox

Twitter: navin_moorthy


๐Ÿ–ฅ Tech Stack

๐Ÿง Features

Google Lighthouse Audit Result

Google Lighthouse Audit Result of navin-moorthy.github.io

  • React Spring (Used for Parallax effect)
  • TailwindCSS & styled-components for styling
    • Use the full power of TailwindCSS while generating small styles (as unused data gets deleted)
    • Uses tailwind.macro (Babel macro) to have hot-reloading of Tailwind styles
  • ๐Ÿค– Google Analytics Support.
  • Generate Sitemap XML.
  • ๐Ÿง™ Offline Support PWA
  • WebApp Manifest Support
  • Blogging with Markdown usign Markdown Remark
  • Supports Pagination with multiple posts.
  • ๐Ÿ’„ Code syntax highlighting by Prismjs With Fira Code
  • Responsive images
    • The right image size for every screen size
    • Traced SVG Loading (Lazy-Loading)
    • WebP Support
  • SEO
    • Schema.org JSONLD
    • OpenGraph Tags
    • Twitter Tags
  • Typefaces for quicker font loading
  • โš™ Easily Configurable

๐Ÿ’ก 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.

๐Ÿš€ Quick start

โ—๏ธ Pre-requisite

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:

โš›๏ธ Create a Gatsby Site

Use the Gatsby CLI to create a new site, specifying the blog starter.

gatsby new <project-name> https://github.com/navin-moorthy/navin-moorthy.github.io
cd <project-name>
npm start

Your site is now running at http://0.0.0.0:8080!

๐Ÿ’ก You'll also see a second link: http://0.0.0.0:8080/___graphql. This is a tool you can use to experiment with querying your data. Learn more about using this tool in the Gatsby tutorial._

Edit src/pages/index.js, save your changes and the browser will update in real time!

โš’ 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.

โš’ Build and deploy with Github Pages

  1. Install npm install [gh-pages](https://www.npmjs.com/package/gh-pages) --save-dev.
  2. Use the config/deploy-github.js to configure your public folder to get deployed in mentioned github repository and branch.
  3. Now run npm run deploy:github.

๐Ÿ’ก You will be asked to enter your Github Username and Password.

Alternatively, this flow can be automated using Travis CI - Docs

๐Ÿ†• Adding new features/plugins

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

๐Ÿ˜Ž Configuration

You have multiple options to configure this project.

โ—๏ธ Important Configurations

  1. Use the config/website.js to configure data passed to the SEO component and other parts of the Gatsby site

  2. Use the tailwind.js file to configure TailwindCSS. Their documentation explains it step-by-step.

  3. For changing the animation or styles, modify the files in the src/styles directory.

  4. Modify the sections in the src/views directory. They contain the Dividers & SVG icons.

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

  6. Blog contents can be found in content/blog and blog templates in src/blog-components/...

๐Ÿ›  Icons Configuration

  <SVG icon="triangle" hideMobile 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, cross
  • If you want the SVG to be hidden on mobile view, add hideMobile to the SVG component
  • You can define the width via the TailwindCSS width option
  • The colors get defined via the TailwindCSS color option
    • ๐Ÿ’ก 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 and global styles import can be found in gatsby-browser.js:

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 or in src/styles/globalStyles.css to reflect the changes.

๐Ÿ—ƒ Folder Structure View

โš™ Gatsby config
/root
โ”œโ”€โ”€ gatsby-browser.js // font, polyfill, onClientRender ...
โ”œโ”€โ”€ gatsby-config.js // Gatsby config
โ”œโ”€โ”€ config/website.js // Template meta SEO config
โ””โ”€โ”€ gatsby-node.js // Gatsby Node config
โ›‘ Source Structure
src
โ”œโ”€โ”€ blog-components // Blog templates and associated components
โ”‚   โ”œโ”€โ”€ Blog.jsx // Blog Home
โ”‚   โ””โ”€โ”€ BlogPostTemplate.jsx // Markdown Pages Template
โ”œโ”€โ”€ components // Reusable components
โ”‚   โ””โ”€โ”€ SEO.jsx // SEO customization with REACT HELMET here
โ”œโ”€โ”€ elements // Small elements to be used within components
โ”œโ”€โ”€ images // Avatar and SVG's
โ”œโ”€โ”€ pages // routing
โ”‚   โ”œโ”€โ”€ 404.jsx
โ”‚   โ””โ”€โ”€ index.jsx
โ””โ”€โ”€ styles // Styles that are used across the site
๐ŸŽจ Style

You can customize styles in src/styles directory.

src/styles
โ”œโ”€โ”€ animation.jsx // All Animations are exported from here
โ”œโ”€โ”€ color.jsx // Tailwind Color Shortcut
โ”œโ”€โ”€ globalStyles.css // Global Styles
โ”œโ”€โ”€ prism-a11y-dark.css // Prism JS Code Highlighting
โ””โ”€โ”€ utils.jsx // Mobile Display Hide Utils
๐Ÿญ Tips (You can change...)
  • Profile image! (replace file in src/images/avatar.jpg)
  • Favicon image! (replace file in static/favicon.ico)
  • Logo image! (replace file in static/logo.png)
  • PWA theme customization! (edit file in static/browserconfig.xml)
  • Edit robot.txt! (file in static/robots.txt)
  • Google Verification (file in static/google051e1d59950b0532.html)

๐Ÿ’ซ Thanks and Credits

Design based on LekoArts - gatsby-starter-portfolio-cara

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 thier like my starters and create something awesome! To see some of thier other works, you can visit website or support them on Patreon to get some neat rewards (4K images, project files, tutorial insights). Every pledge on Patreon helps them create more free starters!

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

Check out the Gatsby Starter Portfolio Overview!

Pagination based on Nicky Starter Blog Dark/Light Theme and more based on JaeYeopHan's Starter Blog Thanks to @bradlcโ€™s work on babel-plugin-tailwind-components, we can easily get the power of Tailwind without the stylesheet bloat by passing Tailwind classes into styled-components with Babel macros ๐ŸŽ‰.

๐Ÿค” If...

If you are currently writing in the Medium, consider migration with medium-to-own-blog!

๐Ÿ› Bug reporting

Issue

โ„ข๏ธ LICENSE

MIT

Project by @Navin MoorthyโœŒ

navin-moorthy.github.io's People

Contributors

navin-moorthy avatar renovate-bot avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

navin-moorthy.github.io's Issues

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Rate-Limited

These updates are currently rate-limited. Click on a checkbox below to force their creation now.

  • Update dependency common-tags to v1.8.2
  • Update dependency eslint-plugin-promise to v4.3.1
  • Update dependency prismjs to v1.29.0
  • Update dependency prop-types to v15.8.1
  • Update dependency babel-plugin-macros to v3
  • Update dependency babel-plugin-styled-components to v2
  • Update dependency eslint to v8
  • Update dependency eslint-config-airbnb to v19
  • Update dependency eslint-config-prettier to v8
  • Update dependency eslint-plugin-prettier to v5
  • Update dependency eslint-plugin-promise to v6
  • Update dependency gh-pages to v5
  • Update dependency prettier to v3
  • Update dependency react-spring to v9
  • Update dependency react-switch to v7
  • Update dependency styled-components to v6
  • Update dependency tailwindcss to v3
  • Update gatsby monorepo (major) (gatsby, gatsby-image, gatsby-plugin-catch-links, gatsby-plugin-google-analytics, gatsby-plugin-google-tagmanager, gatsby-plugin-manifest, gatsby-plugin-nprogress, gatsby-plugin-offline, gatsby-plugin-react-helmet, gatsby-plugin-sharp, gatsby-plugin-sitemap, gatsby-plugin-styled-components, gatsby-remark-autolink-headers, gatsby-remark-copy-linked-files, gatsby-remark-images, gatsby-remark-prismjs, gatsby-remark-responsive-iframe, gatsby-remark-smartypants, gatsby-source-filesystem, gatsby-transformer-remark, gatsby-transformer-sharp)
  • Update typefaces monorepo to v1 (major) (typeface-cantata-one, typeface-fira-mono, typeface-montserrat)
  • ๐Ÿ” Create all rate-limited PRs at once ๐Ÿ”

Edited/Blocked

These updates have been manually edited so Renovate will no longer make changes. To discard all commits and start over, click on a checkbox.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Detected dependencies

npm
package.json
  • @weknow/gatsby-remark-codepen 0.1.0
  • common-tags ^1.8.0
  • gatsby 2.18.22
  • gatsby-image 2.2.38
  • gatsby-plugin-catch-links 2.1.24
  • gatsby-plugin-google-analytics ^2.1.35
  • gatsby-plugin-google-tagmanager ^2.1.25
  • gatsby-plugin-manifest 2.2.37
  • gatsby-plugin-nprogress 2.1.18
  • gatsby-plugin-offline 3.0.31
  • gatsby-plugin-react-helmet 3.1.21
  • gatsby-plugin-sharp 2.3.13
  • gatsby-plugin-sitemap 2.2.25
  • gatsby-plugin-styled-components 3.1.17
  • gatsby-remark-autolink-headers 2.1.23
  • gatsby-remark-copy-linked-files 2.1.36
  • gatsby-remark-emojis 0.4.2
  • gatsby-remark-external-links 0.0.4
  • gatsby-remark-images 3.1.42
  • gatsby-remark-images-medium-zoom 1.4.0
  • gatsby-remark-prismjs 3.3.30
  • gatsby-remark-responsive-iframe 2.2.31
  • gatsby-remark-smartypants 2.1.20
  • gatsby-source-filesystem 2.1.46
  • gatsby-transformer-remark 2.6.48
  • gatsby-transformer-sharp 2.3.12
  • gh-pages 2.1.1
  • prismjs 1.17.1
  • prop-types 15.7.2
  • react 16.12.0
  • react-dom 16.12.0
  • react-helmet 5.2.1
  • react-spring 8.0.27
  • react-switch 5.0.1
  • smooth-scroll 16.1.0
  • styled-components 4.4.1
  • tailwind.macro 1.0.0-alpha.10
  • tailwindcss 1.0.6
  • typeface-cantata-one 0.0.72
  • typeface-fira-mono 0.0.72
  • typeface-montserrat 0.0.75
  • eslint 6.8.0
  • eslint-config-airbnb 18.0.1
  • eslint-config-prettier 6.10.0
  • eslint-plugin-import 2.20.1
  • eslint-plugin-jsx-a11y 6.2.3
  • eslint-plugin-prettier 3.1.2
  • eslint-plugin-promise 4.2.1
  • eslint-plugin-react 7.18.3
  • eslint-plugin-react-hooks 2.4.0
  • prettier 1.19.1
  • babel-plugin-macros 2.6.1
  • babel-plugin-styled-components 1.10.6
travis
.travis.yml

  • Check this box to trigger a request for Renovate to run again on this repository

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.