From 70cefa003b4fd11245cfe2deed78d5f41238d1f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?h=CE=B1rsh=20v=CE=B1ir=CE=B1gi?= Date: Sat, 21 Sep 2024 02:27:59 +0530 Subject: [PATCH] shifting to version v1.1.0 is cool. - docs updated and fixed. - ui updated. - logo changed. --- docs/.vitepress/config.js | 12 ++-- docs/.vitepress/theme/custom.css | 15 ++-- docs/changelogs.md | 11 +++ docs/documentation.md | 85 +++++++++++++++++++++++ docs/index.md | 106 +++++------------------------ docs/public/icons/logo.blue.png | Bin 0 -> 14007 bytes docs/public/icons/logo.skyblue.png | Bin 0 -> 11121 bytes readme.md | 29 ++++---- 8 files changed, 142 insertions(+), 116 deletions(-) create mode 100644 docs/changelogs.md create mode 100644 docs/documentation.md create mode 100644 docs/public/icons/logo.blue.png create mode 100644 docs/public/icons/logo.skyblue.png diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js index de4fe1b..6a1a1b0 100644 --- a/docs/.vitepress/config.js +++ b/docs/.vitepress/config.js @@ -3,17 +3,21 @@ export default { base: '/gen3-express/', title: "Gen3 Express", head: [['meta', { name: 'google-site-verification', content: '8ITIfF1pu9VrQOnXrnDnYZqCILQjm5wgdxYLt056ApI' }]], - description: "A gen3 tool to generate get started express app.", + description: "A gen3 tool to generate express app boilerplate.", themeConfig: { siteTitle: "Gen3 Express", - logo: "https://www.cdnlogo.com/logos/h/71/hashnode.svg", - socialLinks: [ + logo: "/icons/logo.blue.png", + socialLinks: [ { icon: "github", link: "https://github.com/OurCodeBase" }, { icon: "instagram", link: "https://instagram.com/aspandapo" }, { icon: "youtube", link: "https://m.youtube.com/@OurCodeBase" } ], + nav: [ + { text: "History", link: "https://github.com/OurCodeBase/gen3-express/commits/main/" }, + { text: "Changelogs", link: "/changelogs" } + ], footer: { - copyright: "Copyright © 2024-present OurCodeBase", + copyright: "All Right Reserved @OurCodeBase", }, } }; diff --git a/docs/.vitepress/theme/custom.css b/docs/.vitepress/theme/custom.css index 42c9da7..698364d 100644 --- a/docs/.vitepress/theme/custom.css +++ b/docs/.vitepress/theme/custom.css @@ -1,5 +1,4 @@ -@import url(https://fonts.googleapis.com/css?family=Space+Mono:regular,italic,700,700italic); -@import url(https://fonts.googleapis.com/css?family=Space+Grotesk:regular,italic,700,700italic); +@import url('https://fonts.googleapis.com/css2?family=Sora:wght@100..800&family=Space+Mono:ital,wght@0,400;0,700;1,400;1,700&display=swap'); :root { --vp-c-brand: #ff7340; @@ -11,12 +10,8 @@ --vp-c-sponsor: #fd1d7c; - /* Typography */ - --vp-font-family-base: "Space Grotesk", "Inter var experimental", "Inter var", - -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, - "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; - + /* Typography */ + --vp-font-family-base: "Sora"; /* Code Snippet font */ - --vp-font-family-mono: "Space Mono", Menlo, Monaco, Consolas, "Courier New", - monospace; -} + --vp-font-family-mono: "Space Mono"; +} \ No newline at end of file diff --git a/docs/changelogs.md b/docs/changelogs.md new file mode 100644 index 0000000..9c09b0a --- /dev/null +++ b/docs/changelogs.md @@ -0,0 +1,11 @@ +# Changelogs +You can check most latest changlogs at [commits](https://github.com/OurCodeBase/gen3-express/commits/main/) or [versions](https://github.com/OurCodeBase/gen3-express/releases) sections in github. + +## Changelogs 1.1.0 +tui has been implemented to gen3-express. +- used signale to implement tui. +- changes many things in gen3-express file. + +## Changelogs 1.0.1 +- nets module has been shifted from `/nets.js` to the utils folder `/utils/nets.js`. +- docs have also been updated. \ No newline at end of file diff --git a/docs/documentation.md b/docs/documentation.md new file mode 100644 index 0000000..9a0d41b --- /dev/null +++ b/docs/documentation.md @@ -0,0 +1,85 @@ +# Gen3 Express +A gen3 tool to generate express app boilerplate. + +## Changelogs 1.1.0 +tui has been implemented to gen3-express. +- used signale to implement tui. +- changes many things in gen3-express file. + +## Acknowledgements +You need to know atleast basics about these things. + - [NodeJS](https://nodejs.org/docs/latest/api/) + - [ExpressJS](https://expressjs.com/en/5x/api.html) + - [Embedded JS](https://ejs.co/) + +## Installation +You can install and generate an express app using this tool in two approaches. Here I'm generating an app with name `my-app`, you can name to it anything you like. + +### 1. node package extecutor +This method is highly recommended to generate an express app. +```bash +npx https://www.github.com/OurCodeBase/gen3-express my-app +``` + +### 2. node package manager +Generation of an express app is not recommended through npm. +```bash +npm install -gen3 https://www.github.com/OurCodeBase/gen3-express.git +``` +```bash +gen3-express my-app +``` + +## Documentation +To install all dev dependencies goto the folder and hit `npm install` command. +```bash +cd my-app +npm install +``` +To start a dev server to preview page use `server` word. +- Keep in mind that +- The below command does not include EJS live reloading. + +```bash +npm run server +``` +To start a dev server to live preview EJS page use `sync` word. +```bash +npm run sync +``` +If you want to run all these servers together then you should to use this below command, this command will provide you hot reloadings in every place. +```bash +npm run server & npm run sync +``` + +## File Cases +To know about the product or project structure read about files included in this code block. + +```bash +. +├── app.js # this core file handles express functions and server. +├── package.json # package file handles dependencies, and details about the product. +├── public # this folder contains public data like fonts, css and multimedia. +│   ├── fonts +│   │   └── sans.woff +│   └── style.css +├── sync.js # this file is needed to configure hot reloadings in ejs and static files. +├── utils +│   └── nets.js # this file provides functions to display available ip addresses on your network. +└── views # this folder contains ejs or html files to render contents. + └── home.ejs # this file is the landing page of the product. +``` + +## Roadmap + +- Custom name in `package.json` file ✅ +- Excellent terminal user interface ✅ +- Prompt `package.json` file's details from user. ⏩ +- Post this project to npmjs website. ⏩ +- Custom local template feature ⏩ + +## Authors +- [@OurCodeBase](https://www.github.com/OurCodeBase) + +## Contributing +Contributions are always welcome! \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index b4caa2a..fa0f3e1 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,14 +1,25 @@ --- layout: home + hero: name: Gen3 Express - text: A gen3 tool to generate get started express app. + text: A gen3 tool to generate express app boilerplate. + image: + src: /icons/logo.blue.png + alt: Gen3 Express tagline: A free, unofficial, open-source and stable tool to generate minimal express app. + actions: + - theme: brand + text: Get Started + link: /documentation + - theme: alt + text: View on GitHub + link: https://github.com/OurCodeBase/gen3-express features: - - icon: 💫 - title: Minimal and Useful - details: Provides you hot reloading like more features in a very minimal express app. + - icon: ⚡ + title: Minimal Source Code + details: The source-code used in this boilerplate is super minimal. - icon: 🚀 title: JS Hot Reloadings details: Provides hot reloadings when you change codes of your JS files. @@ -19,89 +30,6 @@ features: title: Cross Platform details: You can use this tool on any platform like Linux, MacOS, Windows (WSL) and also on Android (Termux). - icon: 🥙 - title: NPX (no need to install extra stuff) + title: NPX Usable details: You don't neet to install a separate tool to generate express apps. You can just simply use npx to fetch files and dependencies temporarily. ---- - -## Changelogs - -> [!CAUTION] -> nets module has been shifted from `/nets.js` to the utils folder `/utils/nets.js`. -> docs have also been updated. - -## Acknowledgements -You need to know atleast basics about these things. - - [NodeJS](https://nodejs.org/docs/latest/api/) - - [ExpressJS](https://expressjs.com/en/5x/api.html) - - [Embedded JS](https://ejs.co/) - -## Installation -You can install and generate an express app using this tool in two approaches. Here I'm generating an app with name `my-app`, you can name to it anything you like. - -### 1. node package extecutor -This method is highly recommended to generate an express app. -```bash -npx https://www.github.com/OurCodeBase/gen3-express my-app -``` - - -### 2. node package manager -Generation of an express app is not recommended through npm. -```bash -npm install -gen3 https://www.github.com/OurCodeBase/gen3-express.git -``` -```bash -gen3-express my-app -``` - -## Documentation -To install all dev dependencies goto the folder and hit `npm install` command. -```bash -cd my-app -npm install -``` -To start a dev server to preview page use `server` word. -> [!NOTE] -> This does not include EJS and static files live (hot) reloading. -```bash -npm run server -``` -To start a dev server to live preview EJS page use `sync` word. -```bash -npm run sync -``` -If you want to run all these servers together then you should to use this below command, this command will provide you hot reloadings in every place. -```bash -npm run server & npm run sync -``` - -## File Cases -To know about the product or project structure read about files included in this code block. - -```bash -. -├── app.js # this core file handles express functions and server. -├── package.json # package file handles dependencies, and details about the product. -├── public # this folder contains public data like fonts, css and multimedia. -│   ├── fonts -│   │   └── sans.woff -│   └── style.css -├── sync.js # this file is needed to configure hot reloadings in ejs and static files. -├── utils -│   └── nets.js # this file provides functions to display available ip addresses on your network. -└── views # this folder contains ejs or html files to render contents. - └── home.ejs # this file is the landing page of the product. -``` - -## Milestone - -- Custom name in `package.json` file -- Excellent terminal user interface -- Prompt `package.json` file's details from user. -- Post this project to npmjs website. - -## Authors -- [@OurCodeBase](https://www.github.com/OurCodeBase) - -## Contributing -Contributions are always welcome! +--- \ No newline at end of file diff --git a/docs/public/icons/logo.blue.png b/docs/public/icons/logo.blue.png new file mode 100644 index 0000000000000000000000000000000000000000..1e9c095e60d10c4230f8a84c02bc5b991c9bdf8d GIT binary patch literal 14007 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 z zJ;vs6S#3vzx>9`6YogIoGiiLjIi^8vGqQf5SFhZ#-wvIf6jzwlBeCetEMIf-_NV3CB`*`Hlzq$x6 z&f$+911~N+&X0f+L;-V2KdEj$`o)QAE^(Q?4M`b$)ycRc1>fW)uly_Q@m_|hNzBu* zfY$jU)=T$*pYU$c6NMa8KZ&U$G)-t$F)g8cM}P69>$&*!&BC7=r`aYW6QLW5;aH1PQb0z&`Y`Xg09QYbDS&fs*E>G1sDom~|$VcuUb;yXVk$J0Tct(;W;b~?nFaSMOK z!$MZ4_A)`F`7i(FsBay6GKHBuN@xgA7ReTMs-LUA6bP zF1KTp(;|QHrci&@z3Gznp8bEi9}e`>kHBGod3%5A!9|T>rt=+>u6$B;;fb-5|1TpL z*<;UQpxIH)-1&!)XonP<>3OsTiP$xl@OSq5E>*` zu@BXHs4jEKLd95QxqXOv;l=p8IMn>P)$+ zqFIgui4T_HFkrvTi-SDY`k&`?`CqaC)c=^6aT?oEzz1YxfrV)3K9Bs}Q(aOZ5FgM% zcm!WL_8v`m7B6WB!0G|pbs4qg5Sq`)W8X(AgC5ZYKN+Axd031BuFPzzxA~53D^P%W zmO#XGn_pB-ol+pC$2Pr9=;A|%`Pyn{K`uw;Ouzb3^4@(AOTxbz7oIvO>F|50{UYuj zh)vwoe!1e+oii~y9I54Dt)HM`iML-zQw5{RQ zWaW0%cOZ`|QWu=UFBVT$b(8ou9POO#7h#X}UxPA95BaVHDobb0&_ZQu=ZV~}Hw0X| zxLmsI#(DS!y6nUM)>7R6K@45@|s4%BbkPE)n{AyTc$L)yqAj=)yIFEBBjeKMne z!f^xH7c9c8zSe+@{{Q_d5%6CAe<)V{Bcn6g;_?O_gtC-SV#csRkd#D%k%s(b-V8jB zC$nmS#&_`ztc7gY&1UHSLH2=^tLJ9i@JoKx}i;!hQI0Mnyp!d!D`Uip5 zc)NZWX)wpx>!wt`sJ)T%R#qkwSU(=9_c|}3rzf3jODRf6XKVX_XxF}W`^$Krn?Yms z+n^vkxKMQX1m~g8aYmL=?n^L7abHgFH-oH|Yb_C5KO_0|5w1y>Wy)ADcTgAgS}mW% z2~K^y%6$`*ngx-q8m6a*Dg<-e{f+^QtM8&^0i|O%=%yOak|-}+@}cY0w>y8gI`M&$ ztT7)SJq;gA&0p)S9p@`Ys}~PeWgBHcLn6(4Lbr?k9UizAv{}27N`Txy+3y2YOS`Ua z|G6;}XD-CKpj+RoqWx4*dNvtb>%dZy0E#+25S8|m5wyr}Jrr@0WO0DEsUIm{;0P9 zSEe5HxDBfJW?M;^UYwe#!$Z2pHqWnz%)>foaIiD^90|S6Cbz>)B*v!&r2sLlZZ?`| zc9Sq`_8o5WgT(7-TZ*;%k?Wz+Ii@n#K5&+5XkQSR`&Pra)Zz>28t); z7h;YK4DHViId6k&oMyO60pz61h`OQZ=1Nc+?~y=l&xMeC(}SA@qn?j}h2moL8=%=O z^w^jiLi>#nV1$CEei9@%OfP%`hjMNQc6 z8-qgPN24zPuZDhWbDJBpRD3xsyX$uP5clDROfW3!<)J*AZ{ZKjxSKs|}$K8m&p44}E>&EM6$Th~TwKs#+7&9#f_^{YwZ1>T5mH{;KSy uw8HG8%Qs*&j+b7NyE$IAsMv^ic9Bbb<(sC(9=PfPK}vG!vgjvIgZ>AD^V{qI literal 0 HcmV?d00001 diff --git a/docs/public/icons/logo.skyblue.png b/docs/public/icons/logo.skyblue.png new file mode 100644 index 0000000000000000000000000000000000000000..05b42944682386b2ccf5cfa4eee21742a882b150 GIT binary patch literal 11121 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 [!TIP] -> nets module has been shifted from `/nets.js` to the utils folder `/utils/nets.js`. -> docs have also been updated. +## Changelogs 1.1.0 +tui has been implemented to gen3-express. +- used signale to implement tui. +- changes many things in gen3-express file. ## Acknowledgements You need to know atleast basics about these things. @@ -19,7 +21,6 @@ This method is highly recommended to generate an express app. npx https://www.github.com/OurCodeBase/gen3-express my-app ``` - ### 2. node package manager Generation of an express app is not recommended through npm. ```bash @@ -36,8 +37,9 @@ cd my-app npm install ``` To start a dev server to preview page use `server` word. -> [!NOTE] -> This does not include EJS and static files live (hot) reloading. +- Keep in mind that +- The below command does not include EJS live reloading. + ```bash npm run server ``` @@ -68,15 +70,16 @@ To know about the product or project structure read about files included in this └── home.ejs # this file is the landing page of the product. ``` -## Milestone +## Roadmap -- Custom name in `package.json` file -- Excellent terminal user interface -- Prompt `package.json` file's details from user. -- Post this project to npmjs website. +- Custom name in `package.json` file ✅ +- Excellent terminal user interface ✅ +- Prompt `package.json` file's details from user. ⏩ +- Post this project to npmjs website. ⏩ +- Custom local template feature ⏩ ## Authors - [@OurCodeBase](https://www.github.com/OurCodeBase) ## Contributing -Contributions are always welcome! +Contributions are always welcome! \ No newline at end of file