-
-
Save jwknz/8e722152d6b3bf6c1eb38de98eba0c0b to your computer and use it in GitHub Desktop.
Reset a new Next.js application with an HTML language attribute, responsive font sizes, and cleaned up index.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # This fork is maintained by jwknz - the original is from whitep4nth3r | |
| # Input flags | |
| LANG="" | |
| APP_NAME="" | |
| # The directory path must be relative to where the script lives | |
| DIR="" | |
| # Loop through arguments and process them | |
| for arg in "$@" | |
| do | |
| case $arg in | |
| -h|--help) | |
| echo "⚡️ Example script usage ⚡️" | |
| echo "./reset-next.sh --lang=en --appname=\"my cool app\" --dir=this-test" | |
| shift | |
| exit; | |
| ;; | |
| -l=*|--lang=*) | |
| LANG="${arg#*=}" | |
| shift | |
| ;; | |
| -a=*|--appname=*) | |
| APP_NAME="${arg#*=}" | |
| shift | |
| ;; | |
| -d=*|--dir=*) | |
| DIR="${arg#*=}" | |
| shift | |
| ;; | |
| esac | |
| done | |
| change_dir () { | |
| echo "✨ Changing directory to $1" | |
| cd $1 | |
| } | |
| delete_vercel_svg () { | |
| echo "❌ Deleting vercel.svg" | |
| rm public/vercel.svg | |
| } | |
| delete_home_css () { | |
| echo "❌ Deleting Home.module.css" | |
| rm styles/Home.module.css | |
| } | |
| add_custom_document () { | |
| echo "✅ Adding custom _document.js with lang=$LANG" | |
| cd pages | |
| echo 'import Document, { Html, Head, Main, NextScript } from "next/document"; | |
| class MyDocument extends Document { | |
| render() { | |
| return ( | |
| <Html lang="'$LANG'"> | |
| <Head /> | |
| <body> | |
| <Main /> | |
| <NextScript /> | |
| </body> | |
| </Html> | |
| ); | |
| } | |
| } | |
| export default MyDocument;' >> _document.js | |
| cd .. | |
| } | |
| replace_index () { | |
| echo "✅ Replacing pages/index.js" | |
| cd pages | |
| rm index.js | |
| echo 'import Head from "next/head"; | |
| export default function Home() { | |
| return ( | |
| <> | |
| <Head> | |
| <title>'$APP_NAME'</title> | |
| <meta name="description" content="Description for '$APP_NAME'" /> | |
| <link rel="icon" href="/favicon.ico" /> | |
| </Head> | |
| <main> | |
| <h1>This new Next.js app has been reset!</h1> | |
| </main> | |
| </> | |
| ); | |
| }' >> index.js | |
| cd .. | |
| } | |
| replace_globals_css () { | |
| echo "✅ Replacing styles/globals.css" | |
| cd styles | |
| rm globals.css | |
| echo 'html { | |
| font-size: 100%; | |
| } | |
| body { | |
| font-size: 1rem; | |
| padding: 0; | |
| margin: 0; | |
| font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, | |
| Fira Sans, Droid Sans, Helvetica Neue, sans-serif; | |
| } | |
| * { | |
| box-sizing: border-box; | |
| } | |
| ' >> globals.css | |
| cd .. | |
| } | |
| echo "🔥 Resetting Next.js app in $DIR" | |
| echo "✨ Language: $LANG" | |
| echo "✨ App name: $APP_NAME" | |
| change_dir $DIR | |
| delete_vercel_svg | |
| delete_home_css | |
| add_custom_document | |
| replace_index | |
| replace_globals_css | |
| echo "✨ Opening project in VSCode" | |
| code . | |
| echo "📣 DONE. Have a nice day!" |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is a fork, for original see - https://gist.github.com/whitep4nth3r/c178d99e8e3bd276c7d0047c3bd924da