Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 27, 2020. It is now read-only.

deptno/next.js-typescript-starter-kit

Repository files navigation

Next.js TypeScript Starter Kit CircleCI

samples

see ChangeLog

Feature

  • TypeScript
  • Styled-jsx
  • Module css (PostCSS - cssnext, nested, import)
  • SEO & analytics(Google Analytics, Facebook Pixel, (削除) Naver Analytics (削除ここまで))
  • (削除) Storybook (support module css) (削除ここまで)
  • Jest & Enzyme (support module css)

Load from CDN

  • font-awesome@5

Installation

git clone https://github.com/deptno/next.js-typescript-starter-kit my-project
cd my-project
rm -r .git
yarn

Run 🚀

🚀 Test

yarn test # test
yarn test:watch
yarn test:coverage # report coverage
~~:rocket: StoryBook~~

🚀 StoryBook

yarn storybook # open browser localhost:6006
yarn build-storybook # Build storybook static assets

🚀 Development

yarn start:dev # run

🚀 Production

Serve

yarn
yarn build # create .next directory
yarn start # start server

Build static HTML

yarn
yarn build # create .next directory
yarn export # create .out directory

Configuration

Set SEO & analytics variables

src/constants/env.ts

export const GA_TRACKING_ID = ''
export const FB_TRACKING_ID = ''
export const SENTRY_TRACKING_ID = ''
// for meta tag <og & twitter>
export const SITE_NAME = ''
export const SITE_TITLE = ''
export const SITE_DESCRIPTION = ''
export const SITE_IMAGE = ''

If each variable evaluated false, it does not load related library

Usage

import * as classnames from 'classnames'
import * as css from './Home.css'
export const Just = props => <div className={css.className}>
export const Mixed = props => <div className={classnames('row', 'home', css.home)}>

Styled-jsx

const Layout = props =>
 <head>
 <style jsx global>{`
 div > * {
 font-size: 32px;
 }
 `}
 </style>
 </head>
export const Home = props =>
 <div>
 <style jsx>{`{
 color: darkred;
 }`}</style>
 home
 </div>

Others

Related

AltStyle によって変換されたページ (->オリジナル) /