├── .all-contributorsrc
├── .babelrc
├── .gitignore
├── .prettierrc.js
├── CONTRIBUTING.md
├── README.md
├── components
└── Layout
│ ├── Footer.js
│ ├── Header.js
│ └── Layout.js
├── jsconfig.json
├── package-lock.json
├── package.json
├── pages
├── _app.js
└── index.js
├── postcss.config.js
├── public
├── assets
│ ├── gallery-mobile
│ │ ├── photo-1.png
│ │ ├── photo-2.png
│ │ ├── photo-3.png
│ │ ├── photo-4.png
│ │ └── photo-5.png
│ ├── icons
│ │ ├── calender.svg
│ │ ├── chat.svg
│ │ ├── gallery.svg
│ │ ├── home.svg
│ │ ├── location.svg
│ │ ├── resepsi.svg
│ │ └── ring.svg
│ ├── prewedding-home-dekstop.png
│ └── prewedding-home.png
├── favicon.ico
└── vercel.svg
├── styles
└── tailwind.css
└── tailwind.config.js
/.all-contributorsrc:
--------------------------------------------------------------------------------
1 | {
2 | "projectName": "ibarin",
3 | "projectOwner": "adeka-factory",
4 | "repoType": "github",
5 | "repoHost": "https://github.com",
6 | "files": [
7 | "README.md"
8 | ],
9 | "imageSize": 100,
10 | "commit": true,
11 | "commitConvention": "gitmoji",
12 | "contributors": [
13 | {
14 | "login": "ffadilaputra",
15 | "name": "Ivan Fadila Putra",
16 | "avatar_url": "https://avatars.githubusercontent.com/u/6916297?v=4",
17 | "profile": "https://ffadilaputra.space/",
18 | "contributions": [
19 | "doc",
20 | "projectManagement",
21 | "review"
22 | ]
23 | },
24 | {
25 | "login": "naufaldi",
26 | "name": "Naufaldi",
27 | "avatar_url": "https://avatars.githubusercontent.com/u/13159420?v=4",
28 | "profile": "https://naufaldi.xyz",
29 | "contributions": [
30 | "code",
31 | "review"
32 | ]
33 | },
34 | "login": "aurakanzaa",
35 | "name": "aura kanza",
36 | "avatar_url": "https://avatars.githubusercontent.com/u/18681884?v=4",
37 | "profile": "https://www.linkedin.com/in/aura-kanza-caesaria-734361163/",
38 | "contributions": [
39 | "design" ]
40 | }
41 | ],
42 | "contributorsPerLine": 7,
43 | "skipCi": true
44 | }
45 |
--------------------------------------------------------------------------------
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [ "next/babel" ],
3 | "plugins": [ "inline-react-svg" ]
4 | }
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 |
8 | # testing
9 | /coverage
10 |
11 | # next.js
12 | /.next/
13 | /out/
14 |
15 | # production
16 | /build
17 |
18 | # misc
19 | .DS_Store
20 | *.pem
21 |
22 | # debug
23 | npm-debug.log*
24 | yarn-debug.log*
25 | yarn-error.log*
26 |
27 | # local env files
28 | .env.local
29 | .env.development.local
30 | .env.test.local
31 | .env.production.local
32 |
33 | # vercel
34 | .vercel
35 |
--------------------------------------------------------------------------------
/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | arrowParens: 'always',
3 | singleQuote: true,
4 | tabWidth: 2,
5 | trailingComa: 'none',
6 | };
7 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/CONTRIBUTING.md
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 💍 Ibarin
2 |
3 | [](#contributors-)
4 |
5 |
6 | > A brief description of what this project does and who it's for
7 |
8 | ## 🗒️ Features
9 |
10 | ### Template feature
11 |
12 | - 🎈 Mobile first and responsive page
13 | - 🤖 SEO metadata and Open Graph tags [#10](https://github.com/adeka-factory/ibarin/issues/10)
14 | - 💯 Maximize lighthouse score [#11](https://github.com/adeka-factory/ibarin/issues/11)
15 | - ⚙️ PSI reports [#11](https://github.com/adeka-factory/ibarin/issues/11)
16 |
17 | ### Developer feature
18 |
19 | - 🔥 Next.js for Static Site Generator
20 | - 🎨 Integrate with Tailwind CSS
21 | - 💅 PostCSS for processing Tailwind CSS
22 | - 🛠 Code Formatter with Prettier
23 | - 🦊 SEO metadata, JSON-LD and Open Graph tags with Next SEO [#10](https://github.com/adeka-factory/ibarin/issues/10)
24 | - ⚙️ Bundler Analyzer [#8](https://github.com/adeka-factory/ibarin/issues/8)
25 |
26 |
27 | ## 🚀 Quick start
28 |
29 | > A nodejs >= 6.0.0 setup with [yarn](https://yarnpkg.com/) is recommended.
30 |
31 | 1. **Start developing.**
32 |
33 | Move to project's directory.
34 |
35 | ```bash
36 | cd project-name/
37 | ```
38 |
39 | Start your site.
40 |
41 | ```bash
42 | # using npm
43 | npm run dev
44 |
45 | # using yarn
46 | yarn dev
47 | ```
48 |
49 | Open source code using your favorite IDE/Text editor and navigate to root` directory, this is where your application live.
50 |
51 | 2. **Build your application for production.**
52 |
53 | Once you're finished, you can make production build of your app using:
54 |
55 | ```bash
56 | # using npm
57 | npm run build
58 |
59 | # using yarn
60 | yarn build
61 | ```
62 |
63 | ## 💫 Deployment
64 |
65 | [](https://vercel.com/new/git/external?repository-url=https%3A%2F%2Fgithub.com%2Fadeka-factory%2Fibarin)
66 |
67 | [](https://app.netlify.com/start/deploy?repository=https://github.com/adeka-factory/ibarin)
68 |
69 | Or using custom server, follow this [link](https://nextjs.org/docs/advanced-features/custom-server)
70 |
71 | ## ✨ Contributors
72 |
73 | Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
74 |
75 |
76 |
77 |
78 |
85 |
86 |
87 |
88 |
89 |
90 |
91 | This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
92 |
--------------------------------------------------------------------------------
/components/Layout/Footer.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Home from '../../public/assets/icons/home.svg';
3 | import Calender from '../../public/assets/icons/calender.svg';
4 | import Gallery from '../../public/assets/icons/gallery.svg';
5 | import Chat from '../../public/assets/icons/chat.svg';
6 |
7 | const Footer = () => {
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | Beranda
15 |
16 |
17 |
18 | Resepsi
19 |
20 |
21 |
22 | Galeri
23 |
24 |
25 |
26 | Ucapan
27 |
28 |
29 |
30 |
31 | );
32 | };
33 |
34 | export default Footer;
35 |
--------------------------------------------------------------------------------
/components/Layout/Header.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 |
3 | const Header = () => {
4 | return (
5 |
6 |
7 |
8 |
9 | {' '}
10 | Beranda
11 |
12 |
13 | {' '}
14 | Akad & Resepsi
15 |
16 |
17 | {' '}
18 | Galeri
19 |
20 |
21 | {' '}
22 | Ucapan
23 |
24 |
25 |
26 |
27 | );
28 | };
29 |
30 | export default Header;
31 |
--------------------------------------------------------------------------------
/components/Layout/Layout.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import Footer from './Footer';
3 | import Header from './Header';
4 |
5 | const Layout = ({ children }) => {
6 | return (
7 | <>
8 |
9 |
12 |
13 | >
14 | );
15 | };
16 |
17 | export default Layout;
18 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "paths": {
5 | "@/components/*": ["components/*"],
6 | "@/pages/*": ["pages/*"],
7 | "@/public/*": ["public/*"],
8 | "@/styles/*": ["styles/*"]
9 | }
10 | }
11 | }
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "next-landing-vpn",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "dev": "next dev ",
7 | "build": "NODE_ENV=production next build",
8 | "start": "next start"
9 | },
10 | "dependencies": {
11 | "@fullhuman/postcss-purgecss": "^3.0.0",
12 | "autoprefixer": "^10.1.0",
13 | "next": "10.0.3",
14 | "postcss": "^8.2.1",
15 | "react": "17.0.1",
16 | "react-dom": "17.0.1",
17 | "tailwindcss": "^2.0.1"
18 | },
19 | "devDependencies": {
20 | "all-contributors-cli": "^6.20.0",
21 | "babel-plugin-inline-react-svg": "^1.1.2"
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/pages/_app.js:
--------------------------------------------------------------------------------
1 | import "../styles/tailwind.css";
2 |
3 | function MyApp({ Component, pageProps }) {
4 | return ;
5 | }
6 |
7 | export default MyApp;
8 |
--------------------------------------------------------------------------------
/pages/index.js:
--------------------------------------------------------------------------------
1 | import Head from 'next/head';
2 | import Image from 'next/image';
3 | import Layout from '@/components/Layout/Layout';
4 | // import Resepsi from '../public/assets/icons/resepsi.svg';
5 | import Ring from '../public/assets/icons/ring.svg';
6 |
7 | import Location from '../public/assets/icons/location.svg';
8 |
9 | export default function Home() {
10 | return (
11 |
12 |
13 |
Wedding Invitation
14 |
15 |
16 |
17 | {/* Header Mobile */}
18 |
23 |
24 |
25 |
26 |
Pernikahan dari
27 |
28 | Bambang & Partini
29 |
30 |
01 Januari 2021
31 |
32 |
33 |
34 | {/* End Header Mobile */}
35 |
39 |
40 |
41 |
42 | “And of His signs is that He created for you from your selves
43 | mates that you may find tranquility in them; and He placed
44 | between you affection and mercy. Indeed in that are signs for a
45 | people who give thought.”
46 |
47 |
( QS. Ar- Rum 21 )
48 |
49 |
50 |
Pernikahan dari
51 |
52 | Bambang & Partini
53 |
54 |
01 Januari 2021
55 |
56 |
57 |
58 |
66 |
67 |
68 |
72 |
73 |
74 |
75 |
Pernikahan dari
76 |
77 | Bambang & Partini
78 |
79 |
01 Januari 2021
80 |
81 |
82 |
83 |
84 |
Putra dari
85 |
Bapak Badril Munir
86 |
Ibu Sartinah
87 |
88 |
89 |
Putra dari
90 |
Bapak Badril Munir
91 |
Ibu Sartinah
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 | Akad pernikahan{' '}
101 |
102 |
103 | Pukul 08.00 s.d 10.00 WIB
104 |
105 |
106 |
107 |
108 |
109 |
113 |
114 |
Resepsi
115 |
116 | Pukul 10.00 s.d Selesai
117 |
118 |
119 |
120 |
121 |
122 | Bertempat di mempelai wanita, Perum permata hijau Blok F no 45
123 |
124 |
125 |
126 |
127 |
128 | Cek Lokasi
129 |
130 |
131 |
132 |
136 |
137 | Gallery
138 |
139 |
140 |
149 |
150 |
151 |
160 |
161 |
162 |
171 |
172 |
173 |
182 |
183 |
184 |
192 |
193 |
194 |
195 |
196 | );
197 | }
198 |
--------------------------------------------------------------------------------
/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | };
7 |
--------------------------------------------------------------------------------
/public/assets/gallery-mobile/photo-1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/assets/gallery-mobile/photo-1.png
--------------------------------------------------------------------------------
/public/assets/gallery-mobile/photo-2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/assets/gallery-mobile/photo-2.png
--------------------------------------------------------------------------------
/public/assets/gallery-mobile/photo-3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/assets/gallery-mobile/photo-3.png
--------------------------------------------------------------------------------
/public/assets/gallery-mobile/photo-4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/assets/gallery-mobile/photo-4.png
--------------------------------------------------------------------------------
/public/assets/gallery-mobile/photo-5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/assets/gallery-mobile/photo-5.png
--------------------------------------------------------------------------------
/public/assets/icons/calender.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/public/assets/icons/chat.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/public/assets/icons/gallery.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/public/assets/icons/home.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/public/assets/icons/location.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/public/assets/icons/resepsi.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/public/assets/icons/ring.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/public/assets/prewedding-home-dekstop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/assets/prewedding-home-dekstop.png
--------------------------------------------------------------------------------
/public/assets/prewedding-home.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/assets/prewedding-home.png
--------------------------------------------------------------------------------
/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/nmdlnd/ibarin/c8780882536b17e7ab0fa13239f1eae622b859ca/public/favicon.ico
--------------------------------------------------------------------------------
/public/vercel.svg:
--------------------------------------------------------------------------------
1 |
3 |
4 |
--------------------------------------------------------------------------------
/styles/tailwind.css:
--------------------------------------------------------------------------------
1 | /* purgecss start ignore */
2 | @import url("https://fonts.googleapis.com/css2?family=Great+Vibes&family=Habibi&family=Montserrat:wght@300;400;500;600;700&display=swap");
3 |
4 | @tailwind base;
5 | @tailwind components;
6 | html {
7 | font-family: "Montserrat", sans-serif;
8 | }
9 | .font-habibi {
10 | font-family: "Habibi", serif;
11 | }
12 | .font-great-vibes {
13 | font-family: "Great Vibes", cursive;
14 | }
15 | .bg-blur-2px {
16 | filter: blur(2px);
17 | }
18 | p {
19 | @apply tracking-wide;
20 | }
21 | /* purgecss end ignore */
22 | @tailwind utilities;
23 |
--------------------------------------------------------------------------------
/tailwind.config.js:
--------------------------------------------------------------------------------
1 | const defaultTheme = require('tailwindcss/defaultTheme');
2 |
3 | module.exports = {
4 | purge: [
5 | './pages/*.js',
6 | './pages/**/*.js',
7 | './components/*.js',
8 | './components/**/*.js',
9 | ],
10 | theme: {
11 | boxShadow: {
12 | DEFAULT: '#11130f 0px 14px 20px;',
13 | },
14 | maxWidth: {
15 | 'screen-2xl': '1440px',
16 | 'screen-xl': '1280px',
17 | 'screen-lg': '1024px',
18 | 'screen-md': '768px',
19 | 'screen-sm': '640px',
20 | },
21 | extend: {
22 | colors: {
23 | 'grey-chez': {
24 | 300: '#CBCFCD',
25 | 400: '#9BA19A',
26 | 500: '#8D8B8C',
27 | },
28 | brown: {
29 | 500: '#7E7464',
30 | },
31 | dark: {
32 | 500: '#23261E',
33 | 450: 'hsla(83,12%,13%,0.4)',
34 | },
35 | },
36 | gridTemplateRows: {
37 | // Simple 8 row grid
38 |
39 | 7: 'repeat(7, minmax(0, 1fr))',
40 | },
41 | },
42 | },
43 | variants: {},
44 | plugins: [],
45 | };
46 |
--------------------------------------------------------------------------------