Skip to content
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

Abdullah.alhumsi1.me #12

Open
wants to merge 34 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
940363b
cv
Jun 16, 2023
8cf4d8f
Merge branch 'arabyalhomsi:main' into main
Alhumsiabdo Jul 15, 2023
3fc1f6a
fix: add new changes
Jul 15, 2023
8a98108
add : SkillContainersList
Alhumsiabdo Jul 15, 2023
ce8f91c
add some data in resume
Alhumsiabdo Jul 15, 2023
1b4737d
add some data to resume json
Alhumsiabdo Jul 20, 2023
e366d44
add some data and edit in workflow file
Alhumsiabdo Aug 12, 2023
4fc7ef1
edit in file index.page.tsx
Alhumsiabdo Aug 12, 2023
9c0389b
fix something
Alhumsiabdo Aug 12, 2023
0f33e64
add screenshot to my resume
Alhumsiabdo Aug 12, 2023
5dba963
add some data in resume.json
Alhumsiabdo Aug 12, 2023
9a29735
add some data
Alhumsiabdo Aug 12, 2023
6b03356
Update deploy-github-pages.yml
Alhumsiabdo Aug 14, 2023
3cb13d8
Update deploy-github-pages.yml
Alhumsiabdo Aug 14, 2023
23d2c8f
change account github
Alhumsiabdo Aug 23, 2023
14b0b4b
change account github1
Alhumsiabdo Aug 23, 2023
9fd83d7
Merge pull request #1 from Alhumsiabdo/abdullah.alhumsi1.me
Alhumsiabdo Aug 23, 2023
cda5454
change time study
Alhumsiabdo Sep 18, 2023
16bafd2
Merge branch 'main' into abdullah.alhumsi1.me
Alhumsiabdo Sep 18, 2023
2bbd334
Merge pull request #2 from Alhumsiabdo/abdullah.alhumsi1.me
Alhumsiabdo Sep 18, 2023
3666bfe
fix email
Alhumsiabdo Oct 6, 2023
227a8f5
Merge pull request #3 from Alhumsiabdo/abdullah.alhumsi1.me
Alhumsiabdo Oct 6, 2023
7068a91
fix email 2
Alhumsiabdo Oct 6, 2023
0b99b27
fix email 3
Alhumsiabdo Oct 6, 2023
a046d01
Merge pull request #4 from Alhumsiabdo/abdullah.alhumsi1.me
Alhumsiabdo Oct 6, 2023
41e5a0f
Update resume.json
Alhumsiabdo Jan 25, 2024
3e9a221
Update resume.json
Alhumsiabdo Jan 25, 2024
4e3d197
Update resume.json
Alhumsiabdo Jan 25, 2024
bd7681e
Update global.css
Alhumsiabdo Jan 25, 2024
f407c3c
Update global.css
Alhumsiabdo Jan 25, 2024
78a3979
Update resume.json
Alhumsiabdo Jan 25, 2024
a643ad8
Update resume.json
Alhumsiabdo Jan 25, 2024
28b7630
update date work on top business
Alhumsiabdo Apr 4, 2024
65f1983
add some details in resume
Alhumsiabdo Sep 19, 2024
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
36 changes: 18 additions & 18 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
module.exports = {
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'import', 'prettier'],
root: true,
ignorePatterns: ['*.cjs', 'dist', 'node_modules'],
parserOptions: {
sourceType: 'module',
},
rules: {
eqeqeq: 'error',
curly: ["error", "all"]
},
};
module.exports = {
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:prettier/recommended',
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint', 'import', 'prettier'],
root: true,
ignorePatterns: ['*.cjs', 'dist', 'node_modules'],
parserOptions: {
sourceType: 'module',
},
rules: {
eqeqeq: 'error',
curly: ["error", "all"]
},
};
70 changes: 35 additions & 35 deletions .github/workflows/deploy-github-pages.yml
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
name: Build and Deploy to GitHub Pages

on:
push:
branches:
- arabi.alhumsi.me

jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2

- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 6.14.4

- name: Install
run: pnpm install

- name: Build vite-plugin-ssr
run: pnpm run build

