Skip to content

Composition API & Readme Updates #16

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
Oct 29, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 39 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Vuejs & TailwindCSS Portfolio - With Dark Mode

A simple portfolio starter theme built on the top of Vue.js v3 and TailwindCSS v2
A simple portfolio starter theme built with Vue.js v3 and TailwindCSS v2. This is a simple portfolio theme and its geared towards beginners. For sure there's room for improvements and if there's anything missing or to be corrected or you have a better idea for it, please fork this repo and make a PR.

![Vuejs-TailwindCSS-Portfolio](https://user-images.githubusercontent.com/16396664/137613185-4e94cf76-002b-4f7e-8d9b-f452c97cadf2.PNG)

Expand All @@ -11,27 +11,55 @@ A simple portfolio starter theme built on the top of Vue.js v3 and TailwindCSS v
## Features

- Simple and responsive design
- [Tailwind CSS v2](https://tailwindcss.com) (with PurgeCSS)
- [Vue.js v3](https://vuejs.org) with [Vue Router](https://router.vuejs.org)
- [Tailwind CSS v2](https://tailwindcss.com)
- Theme Switcher with Dark Mode
- Composition API
- Vue transitions
- Counter
- Vue.js Smooth Scroll
- Projects Carousel
- Dynamic Forms
- Projects filter by category
- Projects carousel
- Vue.js smooth scroll
- Dynamic forms
- Back to top button
- Download file button

## Installation

1. Make sure you have Node JS installed. If you don't have it: `npm install -g npm`
1. Clone the repo: `git clone https://github.com/NangialaiStoman/vuejs-tailwindcss-portfolio.git`
1. `cd vuejs-tailwindcss-portfolio`
1. `npm install`
1. `npm run serve` to start a local dev server at `http://localhost:8080`
1. ##### Make sure you have Node JS installed. If you don't have it:

```
npm install -g npm
```

2. ##### Clone the repo:

```
git clone https://github.com/NangialaiStoman/vuejs-tailwindcss-portfolio.git
```

3. ##### Open the project folder:

```
cd vuejs-tailwindcss-portfolio
```

4. ##### Install packages and dependencies:

```
npm install
```

5. ##### Start a local dev server at `http://localhost:8080`:

```
npm run serve
```

## Notes

- Always run `npm install` after pulling new changes
- I'll be constantly updating this repo as I'll be adding more sections to it, so please always check the projects section of this repo to see what tasks are under todo and in progress
- The dark mode is highly inspired by [Gridsome Portfolio Starter by Andre Madarang](https://github.com/drehimself/gridsome-portfolio-starter). Since that project is based on Gridsome, I wanted to create a Vue.js and TailwindCSS portfolio with dark mode
- Coming Soon [I'll be doing a screencast](https://www.youtube.com/c/StomanStudio). Soon I'll be uploading a video to my YouTube channel where I'll be going through the process of creating this portoflio
- Illustrations from [unDraw](https://undraw.co) and [Freepik](https://freepik.com)
- Images from [Unsplash](https://unsplash.com)
Expand Down
6 changes: 6 additions & 0 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,12 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="./favicon.png" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<link
href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800;900&display=swap"
rel="stylesheet"
/>
<title><%= htmlWebpackPlugin.options.title %></title>
</head>
<body id="app-theme" class="app-theme">
Expand Down
12 changes: 12 additions & 0 deletions src/assets/css/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,15 @@
* Vuejs & TailwindCSS Portfolio Main Styling CSS File
* Powered by: @NangialaiStoman
*/

body {
font-family: 'Poppins', sans-serif !important;
}

h1,
h2,
h3,
h4 {
font-family: 'Poppins', sans-serif !important;
font-weight: 500 !important;
}
Binary file modified src/assets/images/mobile-project-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/images/mobile-project-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/images/profile.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/images/ui-project-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/images/ui-project-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/images/web-project-1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/images/web-project-2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion src/components/ThemeSwitcher.vue
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<template>
<a href="#" @click.prevent="toggleTheme" aria-label="Theme Switcher">
<a href="#" @click="toggleTheme" aria-label="Theme Switcher">
<i
v-if="theme === 'light'"
data-feather="moon"
Expand Down
31 changes: 31 additions & 0 deletions src/composables/useThemeSwitcher.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import { ref } from '@vue/reactivity';

export default function useThemeSwitcher() {
const currentTheme = ref('light');

function toggleTheme() {
if (currentTheme.value == 'dark') {
setLightTheme();
} else {
setDarkTheme();
}
}

// Light Theme Function
function setLightTheme() {
currentTheme.value = 'light';

process.isClient && localStorage.setItem('theme', 'light');
}

// Dark Theme Function
function setDarkTheme() {
currentTheme.value = 'dark';

process.isClient && localStorage.setItem('theme', 'dark');
}

return {
toggleTheme,
};
}