Hello Friend
This starter was made to help you present your ideas easier. We all know how hard is to start something on the web, especially these days. You need to prepare a bunch of stuff, configure them and when that’s done — create the content.
This starter is pretty basic and covers all of the essentials. All you have to do is start typing!
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,
})