gatsby-starter-hello-friend
gatsby-starter-hello-friend copied to clipboard
Pretty basic starter for Gatsby that covers all of the essentials. All you have to do is start typing!
Hello Friend
DEMO - https://gatsby-hello-friend.now.sh/
Features
- dark/light mode, depending on your preferences (dark is default, but you can change it)
- great reading experience thanks to Inter UI font, made by Rasmus Andersson
- nice code highlighting thanks to PrismJS
- responsive youtube/vimeo etc. videos gatsby-remark-embed-video
- fully responsive site
Code highlighting
By default the theme is using PrismJS to color your code syntax. All you need to do is to wrap you code like this:
```html // your code here ```
Supported languages: bash/shell, css, clike, javascript, apacheconf, actionscript, applescript, c, csharp, cpp, coffeescript, ruby, csp, css-extras, diff, django, docker, elixir, elm, markup-templating, erlang, fsharp, flow, git, go, graphql, less, handlebars, haskell, http, java, json, kotlin, latex, markdown, makefile, objectivec, ocaml, perl, php, php-extras, r, sql, processing, scss, python, jsx, typescript, toml, reason, textile, rust, sass, stylus, scheme, pug, swift, yaml, haml, twig, tsx, vim, visual-basic, wasm.
How to start
First you need to clone this repo by git clone https://github.com/panr/gatsby-starter-hello-friend.git
then switch to main dir, probably cd gatsby-starter-hello-friend
should work fine. Next you should install all dependencies by yarn
and then, to run starter on localhost yarn dev
(which is gatsby clean && gatsby develop
). If you want to build starter just run yarn build
(which is gatsby build
).
How it works
It's a simple starter for blogs and personal sites. You have posts
and pages
directories. Posts are generated from markdown files with required fileds: title
, date
and path
. Pages can be generated from markdown files as well (with built-in navigation between them, just like in posts) but you can also generate them from JavaScript files (just like you normally do in Gatsby). If so, you should wrap your content in Layout
component. It's not required, but highly recommended.
Configuration
You can configure starter in gatsby-config.js
. Here's what you can change:
title: String,
description: String,
copyrights: String,
author: String,
logo: Shape { // you can place your own logo
src: String, // default dir is `/static/`
alt: String,
},
logoText: String, // change default Hello Friend logo
defaultTheme: String, // light or dark as default
postsPerPage: Number, // pagination
showMenuItems: Number, // number of visible main menu items
menuMoreText: String, // string of main sub menu trigger (not visible items from main menu)
mainMenu: arrayOf(Shape { // main menu items
title: String,
path: String,
})
How to contribute
If you spot any bugs, please use Issue Tracker or if you want to add a new feature directly please create a new Pull Request.
Sponsoring
If you like my work and want to support the development of the project, now you can! Just:
License
Copyright © 2019 Radosław Kozieł (@panr)
The starter is released under the MIT License. Check the original theme license for additional licensing information.