Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 2 additions & 0 deletions .browserslistrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
last 2 version
not IE 11
11 changes: 6 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
/node_modules/
/dist/
/.vscode/
.DS_Store
.idea/
.build
build
web_modules
node_modules
dist/
yarn.lock
15 changes: 3 additions & 12 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -1,14 +1,5 @@
{
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100,
"useTabs": true,
"overrides": [
{
"files": "*.svelte",
"options": {
"plugins": ["prettier-plugin-svelte"]
}
}
]
"singleQuote": true,
"trailingComma": "all",
"printWidth": 100
}
4 changes: 4 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"typescript.tsdk": "node_modules\\typescript\\lib",
"scss.lint.validProperties": ["composes"]
}
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
> 🛑🛑 Note: This is the new iteration of macOS Web written in Svelte. Previous version written in Preact is available at [PuruVJ/macos-preact](https://github.com/puruvj/macos-preact) 🛑🛑
> 🛑🛑 You're viewing the legacy version. macOS Web has moved over to Svelte! Check out here: [PuruVJ/macos-web](https://github.com/puruvj/macos-web) 🛑🛑

# Mac OS Ventura Web
# Mac OS Monterey Web

This open source project aims to replicate some of the Mac OS(Monterey, at the time of writing)'s desktop experience on web, using Svelte!
This open source project aims to replicate some of the Mac OS(Moneterey, at the time)'s desktop experience on web, using standard web technologies like HTML, CSS and JS

🔗🔗 [macos-web.app](https://macos.now.sh)
🔗🔗 [macos.now.sh](https://macos.now.sh)

# Why

I've always been very fascinated with macOS, and have never owned a Mac/book. So I'm making the most beautiful aspect of macOS, its desktop, myself. For web. Inspired from [WinXP](https://winxp.now.sh/).
I've always been very fascinated with macOS, and have never owned a Mac/book. So I'm making the most beautiful aspect of macOS, it's desktop, myself. For web. Inspired from [WinXP](https://winxp.now.sh/).

# Stack

- Framework - Svelte (Earlier Preact)
- Framework - Preact (Earlier React. Swapped for runtime performance gains)
- Bundler - Vite, for super fast development.
- Component Library - None!!
- Styling Solution - SCSS.
- Styling Solution - SCSS and CSS Modules.

[Roadmap](https://www.notion.so/MacOS-Web-Roadmap-274d703460564ea3bb5493b39bf8f886)

# When will it be ready?

Expand All @@ -24,5 +26,3 @@ I've always been very fascinated with macOS, and have never owned a Mac/book. So
# Can I contribute?

Sure, open an issue, point out errors, and what not. Wanna fix something yourselves, you're welcome to open a PR and I appreciate it.

[![Hosted on Vercel](https://www.datocms-assets.com/31049/1618983297-powered-by-vercel.svg)](https://vercel.com/?utm_source=purus-projects&utm_campaign=oss)
57 changes: 24 additions & 33 deletions index.html
Original file line number Diff line number Diff line change
@@ -1,37 +1,28 @@
<!doctype html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<link rel="icon" href="/app-icons/finder/32.png" />
<meta name="description" content="MacOS Desktop experience for Web" />
<title>macOS in Svelte</title>
<link rel="apple-touch-icon" href="/app-icons/finder/192.png" sizes="192x192" />
<meta name="theme-color" content="#ffffff" />
<meta property="og:title" content="macOS in Svelte" />
<meta property="og:description" content="A painting of macOS Ventura in HTML, CSS and JS" />
<meta property="og:image" content="https://macos-web.app/cover-image.png" />
<meta property="og:url" content="https://macos-web.app" />
<meta name="twitter:card" content="summary_large_image" />
<head>
<meta charset="utf-8" />
<link rel="icon" href="/assets/app-icons/finder/32.png" />
<!-- <meta name="viewport" content="width=device-width, initial-scale=1" /> -->
<meta name="description" content="MacOS Desktop experience for Web" />
<title>macOS in Preact</title>

<link rel="prefetch" href="/sounds/mac-startup-sound.mp3" />
</head>
<body>
<div id="root"></div>
<script type="module" src="/src/main.ts"></script>
</body>
<meta property="og:title" content="macOS in Preact" />
<meta property="og:description" content="A painting of macOS Big Sur in HTML, CSS and JS" />
<meta property="og:image" content="https://macos.now.sh/assets/cover-image.png" />
<meta property="og:url" content="https://macos.now.sh" />
<meta name="twitter:card" content="summary_large_image" />

<script type="module">
(function (c, l, a, r, i, t, y) {
c[a] =
c[a] ||
function () {
(c[a].q = c[a].q || []).push(arguments);
};
t = l.createElement(r);
t.async = 1;
t.src = 'https://www.clarity.ms/tag/' + i;
y = l.getElementsByTagName(r)[0];
y.parentNode.insertBefore(t, y);
})(window, document, 'clarity', 'script', 'a95kitlcti');
</script>
<link rel="preconnect" href="https://fonts.gstatic.com" />
</head>
<body>
<div id="root"></div>
<noscript>You need to enable JavaScript to run this app.</noscript>
<script type="module" src="/src/index.tsx"></script>

<link
href="https://fonts.googleapis.com/css2?family=Inter:wght@200;300;350;400;500;600;700&display=swap"
rel="stylesheet"
/>
</body>
</html>
7 changes: 7 additions & 0 deletions jest.config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
moduleNameMapper: {
'^@__/(.*)$': '<rootDir>/src/$1',
},
};
Loading