mirror of
https://github.com/jambonz/next-static-site.git
synced 2026-10-21 19:04:23 +00:00
41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
jambonz
|
|
=======
|
|
|
|
> The "bring your own everything" CPaaS
|
|
|
|

|
|
|
|
## Deploy targets
|
|
|
|
This app can easily be deployed to multiple targets including Vercel, Netlify or AWS+circleci.
|
|
|
|
- Vercel
|
|
- [jambonz.vercel.com](https://jambonz.vercel.app)
|
|
- AWS+circleci
|
|
- Could easily be implemented as in this repo [here](https://github.com/kitajchuk/punxy#aws--circleci).
|
|
|
|
## Dev start
|
|
|
|
Clone this repository and install [yarn](https://yarnpkg.com/getting-started/install). From app root:
|
|
|
|
- `yarn install`
|
|
- Installs node packages
|
|
- `yarn dev`
|
|
- Serves local dev at [localhost:3000](http://localhost:3000)
|
|
|
|
Other packages being used prominently in this apps source code are [classnames](https://www.npmjs.com/package/classnames) and [nanoid](https://www.npmjs.com/package/nanoid#react).
|
|
|
|
## Jambonz UI library
|
|
|
|
This app is being composed in the manor of `module > component > element`, wherein a page is a module which is made up of components that are comprised of elements. We are using [Next.js](https://nextjs.org) [SASS](https://nextjs.org/learn/basics/assets-metadata-css/css-styling) located in the `styles` directory and loaded globally in [pages/_app.js](/pages/_app.js). A generally simple BEM CSS module naming convention is being used prominently. JS components are in the `components` directory. The `jambonz-ui` component consists of reusable design element components.
|
|
|
|
You can view examples of the Jambonz UI component elements on this page [here](https://jambonz.vercel.app/jambonz-ui).
|
|
|
|
## Static page data
|
|
|
|
We are using static data with [yamljs](https://www.npmjs.com/package/yamljs) and [Next.js static props](https://nextjs.org/docs/basic-features/data-fetching#getstaticprops-static-generation). Data files are located in the `data` directory. There's a JS data utility in `lib/data.js` that provides a method for "fetching" the static data for use with a Next.js pages async `getStaticProps` SSR method.
|
|
|
|
## Jambonz developer docs
|
|
|
|
The project is using [Nextra.js](https://nextra.vercel.app) which provides a stylized developer docs theme for Next.js. We are loading theme CSS styles with the `styles/_nextra.scss` partial. It is being used to hide the frontend page links from the Nextra sidebar nav as there is currently no way to do this using pure nextra config. There is a [Github issue here](https://github.com/shuding/nextra/issues/59) referring to "Page exclusion from docs".
|