- name: Deploy
uses: JamesIves/[email protected]
with:
branch: gh-pages
folder: dist/client
# Remove previous build files
clean: true
# Do not remove the `.nojekyll` file: we have manually added an empty `.nojekyll` file at the root of the `gh-pages` branch and we don't want having to re-create it after each build.
clean-exclude: |
.nojekyll
name: Build and Deploy to GitHub Pages
on:
push:
branches:
- abdullah.alhumsi.me
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install pnpm
uses: pnpm/action-setup@v2
with:
version: 6.14.4
- name: Install
run: pnpm install
- name: Build vite-plugin-ssr
run: pnpm run build
- name: Deploy
uses: JamesIves/[email protected]
with:
branch: gh-pages
folder: dist/client
# Remove previous build files
clean: true
# Do not remove the `.nojekyll` file: we have manually added an empty `.nojekyll` file at the root of the `gh-pages` branch and we don't want having to re-create it after each build.
clean-exclude: |
.nojekyll
8 changes: 4 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
node_modules/
dist/
.env
.env.local
node_modules/
dist/
.env
.env.local
16 changes: 8 additions & 8 deletions .prettierrc.cjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
module.exports = {
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
tabWidth: 2,
semi: true,
arrowParens: 'always',
jsxBracketSameLine: false,
module.exports = {
singleQuote: true,
trailingComma: 'all',
printWidth: 80,
tabWidth: 2,
semi: true,
arrowParens: 'always',
jsxBracketSameLine: false,
};
148 changes: 74 additions & 74 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,74 +1,74 @@
<h1 align="center">
The Software Engineer Showcaser
</h1>

<h4 align="center">A modern but simple app that enables software engineers to showcase their skills and experience. Uses <code>vite-plugin-ssr</code></h4>
<br>
<div align="center">

![Build and Deploy to Github Pages](https://github.com/arabyalhomsi/the-software-engineer-showcaser/actions/workflows/deploy-github-pages.yml/badge.svg)
![ts](https://badgen.net/badge/Built%20With/TypeScript/blue)

</div>
<p align="center">
<a href="#key-features">Key Features</a> •
<a href="#quick-guide">Quick Guide</a> •
<a href="#folder-structure">Folder Structure</a> •
<a href="#credits">Credits</a> •
<a href="#license">License</a>
</p>

![screenshot](https://raw.githubusercontent.com/arabyalhomsi/the-software-engineer-showcaser/main/public/assets/images/screenshot.png)

## Key Features

- Prints to a normal pdf CV using any browser and platform (`ctrl+p`, `cmd+p`, `Android`, `iPhone`).
- Easily adjustable through the resume.json file.
- Modular structure so you can add new section or modify existing section with basic knowledge of React.
- Completely prerendered and statically generated (SSG): You can host it on Github Pages for free.
- Loads in 0.2s on PC and 0.9s on mobile (slow 3G connection).
- Responsive on all devices.
- SEO ready.

## Quick Guide

This guide does not need any react experience.

- Clone the respository and pull it.
- Run `npm install` and `npm run dev`.
- Modify the resume.json to your needs.
- In `renderer/_default.page.server.tsx`, personalize the data and the SEO tags.
- In `renderer/_default.page.client.tsx`, edit the google analytics ID
- In `public/assets/images`, you can change the screenshot.png and profile-photo.jpeg.
- Edit the `branches` to `main` or the name of the branch you want to deploy in `.github/workflows/deploy-github-pages.yml`
- Follow the [Quick Start Github pages](https://docs.github.com/en/pages/quickstart) to get your site online.
- Add this Github Action [Deploy To Github Pages](https://github.com/marketplace/actions/deploy-to-github-pages) to your repository.
- You should be successful! Don't hesitate to post an issue if you struggle.

## Folder structure

```
├── components # General and stateless reusable components.
├── layouts # Includes the main ShowcaseLayout.tsx that is responsible for floating A4 page.
├── pages # The different pages of the web app.
│ ├── index # A main page that redirects to /resume. This was left here for the possibility of adding different pages to the site.
│ ├── resume # The main folder where the resume is built.
│ | ├── components # Stateful components that form the section of the resume.

├── public # Static content (e.g. images and icons)
├── renderer # vite-plugin-ssr files (check the official doc)
│ ├── css # Where global css and tailwind css goes
├── services # Tools and utilities
│ ├── ContentLoader # A set of helpers that extract data from resume.json and enforce typing.
```

## Credits

- [Vite Plugin SSR](https://vite-plugin-ssr.com/) and [React](https://react.dev/)
- Heavily inspired by <a href="https://gitlab.com/nfriend/nuxt-resume">Nathan Friend's Nuxt Resume</a>
- CV template inspired by <a href="https://github.com/dnl-blkv/mcdowell-cv">McDowell CV</a>
- Icons by [Bootstrap Icons](https://icons.getbootstrap.com/)

## License

All info in resume.json belongs to Arabi Alhumsi and may not be used in any way without my permission. All the other files follow the [MIT license](https://github.com/arabyalhomsi/the-software-engineer-showcaser/blob/main/license)
<h1 align="center">
The Software Engineer Showcaser
</h1>
<h4 align="center">A modern but simple app that enables software engineers to showcase their skills and experience. Uses <code>vite-plugin-ssr</code></h4>
<br>
<div align="center">
![Build and Deploy to Github Pages](https://github.com/arabyalhomsi/the-software-engineer-showcaser/actions/workflows/deploy-github-pages.yml/badge.svg)
![ts](https://badgen.net/badge/Built%20With/TypeScript/blue)
</div>
<p align="center">
<a href="#key-features">Key Features</a> •
<a href="#quick-guide">Quick Guide</a> •
<a href="#folder-structure">Folder Structure</a> •
<a href="#credits">Credits</a> •
<a href="#license">License</a>
</p>
![screenshot](https://raw.githubusercontent.com/arabyalhomsi/the-software-engineer-showcaser/main/public/assets/images/screenshot.png)
## Key Features
- Prints to a normal pdf CV using any browser and platform (`ctrl+p`, `cmd+p`, `Android`, `iPhone`).
- Easily adjustable through the resume.json file.
- Modular structure so you can add new section or modify existing section with basic knowledge of React.
- Completely prerendered and statically generated (SSG): You can host it on Github Pages for free.
- Loads in 0.2s on PC and 0.9s on mobile (slow 3G connection).
- Responsive on all devices.
- SEO ready.
## Quick Guide
This guide does not need any react experience.
- Clone the respository and pull it.
- Run `npm install` and `npm run dev`.
- Modify the resume.json to your needs.
- In `renderer/_default.page.server.tsx`, personalize the data and the SEO tags.
- In `renderer/_default.page.client.tsx`, edit the google analytics ID
- In `public/assets/images`, you can change the screenshot.png and profile-photo.jpeg.
- Edit the `branches` to `main` or the name of the branch you want to deploy in `.github/workflows/deploy-github-pages.yml`
- Follow the [Quick Start Github pages](https://docs.github.com/en/pages/quickstart) to get your site online.
- Add this Github Action [Deploy To Github Pages](https://github.com/marketplace/actions/deploy-to-github-pages) to your repository.
- You should be successful! Don't hesitate to post an issue if you struggle.
## Folder structure
```
├── components # General and stateless reusable components.
├── layouts # Includes the main ShowcaseLayout.tsx that is responsible for floating A4 page.
├── pages # The different pages of the web app.
│ ├── index # A main page that redirects to /resume. This was left here for the possibility of adding different pages to the site.
│ ├── resume # The main folder where the resume is built.
│ | ├── components # Stateful components that form the section of the resume.
├── public # Static content (e.g. images and icons)
├── renderer # vite-plugin-ssr files (check the official doc)
│ ├── css # Where global css and tailwind css goes
├── services # Tools and utilities
│ ├── ContentLoader # A set of helpers that extract data from resume.json and enforce typing.
```
## Credits
- [Vite Plugin SSR](https://vite-plugin-ssr.com/) and [React](https://react.dev/)
- Heavily inspired by <a href="https://gitlab.com/nfriend/nuxt-resume">Nathan Friend's Nuxt Resume</a>
- CV template inspired by <a href="https://github.com/dnl-blkv/mcdowell-cv">McDowell CV</a>
- Icons by [Bootstrap Icons](https://icons.getbootstrap.com/)
## License
All info in resume.json belongs to Arabi Alhumsi and may not be used in any way without my permission. All the other files follow the [MIT license](https://github.com/arabyalhomsi/the-software-engineer-showcaser/blob/main/license)
5 changes: 1 addition & 4 deletions components/SectionList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,7 @@ function SectionList({ type, points }: SectionListProps) {

const ListMembers = points.map((content, index) => {
return (
<li
className="flex flex-row items-start gap-2 leading-[1.52rem]"
key={index}
>
<li className="flex flex-row items-start gap-2 leading-9" key={index}>
<Icon
className={`mt-0.5 ${
ListType.BULLET === type ? 'scale-150' : 'text-gray-500'
Expand Down
14 changes: 7 additions & 7 deletions license
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Copyright 2023 Arabi Alhumsi

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Copyright 2023 Arabi Alhumsi
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Loading