Important
Mail app (aka email functionality aka contact form) is currently disabled and will be re-enabled after I troubleshoot, debug, + fix the server-side script
Additional features are still in development
Current features are actively being optimized and improved
Includes (but is not limited to):
- Resizable and movable windows
- Supported on both desktop and mobile
- Click red button in upper-left corner to close window
- Click green button in upper-left corner to maximize window
MailSend me an email directly, without leaving the site!Includes reCAPTCHA to prevent spamYour email and message are requiredSubject is optional
- iTerm
- Inspired by terminal (specifically iTerm)
- Timestamp (i.e. displays date and time when site is loaded)
- Safari
- Click on any skill to toggle its description
- Interactive address bar
- Notes
- View various projects in sidebar
- TextEdit
- Font family, size, color, and line-height can be changed
- Font alignment (i.e. left, center, right, justify) can be changed
- Font style (i.e. bold, italic, underline) can be changed
- Launchpad
- Apps are draggable/reorderable
- Apps are searchable (i.e. type in searchbar to filter)
- Calculator
- Functional calculator
- Supports basic arithmetic operations, including:
- Addition (+)
- Subtraction (−)
- Multiplication (×)
- Division (÷)
- Modulus (%)
- Menubar
- Real-time Clock (i.e. displays date and time)
- Click the play icon in the upper-right corner of the menubar to open Music Player and see what I am/was listening to
- Click the WiFi icon in the upper-right corner of the menubar to open WiFi menu
- Click any of the tabs in the upper-left corner of the menubar to open its respective dropdown
- Desktop
src,about.rtf,profile.jpg, andresume.pdficons are all draggable- Double-click (or tap, if on mobile)
about.rtfto open TextEdit (i.e. my about me) - Double-click (or tap, if on mobile)
profile.jpgorresume.pdfto open Preview
- Preview
- View my resume (i.e.
resume.pdf) - View my profile picture (i.e.
profile.jpg) - Previewed image can be rotated, zoomed into, and zoomed out of
- View my resume (i.e.
- Trash
- Clicking the trash icon in the dock opens an "Empty Trash" dialog
- Clicking "Empty Trash" button will empty the trash (i.e. replace the trash icon with an empty trash icon and produce a sound effect)
- Dock
- Clicking/opening any unopened app produces a bouncing effect
- Context Menu
- Right-click anywhere (except menubar) to open context menu
- Desktop only; not supported on mobile
- Cursors
- Default: Default cursor
- Pointer: Hover over links
- Text: Hover over input fields
- Crosshair: Hover over preview image
- Enter directory where you want to clone repository (
lynkos.github.io)- UNIX
cd ~/path/to/directory
- Windows
cd C:\path\to\directory
- UNIX
- Only clone
mainbranch (to avoid cloning unneeded branches) from repositorygit clone --single-branch -b main https://github.com/lynkos/lynkos.github.io.git
- Enter repository
cd lynkos.github.io - Install dependencies
npm install
npm run devnpm run buildNote
Refer to gh-pages.yml for full workflow and package.json for build script (i.e. npm run build)
- Create
prodbranchgit checkout -b prod
- Push
prodbranch to remote (i.e. GitHub)git push -u origin prod
- Generate SSH key
ssh-keygen -t ed25519 -C "$(git config user.email)" -f gh-pages -N ""
- Go to your repository's Deploy keys settings (i.e. https://github.com/YOUR_USERNAME/REPOSITORY_NAME/settings/keys)
- Click Add deploy key
- Enter
ACTIONS_DEPLOY_KEYin Title field and paste contents of generated public key (i.e.gh-pages.pub) in Key field - Check Allow write access
- Click Add key
- Go to your repository's Actions secrets and variables settings (i.e. https://github.com/YOUR_USERNAME/REPOSITORY_NAME/settings/secrets/actions)
- Click New repository secret
- Enter
ACTIONS_DEPLOY_KEYin Name field and paste contents of generated private key (i.e.gh-pages) in Secret field - Click Add secret
- Go to your repository's Pages settings (i.e. https://github.com/YOUR_USERNAME/REPOSITORY_NAME/settings/pages)
- Under Build and deployment, select the following:
- Source: Deploy from a branch
- Branch:
prodand/ (root)
- Click Save
- Make sure that it now says "Your GitHub Pages site is currently being built from the
prodbranch" under Branch
Note
Any message submitted via the Mail form will be sent to my email.
Follow this section to use your email with the Mail form.
- Complete the steps in this GitHub repo's
READMEdoc- You will need to create a new Google Apps Script project and publish it as a web app
- Use your own reCAPTCHA v2 widget and replace
data-sitekeyinindex.htmlwith your own sitekey- You can opt out of and remove reCAPTCHA v2 by making some changes to both
index.htmlandemail.js - Note that removing reCAPTCHA v2 widget WILL result in a daily influx of bot/spam messages (assuming you've successfully completed Step #1)
- You can opt out of and remove reCAPTCHA v2 by making some changes to both
- Modify the code within
<form class="gform">(inclusive) inindex.htmlaccordingly
actions-gh-pages- Deploy keys (SSH)
- Creating a branch within your repository
- GitHub Pages Action
- GitHub Actions: Deploy Pages
- Using custom workflows with GitHub Pages
- Configuring a publishing source for your GitHub Pages site
- Writing workflows
- Send Email from a Static HTML Form using Google Apps Mail!
- Deploy Nuxt on GitHub Pages
- Node Version Manager (NVM): GitHub Repository
- GitHub Actions: Cache
- Set up Sass in the best way
- Automatically render reCAPTCHA v2 widget
- Improve page performance lazy loading reCaptcha


