├── .editorconfig ├── .eslintrc ├── .gitattributes ├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE │ └── feature_request.md └── workflows │ └── deploy.yaml ├── .gitignore ├── .husky └── pre-commit ├── .nojekyll ├── CNAME ├── LICENSE ├── README.md ├── assets ├── AvenirNextLTPro-Demi-tvM90QMG.woff ├── AvenirNextLTPro-DemiItalic-rhzAFWbF.woff ├── AvenirNextLTPro-Italic-DNAipd03.woff ├── AvenirNextLTPro-Regular-DOIRynfy.woff ├── KaTeX_AMS-Regular-BQhdFMY1.woff2 ├── KaTeX_AMS-Regular-DMm9YOAa.woff ├── KaTeX_AMS-Regular-DRggAlZN.ttf ├── KaTeX_Caligraphic-Bold-ATXxdsX0.ttf ├── KaTeX_Caligraphic-Bold-BEiXGLvX.woff ├── KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 ├── KaTeX_Caligraphic-Regular-CTRA-rTL.woff ├── KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 ├── KaTeX_Caligraphic-Regular-wX97UBjC.ttf ├── KaTeX_Fraktur-Bold-BdnERNNW.ttf ├── KaTeX_Fraktur-Bold-BsDP51OF.woff ├── KaTeX_Fraktur-Bold-CL6g_b3V.woff2 ├── KaTeX_Fraktur-Regular-CB_wures.ttf ├── KaTeX_Fraktur-Regular-CTYiF6lA.woff2 ├── KaTeX_Fraktur-Regular-Dxdc4cR9.woff ├── KaTeX_Main-Bold-Cx986IdX.woff2 ├── KaTeX_Main-Bold-Jm3AIy58.woff ├── KaTeX_Main-Bold-waoOVXN0.ttf ├── KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 ├── KaTeX_Main-BoldItalic-DzxPMmG6.ttf ├── KaTeX_Main-BoldItalic-SpSLRI95.woff ├── KaTeX_Main-Italic-3WenGoN9.ttf ├── KaTeX_Main-Italic-BMLOBm91.woff ├── KaTeX_Main-Italic-NWA7e6Wa.woff2 ├── KaTeX_Main-Regular-B22Nviop.woff2 ├── KaTeX_Main-Regular-Dr94JaBh.woff ├── KaTeX_Main-Regular-ypZvNtVU.ttf ├── KaTeX_Math-BoldItalic-B3XSjfu4.ttf ├── KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 ├── KaTeX_Math-BoldItalic-iY-2wyZ7.woff ├── KaTeX_Math-Italic-DA0__PXp.woff ├── KaTeX_Math-Italic-flOr_0UB.ttf ├── KaTeX_Math-Italic-t53AETM-.woff2 ├── KaTeX_SansSerif-Bold-CFMepnvq.ttf ├── KaTeX_SansSerif-Bold-D1sUS0GD.woff2 ├── KaTeX_SansSerif-Bold-DbIhKOiC.woff ├── KaTeX_SansSerif-Italic-C3H0VqGB.woff2 ├── KaTeX_SansSerif-Italic-DN2j7dab.woff ├── KaTeX_SansSerif-Italic-YYjJ1zSn.ttf ├── KaTeX_SansSerif-Regular-BNo7hRIc.ttf ├── KaTeX_SansSerif-Regular-CS6fqUqJ.woff ├── KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 ├── KaTeX_Script-Regular-C5JkGWo-.ttf ├── KaTeX_Script-Regular-D3wIWfF6.woff2 ├── KaTeX_Script-Regular-D5yQViql.woff ├── KaTeX_Size1-Regular-C195tn64.woff ├── KaTeX_Size1-Regular-Dbsnue_I.ttf ├── KaTeX_Size1-Regular-mCD8mA8B.woff2 ├── KaTeX_Size2-Regular-B7gKUWhC.ttf ├── KaTeX_Size2-Regular-Dy4dx90m.woff2 ├── KaTeX_Size2-Regular-oD1tc_U0.woff ├── KaTeX_Size3-Regular-CTq5MqoE.woff ├── KaTeX_Size3-Regular-DgpXs0kz.ttf ├── KaTeX_Size4-Regular-BF-4gkZK.woff ├── KaTeX_Size4-Regular-DWFBv043.ttf ├── KaTeX_Size4-Regular-Dl5lxZxV.woff2 ├── KaTeX_Typewriter-Regular-C0xS9mPB.woff ├── KaTeX_Typewriter-Regular-CO6r4hn1.woff2 ├── KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf ├── index-CTBUGuFG.js └── index-DU69ae56.css ├── img ├── icons │ ├── bear.png │ ├── facetime.png │ ├── github.png │ ├── launchpad.png │ ├── launchpad │ │ ├── cube.png │ │ ├── fishmail.png │ │ ├── flint.png │ │ ├── gungnir.png │ │ ├── meta.png │ │ ├── notebook.png │ │ ├── oh-vue-icons.png │ │ ├── resume.png │ │ ├── rl.png │ │ └── zelda.png │ ├── mail.png │ ├── safari.png │ ├── terminal.png │ ├── typora.png │ └── vscode.png ├── sites │ ├── artstation.svg │ ├── arxiv.png │ ├── astral.svg │ ├── bilibili.svg │ ├── dribbble.svg │ ├── facebook.svg │ ├── gitee.svg │ ├── github.svg │ ├── gmail.svg │ ├── google-scholar.svg │ ├── hacker.svg │ ├── leetcode.svg │ ├── linkedin.svg │ ├── pinterest.svg │ ├── reddit.svg │ ├── steam.svg │ ├── twitter.svg │ └── zhihu.jpeg └── ui │ ├── avatar.jpg │ ├── wallpaper-day.jpg │ ├── wallpaper-night.jpg │ └── wallpaper.jpg ├── index.html ├── logo └── macOs.png ├── manifest.json ├── markdown ├── about-me.md ├── about-site.md └── github-stats.md ├── music └── sunflower.mp3 ├── package.json ├── pnpm-lock.yaml ├── public ├── img │ ├── icons │ │ ├── bear.png │ │ ├── facetime.png │ │ ├── github.png │ │ ├── launchpad.png │ │ ├── launchpad │ │ │ ├── cube.png │ │ │ ├── fishmail.png │ │ │ ├── flint.png │ │ │ ├── gungnir.png │ │ │ ├── meta.png │ │ │ ├── notebook.png │ │ │ ├── oh-vue-icons.png │ │ │ ├── resume.png │ │ │ ├── rl.png │ │ │ └── zelda.png │ │ ├── mail.png │ │ ├── safari.png │ │ ├── terminal.png │ │ ├── typora.png │ │ └── vscode.png │ ├── sites │ │ ├── artstation.svg │ │ ├── arxiv.png │ │ ├── astral.svg │ │ ├── bilibili.svg │ │ ├── dribbble.svg │ │ ├── facebook.svg │ │ ├── gitee.svg │ │ ├── github.svg │ │ ├── gmail.svg │ │ ├── google-scholar.svg │ │ ├── hacker.svg │ │ ├── leetcode.svg │ │ ├── linkedin.svg │ │ ├── pinterest.svg │ │ ├── reddit.svg │ │ ├── steam.svg │ │ ├── twitter.svg │ │ └── zhihu.jpeg │ └── ui │ │ ├── avatar.jpg │ │ ├── wallpaper-day.jpg │ │ ├── wallpaper-night.jpg │ │ └── wallpaper.jpg ├── logo │ └── favicon.png ├── manifest.json ├── markdown │ ├── about-me.md │ ├── about-site.md │ └── github-stats.md ├── music │ └── sunflower.mp3 └── screenshots │ ├── dark.png │ └── light.png ├── screenshots ├── dark.png └── light.png ├── src ├── auto-imports.d.ts ├── components │ ├── AppWindow.tsx │ ├── Launchpad.tsx │ ├── Spotlight.tsx │ ├── apps │ │ ├── Bear.tsx │ │ ├── FaceTime.tsx │ │ ├── Safari.tsx │ │ ├── Terminal.tsx │ │ ├── Typora.tsx │ │ └── VSCode.tsx │ ├── dock │ │ ├── Dock.tsx │ │ └── DockItem.tsx │ └── menus │ │ ├── AppleMenu.tsx │ │ ├── Battery.tsx │ │ ├── ControlCenterMenu.tsx │ │ ├── TopBar.tsx │ │ ├── WifiMenu.tsx │ │ └── base.tsx ├── configs │ ├── apps.tsx │ ├── bear.tsx │ ├── index.ts │ ├── launchpad.ts │ ├── music.ts │ ├── terminal.tsx │ ├── user.ts │ ├── wallpapers.ts │ └── websites.ts ├── hooks │ ├── index.ts │ ├── useAudio.ts │ ├── useBattery.ts │ ├── useClickOutside.ts │ ├── useInterval.ts │ └── useWindowSize.ts ├── index.tsx ├── pages │ ├── Boot.tsx │ ├── Desktop.tsx │ └── Login.tsx ├── stores │ ├── index.ts │ └── slices │ │ ├── dock.ts │ │ ├── system.ts │ │ └── user.ts ├── styles │ ├── bear.css │ ├── component.css │ ├── font.css │ ├── fonts │ │ ├── AvenirNextLTPro-Demi.woff │ │ ├── AvenirNextLTPro-DemiItalic.woff │ │ ├── AvenirNextLTPro-Italic.woff │ │ └── AvenirNextLTPro-Regular.woff │ ├── index.css │ ├── layout.css │ └── typora.css ├── types │ ├── configs │ │ ├── apps.d.ts │ │ ├── bear.d.ts │ │ ├── index.d.ts │ │ ├── launchpad.d.ts │ │ ├── music.d.ts │ │ ├── terminal.d.ts │ │ ├── user.d.ts │ │ ├── wallpaper.d.ts │ │ └── websites.d.ts │ └── index.d.ts ├── utils │ ├── constants.ts │ ├── index.ts │ ├── screen.ts │ └── url.ts └── vite-env.d.ts ├── tsconfig.json ├── unocss.config.ts └── vite.config.ts /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | 11 | [*.md] 12 | trim_trailing_whitespace = false 13 | -------------------------------------------------------------------------------- /.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@renovamen/eslint-config-react", 3 | "ignorePatterns": ["node_modules/", "dist/"], 4 | "rules": { 5 | "@typescript-eslint/ban-types": "off", 6 | "@typescript-eslint/no-explicit-any": "off", 7 | "@typescript-eslint/no-empty-function": "off", 8 | "@typescript-eslint/no-non-null-assertion": "off", 9 | "@typescript-eslint/no-unused-vars": "off", 10 | "react/jsx-no-undef": "off" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [dawidolko] 4 | patreon: # Replace with a single Patreon username 5 | open_collective: # Replace with a single Open Collective username 6 | ko_fi: # Replace with a single Ko-fi username 7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 9 | liberapay: # Replace with a single Liberapay username 10 | issuehunt: # Replace with a single IssueHunt username 11 | otechie: # Replace with a single Otechie username 12 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/deploy.yaml: -------------------------------------------------------------------------------- 1 | name: build-and-deploy 2 | 3 | on: 4 | push: 5 | branches: [ main ] 6 | pull_request: 7 | branches: [ main ] 8 | 9 | jobs: 10 | build-and-deploy: 11 | runs-on: ubuntu-latest 12 | 13 | env: 14 | NODE_VERSION: 16 15 | 16 | steps: 17 | - uses: actions/checkout@v3 18 | with: 19 | fetch-depth: 0 20 | 21 | - name: Install pnpm 22 | uses: pnpm/action-setup@v2 23 | 24 | - name: Setup Node.js 25 | uses: actions/setup-node@v3 26 | with: 27 | node-version: ${{ env.NODE_VERSION }} 28 | cache: pnpm 29 | 30 | - name: Install dependencies 31 | run: pnpm install --frozen-lockfile 32 | 33 | - name: Build site 34 | run: pnpm build 35 | 36 | - name: Deploy 37 | uses: peaceiris/actions-gh-pages@v3 38 | with: 39 | github_token: ${{ secrets.GITHUB_TOKEN }} 40 | publish_dir: dist 41 | cname: portfolio.zxh.io 42 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *.log 2 | .DS_Store 3 | .cache/ 4 | node_modules/ 5 | dist/ 6 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | pnpm lint-staged 2 | -------------------------------------------------------------------------------- /.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/.nojekyll -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | macos.dawidolko.pl -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 dawidolko 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🍏 macos.dawidolko.pl 2 | _A TypeScript + React playground that recreates the macOS desktop right inside your browser_ 3 | 4 | [![Build](https://img.shields.io/github/actions/workflow/status/dawidolko/Macos-Simulaing-System-GUI/Build.yml?label=build&logo=github)](https://github.com/dawidolko/Macos-Simulaing-System-GUI/actions) 5 | [![Website Status](https://img.shields.io/website?down_color=red&down_message=offline&up_message=online&url=https%3A%2F%2Fmacos.dawidolko.pl)](https://macos.dawidolko.pl) 6 | [![Stars](https://img.shields.io/github/stars/dawidolko/Macos-Simulaing-System-GUI?style=social)](https://github.com/dawidolko/Macos-Simulaing-System-GUI/stargazers) 7 | 8 | > **Live Demo:** 9 | 10 | --- 11 | 12 | ## 📑 Table of Contents 13 | 1. [About](#about) 14 | 2. [Project Structure](#project-structure) 15 | 3. [Star History](#star-history) 16 | 4. [Getting Started](#getting-started) 17 | 5. [Screenshots](#screenshots) 18 | 6. [Changelog](#changelog) 19 | 7. [Credits](#credits) 20 | 8. [Contributing](#contributing) 21 | 9. [License & Author](#license--author) 22 | 23 | --- 24 | 25 | ## About 26 | `macos.dawidolko.pl` is an **open-source portfolio / desktop simulator** that mirrors the look-and-feel of modern macOS (Big Sur → Sonoma). 27 | Built with **React**, **TypeScript**, **Vite**, **UnoCSS** and **Zustand** for state-management, it delivers buttery-smooth animations, draggable windows, launchpad apps, a dynamic dock, and light/dark appearance that respects the system preference. 🍎🖥️ 28 | 29 | --- 30 | 31 | ## Project Structure 32 | ```text 33 | . 34 | ├── .github/ # GitHub Actions & issue templates 35 | ├── .husky/ # Pre-commit hooks 36 | ├── assets/ # Icons, wallpapers, fonts 37 | ├── img/ # Marketing images 38 | ├── logo/ # SVG/PNG logo variants 39 | ├── markdown/ # Blog posts / docs (rendered in-app) 40 | ├── music/ # Demo audio files 41 | ├── public/ # Static assets served at / 42 | ├── screenshots/ # Light / dark previews 43 | ├── src/ # Application code 44 | │ ├── components/ # Re-usable React components 45 | │ ├── containers/ # Window / desktop shells 46 | │ ├── stores/ # Zustand stores 47 | │ ├── theme/ # UnoCSS & design tokens 48 | │ ├── utils/ # Helpers 49 | │ ├── main.tsx # Entry point 50 | │ └── vite-env.d.ts # Type helpers 51 | ├── .editorconfig 52 | ├── .eslintrc 53 | ├── .gitattributes 54 | ├── .gitignore 55 | ├── .nojekyll 56 | ├── CNAME 57 | ├── LICENSE 58 | ├── README.md # You are here! 59 | ├── index.html # Vite HTML shell 60 | └── manifest.json # PWA manifest 61 | ```` 62 | 63 | --- 64 | 65 | ## Star History 66 | 67 | [![Star History Chart](https://api.star-history.com/svg?repos=dawidolko/Macos-Simulaing-System-GUI\&type=Date)](https://star-history.com/#dawidolko/Macos-Simulaing-System-GUI&Date) 68 | 69 | --- 70 | 71 | ## Getting Started 72 | 73 | ### Prerequisites 74 | 75 | * **Git** – [https://git-scm.com](https://git-scm.com) 76 | * **Node.js 18 +** – [https://nodejs.org](https://nodejs.org) 77 | * **pnpm** (recommended) – `npm i -g pnpm` 78 | 79 | ### Installation 80 | 81 | ```bash 82 | # 1. Clone 83 | git clone https://github.com/dawidolko/Macos-Simulaing-System-GUI 84 | cd Macos-Simulaing-System-GUI 85 | 86 | # 2. Install deps 87 | pnpm install # or npm i / yarn 88 | 89 | # 3. Start the dev server with HMR 90 | pnpm dev 91 | ``` 92 | 93 | ### Production build 94 | 95 | ```bash 96 | pnpm build # outputs static files to /dist 97 | ``` 98 | 99 | --- 100 | 101 | ## Screenshots 102 | 103 | | Light mode | Dark mode | 104 | | :--------------------------------------: | :------------------------------------: | 105 | | ![Light](./public/screenshots/light.png) | ![Dark](./public/screenshots/dark.png) | 106 | 107 | --- 108 | 109 | ## Changelog 110 | 111 | * **2023-06-26** – FaceTime UI polish & bug-fixes 112 | * **2023-06-25** – Added Typora markdown editor (powered by Milkdown) 113 | * **2021-12-05** – Battery API integration + full functional-component refactor 114 | 115 | See [`CHANGELOG.md`](CHANGELOG.md) for the complete list. 116 | 117 | --- 118 | 119 | ## Credits 120 | 121 | * Apple **macOS**, **Monterey**, **Catalina** iconography 122 | * [macOS Icon Gallery](https://www.macosicongallery.com/) 123 | * [`file-icon-cli`](https://github.com/sindresorhus/file-icon-cli) by @sindresorhus 124 | 125 | This project originally drew inspiration from the amazing Ubuntu/Windows simulators linked below. 126 | 127 | --- 128 | 129 | ## Contributing 130 | 131 | Bug reports, feature suggestions and pull requests are **welcome & appreciated**! 132 | 133 | ```bash 134 | # Fork → clone → create a branch 135 | git checkout -b feat/amazing-feature 136 | 137 | # Commit & push 138 | git commit -m "Add amazing feature" 139 | git push origin feat/amazing-feature 140 | 141 | # Open a PR 🎉 142 | ``` 143 | 144 | Please include screenshots or GIFs when UI is involved. 145 | 146 | --- 147 | 148 | ## License & Author 149 | 150 | * **License:** MIT – free to use, fork and remix! 151 | * **Author:** Dawid Olko 152 | 153 | * Portfolio: [https://dawidolko.pl](https://dawidolko.pl) 154 | * GitHub: [https://github.com/dawidolko](https://github.com/dawidolko) 155 | * LinkedIn: [https://www.linkedin.com/in/dawidolko/](https://www.linkedin.com/in/dawidolko/) 156 | 157 | > Crafted with ☕, 🎧 and a healthy dose of macOS nostalgia. 158 | -------------------------------------------------------------------------------- /assets/AvenirNextLTPro-Demi-tvM90QMG.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/AvenirNextLTPro-Demi-tvM90QMG.woff -------------------------------------------------------------------------------- /assets/AvenirNextLTPro-DemiItalic-rhzAFWbF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/AvenirNextLTPro-DemiItalic-rhzAFWbF.woff -------------------------------------------------------------------------------- /assets/AvenirNextLTPro-Italic-DNAipd03.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/AvenirNextLTPro-Italic-DNAipd03.woff -------------------------------------------------------------------------------- /assets/AvenirNextLTPro-Regular-DOIRynfy.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/AvenirNextLTPro-Regular-DOIRynfy.woff -------------------------------------------------------------------------------- /assets/KaTeX_AMS-Regular-BQhdFMY1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_AMS-Regular-BQhdFMY1.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_AMS-Regular-DMm9YOAa.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_AMS-Regular-DMm9YOAa.woff -------------------------------------------------------------------------------- /assets/KaTeX_AMS-Regular-DRggAlZN.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_AMS-Regular-DRggAlZN.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Caligraphic-Bold-ATXxdsX0.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Caligraphic-Bold-BEiXGLvX.woff -------------------------------------------------------------------------------- /assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Caligraphic-Bold-Dq_IR9rO.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Caligraphic-Regular-CTRA-rTL.woff -------------------------------------------------------------------------------- /assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Caligraphic-Regular-Di6jR-x-.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Caligraphic-Regular-wX97UBjC.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Fraktur-Bold-BdnERNNW.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Fraktur-Bold-BsDP51OF.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Fraktur-Bold-BsDP51OF.woff -------------------------------------------------------------------------------- /assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Fraktur-Bold-CL6g_b3V.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Fraktur-Regular-CB_wures.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Fraktur-Regular-CB_wures.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Fraktur-Regular-CTYiF6lA.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Fraktur-Regular-Dxdc4cR9.woff -------------------------------------------------------------------------------- /assets/KaTeX_Main-Bold-Cx986IdX.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Bold-Cx986IdX.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Main-Bold-Jm3AIy58.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Bold-Jm3AIy58.woff -------------------------------------------------------------------------------- /assets/KaTeX_Main-Bold-waoOVXN0.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Bold-waoOVXN0.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-BoldItalic-DxDJ3AOS.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-BoldItalic-DzxPMmG6.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Main-BoldItalic-SpSLRI95.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-BoldItalic-SpSLRI95.woff -------------------------------------------------------------------------------- /assets/KaTeX_Main-Italic-3WenGoN9.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Italic-3WenGoN9.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Main-Italic-BMLOBm91.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Italic-BMLOBm91.woff -------------------------------------------------------------------------------- /assets/KaTeX_Main-Italic-NWA7e6Wa.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Italic-NWA7e6Wa.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Main-Regular-B22Nviop.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Regular-B22Nviop.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Main-Regular-Dr94JaBh.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Regular-Dr94JaBh.woff -------------------------------------------------------------------------------- /assets/KaTeX_Main-Regular-ypZvNtVU.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Main-Regular-ypZvNtVU.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Math-BoldItalic-B3XSjfu4.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Math-BoldItalic-CZnvNsCZ.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Math-BoldItalic-iY-2wyZ7.woff -------------------------------------------------------------------------------- /assets/KaTeX_Math-Italic-DA0__PXp.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Math-Italic-DA0__PXp.woff -------------------------------------------------------------------------------- /assets/KaTeX_Math-Italic-flOr_0UB.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Math-Italic-flOr_0UB.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Math-Italic-t53AETM-.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Math-Italic-t53AETM-.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Bold-CFMepnvq.ttf -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Bold-D1sUS0GD.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Bold-DbIhKOiC.woff -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Italic-C3H0VqGB.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Italic-DN2j7dab.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Italic-DN2j7dab.woff -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Italic-YYjJ1zSn.ttf -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Regular-BNo7hRIc.ttf -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Regular-CS6fqUqJ.woff -------------------------------------------------------------------------------- /assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_SansSerif-Regular-DDBCnlJ7.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Script-Regular-C5JkGWo-.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Script-Regular-C5JkGWo-.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Script-Regular-D3wIWfF6.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Script-Regular-D3wIWfF6.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Script-Regular-D5yQViql.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Script-Regular-D5yQViql.woff -------------------------------------------------------------------------------- /assets/KaTeX_Size1-Regular-C195tn64.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size1-Regular-C195tn64.woff -------------------------------------------------------------------------------- /assets/KaTeX_Size1-Regular-Dbsnue_I.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size1-Regular-Dbsnue_I.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Size1-Regular-mCD8mA8B.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size1-Regular-mCD8mA8B.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Size2-Regular-B7gKUWhC.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size2-Regular-B7gKUWhC.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Size2-Regular-Dy4dx90m.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size2-Regular-Dy4dx90m.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Size2-Regular-oD1tc_U0.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size2-Regular-oD1tc_U0.woff -------------------------------------------------------------------------------- /assets/KaTeX_Size3-Regular-CTq5MqoE.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size3-Regular-CTq5MqoE.woff -------------------------------------------------------------------------------- /assets/KaTeX_Size3-Regular-DgpXs0kz.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size3-Regular-DgpXs0kz.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Size4-Regular-BF-4gkZK.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size4-Regular-BF-4gkZK.woff -------------------------------------------------------------------------------- /assets/KaTeX_Size4-Regular-DWFBv043.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size4-Regular-DWFBv043.ttf -------------------------------------------------------------------------------- /assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Size4-Regular-Dl5lxZxV.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Typewriter-Regular-C0xS9mPB.woff -------------------------------------------------------------------------------- /assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Typewriter-Regular-CO6r4hn1.woff2 -------------------------------------------------------------------------------- /assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/assets/KaTeX_Typewriter-Regular-D3Ib7_Hf.ttf -------------------------------------------------------------------------------- /img/icons/bear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/bear.png -------------------------------------------------------------------------------- /img/icons/facetime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/facetime.png -------------------------------------------------------------------------------- /img/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/github.png -------------------------------------------------------------------------------- /img/icons/launchpad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad.png -------------------------------------------------------------------------------- /img/icons/launchpad/cube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/cube.png -------------------------------------------------------------------------------- /img/icons/launchpad/fishmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/fishmail.png -------------------------------------------------------------------------------- /img/icons/launchpad/flint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/flint.png -------------------------------------------------------------------------------- /img/icons/launchpad/gungnir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/gungnir.png -------------------------------------------------------------------------------- /img/icons/launchpad/meta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/meta.png -------------------------------------------------------------------------------- /img/icons/launchpad/notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/notebook.png -------------------------------------------------------------------------------- /img/icons/launchpad/oh-vue-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/oh-vue-icons.png -------------------------------------------------------------------------------- /img/icons/launchpad/resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/resume.png -------------------------------------------------------------------------------- /img/icons/launchpad/rl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/rl.png -------------------------------------------------------------------------------- /img/icons/launchpad/zelda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/launchpad/zelda.png -------------------------------------------------------------------------------- /img/icons/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/mail.png -------------------------------------------------------------------------------- /img/icons/safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/safari.png -------------------------------------------------------------------------------- /img/icons/terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/terminal.png -------------------------------------------------------------------------------- /img/icons/typora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/typora.png -------------------------------------------------------------------------------- /img/icons/vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/icons/vscode.png -------------------------------------------------------------------------------- /img/sites/artstation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /img/sites/arxiv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/sites/arxiv.png -------------------------------------------------------------------------------- /img/sites/astral.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/bilibili.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/dribbble.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/gitee.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/github.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/gmail.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/google-scholar.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/hacker.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/leetcode.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/pinterest.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/reddit.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/steam.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /img/sites/zhihu.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/sites/zhihu.jpeg -------------------------------------------------------------------------------- /img/ui/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/ui/avatar.jpg -------------------------------------------------------------------------------- /img/ui/wallpaper-day.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/ui/wallpaper-day.jpg -------------------------------------------------------------------------------- /img/ui/wallpaper-night.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/ui/wallpaper-night.jpg -------------------------------------------------------------------------------- /img/ui/wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/img/ui/wallpaper.jpg -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 15 | 16 | 17 | Dawid Olko's Portfolio 18 | 19 | 20 | 21 | 22 |
23 | 24 | 27 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /logo/macOs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/logo/macOs.png -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "Simulaing-Macos-System-GUI", 3 | "name": "Dawid Olko Portfolio", 4 | "icons": [ 5 | { 6 | "src": "logo/macOs.png", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo/macOs.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo/macOs.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /markdown/about-me.md: -------------------------------------------------------------------------------- 1 | # About Me 2 | 3 | ## Biography 4 | 5 | I'm trying to find a balance between research and engineering. 6 | 7 | My current research interests primarily focus on understanding and enhancing the continuity, generalizability, efficiency, and other key properties of machine learning. I am also interested in large multimodal models. 8 | 9 | I'm also learning web development and building machine learning software and systems. 10 | 11 | 12 | ## Contact 13 | 14 | Contact me by: 15 | 16 | - Email: [poczta@dawidolko.pl](mailto:poczta@dawidolko.pl) 17 | - Github: [@dawidolko](https://github.com/dawidolko) 18 | - Linkedin: [dawidolko](https://www.linkedin.com/in/dawidolko) 19 | - Personal Website: [dawidolko.pl](https://dawidolko.pl) 20 | 21 | 22 | ## Resume 23 | 24 | PORTFOLIO 25 | 26 | - Interesting version: [dawidolko.pl](https://dawidolko.pl) 27 | -------------------------------------------------------------------------------- /markdown/about-site.md: -------------------------------------------------------------------------------- 1 | # About This Site 2 | 3 | This site is inspired by macOS [Big Sur](https://www.apple.com/in/macos/big-sur/) and [Catalina](https://www.apple.com/bw/macos/catalina/), developed using [React](https://reactjs.org/), [Zustand](https://zustand-demo.pmnd.rs/) and [UnoCSS](https://uno.antfu.me/), and hosted on [Github Pages](https://pages.github.com/). Some of the icons are generated using [sindresorhus/file-icon-cli](https://github.com/sindresorhus/file-icon-cli). 4 | 5 | The source code is hosted [here](https://github.com/dawidolko/Simulaing-Macos-System-GUI). 6 | -------------------------------------------------------------------------------- /markdown/github-stats.md: -------------------------------------------------------------------------------- 1 | # Github Stats 2 | 3 | My GitHub stats (powered by [github-readme-stats](https://github.com/dawidolko/github-readme-stats)): 4 | 5 | [![github stats](https://github-readme-stats.vercel.app/api?username=dawidolko&show_icons=true&hide_title=true&hide_border=true)](https://linux.dawidolko.pl) 6 | 7 | [![top langs](https://github-readme-stats.vercel.app/api/top-langs/?username=dawidolko&layout=compact&hide_border=true)](https://linux.dawidolko.pl) 8 | -------------------------------------------------------------------------------- /music/sunflower.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/music/sunflower.mp3 -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground-macos", 3 | "private": true, 4 | "type": "module", 5 | "scripts": { 6 | "build": "vite build", 7 | "dev": "vite --host", 8 | "lint": "eslint --ext .js,.ts,.tsx ./", 9 | "prepare": "husky", 10 | "serve": "vite preview --host" 11 | }, 12 | "lint-staged": { 13 | "*.{js,ts,tsx}": "eslint --fix", 14 | "package.json": "sort-package-json" 15 | }, 16 | "prettier": "@renovamen/prettier-config", 17 | "dependencies": { 18 | "@milkdown/core": "^7.3.5", 19 | "@milkdown/plugin-history": "^7.3.5", 20 | "@milkdown/plugin-listener": "^7.3.5", 21 | "@milkdown/preset-commonmark": "^7.3.5", 22 | "@milkdown/preset-gfm": "^7.3.5", 23 | "@milkdown/react": "^7.3.5", 24 | "@rooks/use-raf": "^4.11.2", 25 | "date-fns": "^3.4.0", 26 | "framer-motion": "^11.0.12", 27 | "katex": "^0.16.9", 28 | "react": "^18.2.0", 29 | "react-dom": "^18.2.0", 30 | "react-markdown": "^9.0.1", 31 | "react-rangeslider": "2.2.0", 32 | "react-rnd": "^10.4.1", 33 | "react-syntax-highlighter": "^15.5.0", 34 | "react-webcam": "^7.2.0", 35 | "web-vitals": "^3.5.2", 36 | "zustand": "^4.5.2" 37 | }, 38 | "devDependencies": { 39 | "@iconify/json": "^2.2.191", 40 | "@renovamen/eslint-config-react": "^0.1.3", 41 | "@renovamen/prettier-config": "^0.1.3", 42 | "@types/node": "^20.11.26", 43 | "@types/react": "^18.2.65", 44 | "@types/react-dom": "^18.2.21", 45 | "@types/react-rangeslider": "^2.2.7", 46 | "@types/react-syntax-highlighter": "^15.5.11", 47 | "@unocss/reset": "^0.58.5", 48 | "@vitejs/plugin-react": "^4.2.1", 49 | "eslint": "^8.57.0", 50 | "husky": "^9.0.11", 51 | "lint-staged": "^15.2.2", 52 | "pnpm": "^8.15.4", 53 | "prettier": "^3.2.5", 54 | "rehype-external-links": "^3.0.0", 55 | "rehype-katex": "7.0.0", 56 | "remark-gfm": "4.0.0", 57 | "remark-math": "6.0.0", 58 | "sort-package-json": "^2.8.0", 59 | "taze": "^0.13.3", 60 | "typescript": "^5.4.2", 61 | "unocss": "^0.58.5", 62 | "unplugin-auto-import": "^0.17.5", 63 | "vite": "^5.1.6" 64 | }, 65 | "packageManager": "pnpm@8.15.4" 66 | } 67 | -------------------------------------------------------------------------------- /public/img/icons/bear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/bear.png -------------------------------------------------------------------------------- /public/img/icons/facetime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/facetime.png -------------------------------------------------------------------------------- /public/img/icons/github.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/github.png -------------------------------------------------------------------------------- /public/img/icons/launchpad.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/cube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/cube.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/fishmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/fishmail.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/flint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/flint.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/gungnir.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/gungnir.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/meta.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/meta.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/notebook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/notebook.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/oh-vue-icons.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/oh-vue-icons.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/resume.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/resume.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/rl.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/rl.png -------------------------------------------------------------------------------- /public/img/icons/launchpad/zelda.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/launchpad/zelda.png -------------------------------------------------------------------------------- /public/img/icons/mail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/mail.png -------------------------------------------------------------------------------- /public/img/icons/safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/safari.png -------------------------------------------------------------------------------- /public/img/icons/terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/terminal.png -------------------------------------------------------------------------------- /public/img/icons/typora.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/typora.png -------------------------------------------------------------------------------- /public/img/icons/vscode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/icons/vscode.png -------------------------------------------------------------------------------- /public/img/sites/artstation.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/img/sites/arxiv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/sites/arxiv.png -------------------------------------------------------------------------------- /public/img/sites/astral.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/bilibili.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/dribbble.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/facebook.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/gitee.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/github.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/gmail.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/google-scholar.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/hacker.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/leetcode.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/linkedin.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/pinterest.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/reddit.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/steam.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/twitter.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /public/img/sites/zhihu.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/sites/zhihu.jpeg -------------------------------------------------------------------------------- /public/img/ui/avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/ui/avatar.jpg -------------------------------------------------------------------------------- /public/img/ui/wallpaper-day.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/ui/wallpaper-day.jpg -------------------------------------------------------------------------------- /public/img/ui/wallpaper-night.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/ui/wallpaper-night.jpg -------------------------------------------------------------------------------- /public/img/ui/wallpaper.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/img/ui/wallpaper.jpg -------------------------------------------------------------------------------- /public/logo/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/logo/favicon.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "playground-macos", 3 | "name": "Xiaohan Zou's Portfolio", 4 | "icons": [ 5 | { 6 | "src": "logo/favicon.svg", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo/logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo/logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /public/markdown/about-me.md: -------------------------------------------------------------------------------- 1 | # About Me 2 | 3 | ## Biography 4 | 5 | I'm trying to find a balance between research and engineering. 6 | 7 | My current research interests primarily focus on understanding and enhancing the continuity, generalizability, efficiency, and other key properties of machine learning. I am also interested in large multimodal models. 8 | 9 | I'm also learning web development and building machine learning software and systems. 10 | 11 | 12 | ## Contact 13 | 14 | Contact me by: 15 | 16 | - Email: [poczta@dawidolko.pl](mailto:poczta@dawidolko.pl) 17 | - Github: [@dawidolko](https://github.com/dawidolko) 18 | - Linkedin: [dawidolko](https://www.linkedin.com/in/dawidolko) 19 | - Personal Website: [dawidolko.pl](https://dawidolko.pl) 20 | 21 | 22 | ## Resume 23 | 24 | PORTFOLIO 25 | 26 | - Interesting version: [dawidolko.pl](https://dawidolko.pl) 27 | -------------------------------------------------------------------------------- /public/markdown/about-site.md: -------------------------------------------------------------------------------- 1 | # About This Site 2 | 3 | This site is inspired by macOS [Big Sur](https://www.apple.com/in/macos/big-sur/) and [Catalina](https://www.apple.com/bw/macos/catalina/), developed using [React](https://reactjs.org/), [Zustand](https://zustand-demo.pmnd.rs/) and [UnoCSS](https://uno.antfu.me/), and hosted on [Github Pages](https://pages.github.com/). Some of the icons are generated using [sindresorhus/file-icon-cli](https://github.com/sindresorhus/file-icon-cli). 4 | 5 | The source code is hosted [here](https://github.com/dawidolko/Simulaing-Macos-System-GUI). 6 | -------------------------------------------------------------------------------- /public/markdown/github-stats.md: -------------------------------------------------------------------------------- 1 | # Github Stats 2 | 3 | My GitHub stats (powered by [github-readme-stats](https://github.com/dawidolko/github-readme-stats)): 4 | 5 | [![github stats](https://github-readme-stats.vercel.app/api?username=dawidolko&show_icons=true&hide_title=true&hide_border=true)](https://linux.dawidolko.pl) 6 | 7 | [![top langs](https://github-readme-stats.vercel.app/api/top-langs/?username=dawidolko&layout=compact&hide_border=true)](https://linux.dawidolko.pl) 8 | -------------------------------------------------------------------------------- /public/music/sunflower.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/music/sunflower.mp3 -------------------------------------------------------------------------------- /public/screenshots/dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/screenshots/dark.png -------------------------------------------------------------------------------- /public/screenshots/light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/public/screenshots/light.png -------------------------------------------------------------------------------- /screenshots/dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/screenshots/dark.png -------------------------------------------------------------------------------- /screenshots/light.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/dawidolko/Macos-Simulaing-System-GUI/c3cad661633c8474e016a80210261a6e02c14fd6/screenshots/light.png -------------------------------------------------------------------------------- /src/auto-imports.d.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable */ 2 | /* prettier-ignore */ 3 | // @ts-nocheck 4 | // noinspection JSUnusedGlobalSymbols 5 | // Generated by unplugin-auto-import 6 | export {} 7 | declare global { 8 | const AppWindow: typeof import('./components/AppWindow')['default'] 9 | const AppleMenu: typeof import('./components/menus/AppleMenu')['default'] 10 | const Battery: typeof import('./components/menus/Battery')['default'] 11 | const Bear: typeof import('./components/apps/Bear')['default'] 12 | const ControlCenterMenu: typeof import('./components/menus/ControlCenterMenu')['default'] 13 | const Dock: typeof import('./components/dock/Dock')['default'] 14 | const DockItem: typeof import('./components/dock/DockItem')['default'] 15 | const FaceTime: typeof import('./components/apps/FaceTime')['default'] 16 | const Launchpad: typeof import('./components/Launchpad')['default'] 17 | const MenuItem: typeof import('./components/menus/base')['MenuItem'] 18 | const MenuItemGroup: typeof import('./components/menus/base')['MenuItemGroup'] 19 | const Safari: typeof import('./components/apps/Safari')['default'] 20 | const Spotlight: typeof import('./components/Spotlight')['default'] 21 | const Terminal: typeof import('./components/apps/Terminal')['default'] 22 | const TopBar: typeof import('./components/menus/TopBar')['default'] 23 | const Typora: typeof import('./components/apps/Typora')['default'] 24 | const VSCode: typeof import('./components/apps/VSCode')['default'] 25 | const WifiMenu: typeof import('./components/menus/WifiMenu')['default'] 26 | const Window: typeof import('./components/Window')['default'] 27 | const createRef: typeof import('react')['createRef'] 28 | const forwardRef: typeof import('react')['forwardRef'] 29 | const lazy: typeof import('react')['lazy'] 30 | const memo: typeof import('react')['memo'] 31 | const startTransition: typeof import('react')['startTransition'] 32 | const useAudio: typeof import('./hooks/useAudio')['useAudio'] 33 | const useBattery: typeof import('./hooks/useBattery')['useBattery'] 34 | const useCallback: typeof import('react')['useCallback'] 35 | const useClickOutside: typeof import('./hooks/useClickOutside')['useClickOutside'] 36 | const useContext: typeof import('react')['useContext'] 37 | const useDebugValue: typeof import('react')['useDebugValue'] 38 | const useDeferredValue: typeof import('react')['useDeferredValue'] 39 | const useEffect: typeof import('react')['useEffect'] 40 | const useId: typeof import('react')['useId'] 41 | const useImperativeHandle: typeof import('react')['useImperativeHandle'] 42 | const useInsertionEffect: typeof import('react')['useInsertionEffect'] 43 | const useInterval: typeof import('./hooks/useInterval')['useInterval'] 44 | const useLayoutEffect: typeof import('react')['useLayoutEffect'] 45 | const useMemo: typeof import('react')['useMemo'] 46 | const useReducer: typeof import('react')['useReducer'] 47 | const useRef: typeof import('react')['useRef'] 48 | const useState: typeof import('react')['useState'] 49 | const useStore: typeof import('./stores/index')['useStore'] 50 | const useSyncExternalStore: typeof import('react')['useSyncExternalStore'] 51 | const useTransition: typeof import('react')['useTransition'] 52 | const useWindowSize: typeof import('./hooks/useWindowSize')['useWindowSize'] 53 | } 54 | -------------------------------------------------------------------------------- /src/components/AppWindow.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Rnd } from "react-rnd"; 3 | import { minMarginX, minMarginY, appBarHeight } from "~/utils"; 4 | 5 | const FullIcon = ({ size }: { size: number }) => ( 6 | 17 | 18 | 19 | ); 20 | 21 | const ExitFullIcon = ({ size }: { size: number }) => ( 22 | 33 | 34 | 35 | ); 36 | 37 | interface TrafficProps { 38 | id: string; 39 | max: boolean; 40 | aspectRatio?: number; 41 | setMax: (id: string, target?: boolean) => void; 42 | setMin: (id: string) => void; 43 | close: (id: string) => void; 44 | } 45 | 46 | interface WindowProps extends TrafficProps { 47 | title: string; 48 | min: boolean; 49 | width?: number; 50 | height?: number; 51 | minWidth?: number; 52 | minHeight?: number; 53 | x?: number; 54 | y?: number; 55 | z: number; 56 | focus: (id: string) => void; 57 | children: React.ReactNode; 58 | } 59 | 60 | interface WindowState { 61 | width: number; 62 | height: number; 63 | x: number; 64 | y: number; 65 | } 66 | 67 | const TrafficLights = ({ id, close, aspectRatio, max, setMax, setMin }: TrafficProps) => { 68 | const disableMax = aspectRatio !== undefined; 69 | 70 | const closeWindow = (e: React.MouseEvent | React.TouchEvent): void => { 71 | e.stopPropagation(); 72 | close(id); 73 | }; 74 | 75 | return ( 76 |
77 | 84 | 92 | 102 |
103 | ); 104 | }; 105 | 106 | const Window = (props: WindowProps) => { 107 | const dockSize = useStore((state) => state.dockSize); 108 | const { winWidth, winHeight } = useWindowSize(); 109 | 110 | const initWidth = Math.min(winWidth, props.width || 640); 111 | const initHeight = Math.min(winHeight, props.height || 400); 112 | 113 | const [state, setState] = useState({ 114 | width: initWidth, 115 | height: initHeight, 116 | // "+ winWidth" because of the boundary for windows 117 | x: winWidth + (winWidth - initWidth) / 2 + (props.x || 0), 118 | // "- minMarginY" because of the boundary for windows 119 | y: (winHeight - initHeight - dockSize - minMarginY) / 2 + (props.y || 0) 120 | }); 121 | 122 | useEffect(() => { 123 | setState({ 124 | ...state, 125 | width: Math.min(winWidth, state.width), 126 | height: Math.min(winHeight, state.height) 127 | }); 128 | }, [winWidth, winHeight]); 129 | 130 | const round = props.max ? "rounded-none" : "rounded-lg"; 131 | const minimized = props.min 132 | ? "opacity-0 invisible transition-opacity duration-300" 133 | : ""; 134 | const border = props.max ? "" : "border border-gray-500/30"; 135 | const width = props.max ? winWidth : state.width; 136 | const height = props.max ? winHeight : state.height; 137 | const disableMax = props.aspectRatio !== undefined; 138 | 139 | const children = React.cloneElement(props.children as React.ReactElement, { 140 | width: width 141 | }); 142 | 143 | return ( 144 | { 171 | setState({ ...state, x: d.x, y: d.y }); 172 | }} 173 | onResizeStop={(e, direction, ref, delta, position) => { 174 | setState({ 175 | ...state, 176 | width: parseInt(ref.style.width), 177 | height: parseInt(ref.style.height), 178 | ...position 179 | }); 180 | }} 181 | minWidth={props.minWidth ? props.minWidth : 200} 182 | minHeight={props.minHeight ? props.minHeight : 150} 183 | dragHandleClassName="window-bar" 184 | disableDragging={props.max} 185 | enableResizing={!props.max} 186 | lockAspectRatio={props.aspectRatio} 187 | lockAspectRatioExtraHeight={props.aspectRatio ? appBarHeight : undefined} 188 | style={{ zIndex: props.z }} 189 | onMouseDown={() => props.focus(props.id)} 190 | className={`overflow-hidden ${round} ${border} shadow-lg shadow-black/30 ${minimized}`} 191 | id={`window-${props.id}`} 192 | > 193 |
!disableMax && props.setMax(props.id)} 196 | > 197 | 205 | {props.title} 206 |
207 |
{children}
208 |
209 | ); 210 | }; 211 | 212 | export default Window; 213 | -------------------------------------------------------------------------------- /src/components/Launchpad.tsx: -------------------------------------------------------------------------------- 1 | import { wallpapers, launchpadApps } from "~/configs"; 2 | 3 | interface LaunchpadProps { 4 | show: boolean; 5 | toggleLaunchpad: (target: boolean) => void; 6 | } 7 | 8 | const placeholderText = "Search"; 9 | 10 | export default function Launchpad({ show, toggleLaunchpad }: LaunchpadProps) { 11 | const dark = useStore((state) => state.dark); 12 | 13 | const [searchText, setSearchText] = useState(""); 14 | const [focus, setFocus] = useState(false); 15 | 16 | const search = () => { 17 | if (searchText === "") return launchpadApps; 18 | const text = searchText.toLowerCase(); 19 | const list = launchpadApps.filter((item) => { 20 | return ( 21 | item.title.toLowerCase().includes(text) || item.id.toLowerCase().includes(text) 22 | ); 23 | }); 24 | return list; 25 | }; 26 | 27 | const close = show ? "" : "opacity-0 invisible transition-opacity duration-200"; 28 | 29 | return ( 30 |
toggleLaunchpad(false)} 37 | > 38 |
39 |
e.stopPropagation()} 43 | onFocus={() => setFocus(true)} 44 | onBlur={() => setFocus(false)} 45 | > 46 |
51 | 52 |
53 | setSearchText(e.target.value)} 58 | /> 59 |
60 | 61 |
65 | {search().map((app) => ( 66 |
67 | e.stopPropagation()} 73 | > 74 | {app.title} 75 | 76 | 77 | {app.title} 78 | 79 |
80 | ))} 81 |
82 |
83 |
84 | ); 85 | } 86 | -------------------------------------------------------------------------------- /src/components/apps/Bear.tsx: -------------------------------------------------------------------------------- 1 | import ReactMarkdown from "react-markdown"; 2 | import remarkGfm from "remark-gfm"; 3 | import remarkMath from "remark-math"; 4 | import rehypeKatex from "rehype-katex"; 5 | import rehypeExternalLinks from "rehype-external-links"; 6 | import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; 7 | import { dracula, prism } from "react-syntax-highlighter/dist/esm/styles/prism"; 8 | import bear from "~/configs/bear"; 9 | import type { BearMdData } from "~/types"; 10 | 11 | interface ContentProps { 12 | contentID: string; 13 | contentURL: string; 14 | } 15 | 16 | interface MiddlebarProps { 17 | items: BearMdData[]; 18 | cur: number; 19 | setContent: (id: string, url: string, index: number) => void; 20 | } 21 | 22 | interface SidebarProps { 23 | cur: number; 24 | setMidBar: (items: BearMdData[], index: number) => void; 25 | } 26 | 27 | interface BearState extends ContentProps { 28 | curSidebar: number; 29 | curMidbar: number; 30 | midbarList: BearMdData[]; 31 | } 32 | 33 | const Highlighter = (dark: boolean): any => { 34 | interface codeProps { 35 | node: any; 36 | inline: boolean; 37 | className: string; 38 | children: any; 39 | } 40 | 41 | return { 42 | code({ node, inline, className, children, ...props }: codeProps) { 43 | const match = /language-(\w+)/.exec(className || ""); 44 | return !inline && match ? ( 45 | 51 | {String(children).replace(/\n$/, "")} 52 | 53 | ) : ( 54 | {children} 55 | ); 56 | } 57 | }; 58 | }; 59 | 60 | const Sidebar = ({ cur, setMidBar }: SidebarProps) => { 61 | return ( 62 |
63 |
64 | 65 | 66 |
67 |
    68 | {bear.map((item, index) => ( 69 |
  • setMidBar(item.md, index)} 75 | > 76 | 77 | {item.title} 78 |
  • 79 | ))} 80 |
81 |
82 | ); 83 | }; 84 | 85 | const Middlebar = ({ items, cur, setContent }: MiddlebarProps) => { 86 | return ( 87 | 122 | ); 123 | }; 124 | 125 | const getRepoURL = (url: string) => { 126 | return url.slice(0, -10) + "/"; 127 | }; 128 | 129 | const fixImageURL = (text: string, contentURL: string): string => { 130 | text = text.replace(/ /g, ""); 131 | if (contentURL.indexOf("raw.githubusercontent.com") !== -1) { 132 | const repoURL = getRepoURL(contentURL); 133 | 134 | const imgReg = /!\[(.*?)\]\((.*?)\)/; 135 | const imgRegGlobal = /!\[(.*?)\]\((.*?)\)/g; 136 | 137 | const imgList = text.match(imgRegGlobal); 138 | 139 | if (imgList) { 140 | for (const img of imgList) { 141 | const imgURL = (img.match(imgReg) as Array)[2]; 142 | if (imgURL.indexOf("http") !== -1) continue; 143 | const newImgURL = repoURL + imgURL; 144 | text = text.replace(imgURL, newImgURL); 145 | } 146 | } 147 | } 148 | return text; 149 | }; 150 | 151 | const Content = ({ contentID, contentURL }: ContentProps) => { 152 | const [storeMd, setStoreMd] = useState<{ [key: string]: string }>({}); 153 | const dark = useStore((state) => state.dark); 154 | 155 | const fetchMarkdown = useCallback( 156 | (id: string, url: string) => { 157 | if (!storeMd[id]) { 158 | fetch(url) 159 | .then((response) => response.text()) 160 | .then((text) => { 161 | storeMd[id] = fixImageURL(text, url); 162 | setStoreMd({ ...storeMd }); 163 | }) 164 | .catch((error) => console.error(error)); 165 | } 166 | }, 167 | [storeMd] 168 | ); 169 | 170 | useEffect(() => { 171 | fetchMarkdown(contentID, contentURL); 172 | }, [contentID, contentURL, fetchMarkdown]); 173 | 174 | return ( 175 |
176 | 184 | {storeMd[contentID]} 185 | 186 |
187 | ); 188 | }; 189 | 190 | const Bear = () => { 191 | const [state, setState] = useState({ 192 | curSidebar: 0, 193 | curMidbar: 0, 194 | midbarList: bear[0].md, 195 | contentID: bear[0].md[0].id, 196 | contentURL: bear[0].md[0].file 197 | }); 198 | 199 | const setMidBar = (items: BearMdData[], index: number) => { 200 | setState({ 201 | curSidebar: index, 202 | curMidbar: 0, 203 | midbarList: items, 204 | contentID: items[0].id, 205 | contentURL: items[0].file 206 | }); 207 | }; 208 | 209 | const setContent = (id: string, url: string, index: number) => { 210 | setState({ 211 | ...state, 212 | curMidbar: index, 213 | contentID: id, 214 | contentURL: url 215 | }); 216 | }; 217 | 218 | return ( 219 |
220 |
221 | 222 |
223 |
224 | 229 |
230 |
231 | 232 |
233 |
234 | ); 235 | }; 236 | 237 | export default Bear; 238 | -------------------------------------------------------------------------------- /src/components/apps/FaceTime.tsx: -------------------------------------------------------------------------------- 1 | import Webcam from "react-webcam"; 2 | import { format } from "date-fns"; 3 | 4 | interface SidebarProps { 5 | state: FaceTimeState; 6 | onTake: () => void; 7 | onSave: () => void; 8 | onSelect: (src: string) => void; 9 | } 10 | 11 | interface SidebarItemProps { 12 | date: string; 13 | active: boolean; 14 | } 15 | 16 | interface FaceTimeState { 17 | canSave: boolean; 18 | curImage: string | null; 19 | } 20 | 21 | const SidebarItem = ({ date, active }: SidebarItemProps) => { 22 | const [hover, setHover] = useState(false); 23 | const { deleteImage } = useStore((state) => ({ 24 | deleteImage: state.delFaceTimeImage 25 | })); 26 | 27 | return ( 28 |
setHover(true)} 31 | onMouseLeave={() => setHover(false)} 32 | > 33 |
34 | 35 |
36 | 37 |
38 |
39 | FaceTime Link 40 |
41 |
42 | 43 | FaceTime · {format(Number(date), "hh:mm:ss")} 44 |
45 |
46 | 47 | { 51 | e.stopPropagation(); 52 | deleteImage(date); 53 | }} 54 | /> 55 |
56 | ); 57 | }; 58 | 59 | const Sidebar = ({ state, onTake, onSave, onSelect }: SidebarProps) => { 60 | const { images } = useStore((state) => ({ 61 | images: state.faceTimeImages 62 | })); 63 | 64 | return ( 65 |
66 |
67 | 74 | 88 |
89 | 90 |
91 |
Recent
92 | {Object.keys(images) 93 | .reverse() 94 | .map((date) => ( 95 | 102 | ))} 103 |
104 |
105 | ); 106 | }; 107 | 108 | const FaceTime = () => { 109 | const webcamRef = useRef(null); 110 | const { addImage } = useStore((state) => ({ 111 | addImage: state.addFaceTimeImage 112 | })); 113 | const [state, setState] = useState({ 114 | canSave: false, 115 | curImage: null 116 | }); 117 | 118 | return ( 119 |
120 | { 123 | if (!state.curImage) { 124 | const src = webcamRef.current?.getScreenshot() || ""; 125 | setState({ curImage: src, canSave: true }); 126 | } else setState({ curImage: null, canSave: false }); 127 | }} 128 | onSave={() => { 129 | addImage(state.curImage!); 130 | setState({ curImage: null, canSave: false }); 131 | }} 132 | onSelect={(src) => { 133 | setState({ curImage: src, canSave: false }); 134 | }} 135 | /> 136 | 137 |
138 | {!state.curImage ? ( 139 | 149 | ) : ( 150 | state.curImage && your-image 151 | )} 152 |
153 |
154 | ); 155 | }; 156 | 157 | export default FaceTime; 158 | -------------------------------------------------------------------------------- /src/components/apps/Safari.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { websites, wallpapers } from "~/configs"; 3 | import { checkURL } from "~/utils"; 4 | import type { SiteSectionData, SiteData } from "~/types"; 5 | 6 | interface SafariState { 7 | goURL: string; 8 | currentURL: string; 9 | } 10 | 11 | interface SafariProps { 12 | width?: number; 13 | } 14 | 15 | interface NavProps { 16 | width: number; 17 | setGoURL: (url: string) => void; 18 | } 19 | 20 | interface NavSectionProps extends NavProps { 21 | section: SiteSectionData; 22 | } 23 | 24 | const NavSection = ({ width, section, setGoURL }: NavSectionProps) => { 25 | const grid = width < 640 ? "grid-cols-4" : "grid-cols-9"; 26 | 27 | return ( 28 |
29 |
30 | {section.title} 31 |
32 |
33 | {section.sites.map((site: SiteData) => ( 34 |
35 |
36 | {site.img ? ( 37 | {site.title} setGoURL(site.link) : () => window.open(site.link) 43 | } 44 | /> 45 | ) : ( 46 |
setGoURL(site.link) : () => window.open(site.link) 50 | } 51 | > 52 | {site.title} 53 |
54 | )} 55 |
56 | 57 | {site.title} 58 | 59 |
60 | ))} 61 |
62 |
63 | ); 64 | }; 65 | 66 | const numTracker = Math.floor(Math.random() * 99 + 1); 67 | 68 | const NavPage = ({ width, setGoURL }: NavProps) => { 69 | const dark = useStore((state) => state.dark); 70 | 71 | const grid = width < 640 ? "grid-cols-4" : "grid-cols-8"; 72 | const span = width < 640 ? "col-span-3" : "col-span-7"; 73 | 74 | return ( 75 |
81 |
82 | {/* Favorites */} 83 | 84 | 85 | {/* Frequently Visited */} 86 | 87 | 88 | {/* Privacy Report */} 89 |
90 |
91 | Privacy Report 92 |
93 |
97 |
98 | 99 | {numTracker} 100 |
101 |
102 | In the last seven days, Safari has prevent {numTracker} tracker from 103 | profiling you. 104 |
105 |
106 |
107 |
108 |
109 | ); 110 | }; 111 | 112 | const NoInternetPage = () => { 113 | const dark = useStore((state) => state.dark); 114 | 115 | return ( 116 |
122 |
123 |
124 |
You Are Not Connected to the Internet
125 |
126 | This page can't be displayed because your computer is currently offline. 127 |
128 |
129 |
130 |
131 | ); 132 | }; 133 | 134 | const Safari = ({ width }: SafariProps) => { 135 | const wifi = useStore((state) => state.wifi); 136 | const [state, setState] = useState({ 137 | goURL: "", 138 | currentURL: "" 139 | }); 140 | 141 | const setGoURL = (url: string) => { 142 | const isValid = checkURL(url); 143 | 144 | if (isValid) { 145 | if (url.substring(0, 7) !== "http://" && url.substring(0, 8) !== "https://") 146 | url = `https://${url}`; 147 | } else if (url !== "") { 148 | url = `https://www.bing.com/search?q=${url}`; 149 | } 150 | 151 | setState({ 152 | goURL: url, 153 | currentURL: url 154 | }); 155 | }; 156 | 157 | const pressURL = (e: React.KeyboardEvent) => { 158 | const keyCode = e.key; 159 | if (keyCode === "Enter") setGoURL((e.target as HTMLInputElement).value); 160 | }; 161 | 162 | const buttonColor = state.goURL === "" ? "text-c-400" : "text-c-700"; 163 | const grid = (width as number) < 640 ? "grid-cols-2" : "grid-cols-3"; 164 | const hideLast = (width as number) < 640 ? "hidden" : "flex"; 165 | 166 | return ( 167 |
168 | {/* browser topbar */} 169 |
170 |
171 | 177 | 180 | 183 |
184 |
185 | 188 | setState({ ...state, currentURL: e.target.value })} 192 | onKeyPress={pressURL} 193 | className="h-6 w-full p-2 rounded font-normal no-outline text-sm text-center text-c-500 bg-c-200" 194 | border="2 transparent focus:blue-400 dark:focus:blue-500" 195 | placeholder="Search or enter website name" 196 | /> 197 |
198 |
199 | 202 | 205 |
206 |
207 | 208 | {/* browser content */} 209 | {wifi ? ( 210 | state.goURL === "" ? ( 211 | 212 | ) : ( 213 |