diff --git a/css/index.css b/css/index.css index 933a951..09d19e5 100644 --- a/css/index.css +++ b/css/index.css @@ -348,10 +348,13 @@ hr.hr--accent2 { display: flex; flex-direction: column; justify-content: flex-end; - padding-bottom: 1em; + } .start-menu__stripe-text { transform: rotate(270deg); + width: 280px; + margin-left: -129px; + margin-bottom: 137px; color: white; } diff --git a/fs.js b/fs.js index 03fe014..3cfe4df 100644 --- a/fs.js +++ b/fs.js @@ -171,85 +171,27 @@ window.fs.addChild(new Folder({ icon: 'img/desktop/MyDocuments.png', name: 'My Documents', contents: [ - { - img: 'img/desktop/WordPad.png', - title: 'Resume.pdf', - launch: 'resume' - }, - { - img: 'img/desktop/WordPad.png', - title: 'CV.pdf', - launch: 'cv' - }, { img: 'img/desktop/InternetExplorer.png', title: 'GitHub', shortcut: true, - launch: 'web:https://github.com/pkage' - }, - { - img: 'img/desktop/InternetExplorer.png', - title: 'LinkedIn', - shortcut: true, - launch: 'web:https://www.linkedin.com/in/patrick-kage-652ba8122/' - }, - { - img: 'img/desktop/InternetExplorer.png', - title: 'Keybase', - shortcut: true, - launch: 'web:https://keybase.io/pkage' - }, - { - img: 'img/desktop/InternetExplorer.png', - title: 'My Blog', - shortcut: true, - launch: 'web:https://ka.ge/blog/' - }, - { - img: 'img/desktop/Email.png', - title: 'Email', - shortcut: true, - launch: 'email' - }, - { - img: 'img/desktop/MyBriefcase.png', - title: 'My Portfolio', - shortcut: true, - launch: 'portfolio' - }, - { - img: 'img/special/ORCID.png', - title: 'ORCID', - shortcut: true, - launch: 'web:https://orcid.org/0000-0002-5639-1237' - }, - { - img: 'img/desktop/SystemFile.png', - title: 'Welcome', - shortcut: true, - launch: 'welcome' + launch: 'web:https://github.com/Luddy-LLC' } ] })) -window.fs.addChild(new Folder({ - name: 'Recycling Bin', - icon: 'img/desktop/RecyclingBin.png', - contents: [ - { - img: 'img/desktop/InternetExplorer.png', - title: 'Twitter', - shortcut: true, - launch: 'web:https://twitter.com/patrick_kage' - }, - { - img: 'img/desktop/WavFile.png', - title: 'roll.wav', - shortcut: true, - launch: 'web:https://www.youtube.com/watch?v=dQw4w9WgXcQ' - } - ] -})) +// window.fs.addChild(new Folder({ +// name: 'Recycling Bin', +// icon: 'img/desktop/RecyclingBin.png', +// contents: [ +// { +// img: 'img/desktop/InternetExplorer.png', +// title: 'Luddy LLC Github', +// shortcut: true, +// launch: 'web:https://github.com/Luddy-LLC' +// } +// ] +// })) window.fs.addChild(new Folder({ name: 'Network Neighborhood', @@ -273,43 +215,5 @@ window.fs.addChild(new Folder({ ] })) -window.fs.root.children['My Documents'].addChild(new Folder({ - name: 'My Papers', - icon: 'img/desktop/Favorites.png', - contents: [ - { - img: 'img/special/ArXivFile.png', - title: 'Class Introspection...', - shortcut: true, - launch: 'web:https://arxiv.org/abs/2107.01657' - }, - { - img: 'img/desktop/WordPad.png', - title: 'Honours Project', - shortcut: true, - launch: 'web:https://misc.ka.ge/honours.pdf' - } - ] -})) - -window.fs.root.children['My Documents'].addChild(new Folder({ - name: 'My Talks', - icon: 'img/desktop/Favorites.png', - contents: [ - { - img: 'img/desktop/Mplayer.png', - title: 'KRHCAI: Class Introspection', - shortcut: true, - launch: 'web:https://www.youtube.com/watch?v=i2gULufLnf8' - }, - { - img: 'img/desktop/Mplayer.png', - title: 'HACKCON: Discord For Hackathons', - shortcut: true, - launch: 'web:https://www.youtube.com/watch?v=9bSudnnyQ5w' - } - ] -})) - window.fs.loadFilesystem() diff --git a/index.html b/index.html index b9fbeff..64bd682 100644 --- a/index.html +++ b/index.html @@ -2,7 +2,7 @@ - Patrick Kage + ludOS @@ -32,7 +32,7 @@ - +
@@ -46,56 +46,11 @@
-

Patrick Kage

+

Welcome


- Artificial Intelligence & Full Stack Developer
- PhD Student @ Artificial Intelligence and its Applications Institute (AIAI)
- University of Edinburgh, Edinburgh, Scotland
- - -

-
-

- Find me on: -

- And of course: - -

-
-

- This website is a faithful tribute to Windows 98, and most elements are
- as interactive as they would be in 1998, even on mobile devices.
- Feel free to play around! - -

+ Hello World +

@@ -106,60 +61,42 @@

Patrick Kage

My Computer My Computer -
+
My Documents My Documents
-
- My Briefcase - My Portfolio -
-
- Resume -
- -
- Resume.pdf -
-
- CV +
+ Outlook Express
- CV.pdf + Outlook Express
-
- TextFile +
+ Internet Explorer
- PGP Key.txt + Notepad
-
- Outlook Express -
- -
- Outlook Express -
-
+ +
Text File Notepad @@ -369,10 +193,10 @@

Patrick Kage

Text File Outlook Express
-
+
diff --git a/index.js b/index.js index 732a1cb..21d611f 100644 --- a/index.js +++ b/index.js @@ -16,32 +16,32 @@ const updateTime = () => { } updateTime() -const upgradeWelcomeResume = () => { - let link = document.querySelector('[data-upgrade="intro-launchresume"]') - link.addEventListener('click', e => { - e.preventDefault() - window.pm.createInstance('resume') - }) - - link = document.querySelector('[data-upgrade="intro-launchcv"]') - link.addEventListener('click', e => { - e.preventDefault() - window.pm.createInstance('cv') - }) - - link = document.querySelector('[data-upgrade="intro-launchportfolio"]') - link.addEventListener('click', e => { - e.preventDefault() - window.pm.createInstance('portfolio') - }) - - link = document.querySelector('[data-upgrade="intro-launchemail"]') - link.addEventListener('click', e => { - e.preventDefault() - window.pm.createInstance('email') - }) -} -upgradeWelcomeResume() +// const upgradeWelcomeResume = () => { +// let link = document.querySelector('[data-upgrade="intro-launchresume"]') +// link.addEventListener('click', e => { +// e.preventDefault() +// window.pm.createInstance('resume') +// }) + +// link = document.querySelector('[data-upgrade="intro-launchcv"]') +// link.addEventListener('click', e => { +// e.preventDefault() +// window.pm.createInstance('cv') +// }) + +// link = document.querySelector('[data-upgrade="intro-launchportfolio"]') +// link.addEventListener('click', e => { +// e.preventDefault() +// window.pm.createInstance('portfolio') +// }) + +// link = document.querySelector('[data-upgrade="intro-launchemail"]') +// link.addEventListener('click', e => { +// e.preventDefault() +// window.pm.createInstance('email') +// }) +// } +// upgradeWelcomeResume() // make sure we can re-open later without copying too much code const saveWelcomePage = () => { @@ -61,8 +61,3 @@ const recalculateHeight = () => { window.addEventListener('load', recalculateHeight) window.addEventListener('resize', recalculateHeight) window.addEventListener('orientationchange', recalculateHeight) - -// redirect if you hit the old domain -if (location.host === 'kage.dev') { - location.href = 'https://ka.ge' -} diff --git a/prog/doom.js b/prog/doom.js index 0fd9f9d..2ac9583 100644 --- a/prog/doom.js +++ b/prog/doom.js @@ -1,55 +1,55 @@ -class DoomProgram extends Program { - isMobileBrowser() { - return (typeof window.orientation !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1); - } +// class DoomProgram extends Program { +// isMobileBrowser() { +// return (typeof window.orientation !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1); +// } - createWindow(argument) { - const bundle_name = argument ?? 'doom' +// createWindow(argument) { +// const bundle_name = argument ?? 'doom' - let body = '' - let wminfo = { - title: `${bundle_name.toUpperCase()}.EXE`, - name: bundle_name[0].toUpperCase() + bundle_name.slice(1), - icon: 'img/desktop/MSDOS.png', - resizable: true, - width: 480, - height: 360, - x: 75, - y: 75 - } +// let body = '' +// let wminfo = { +// title: `${bundle_name.toUpperCase()}.EXE`, +// name: bundle_name[0].toUpperCase() + bundle_name.slice(1), +// icon: 'img/desktop/MSDOS.png', +// resizable: true, +// width: 480, +// height: 360, +// x: 75, +// y: 75 +// } - if (this.isMobileBrowser()) { - wminfo = { - ...wminfo, - width: 360, - height: 240, - } - } +// if (this.isMobileBrowser()) { +// wminfo = { +// ...wminfo, +// width: 360, +// height: 240, +// } +// } - const bundle_url = `dos/${bundle_name}.jsdos` - const src = `//em.ka.ge/player?img=${encodeURIComponent(bundle_url)}`; - body = ` - - ` +// const bundle_url = `dos/${bundle_name}.jsdos` +// const src = `//em.ka.ge/player?img=${encodeURIComponent(bundle_url)}`; +// body = ` +// +// ` - return [wminfo, body] - } +// return [wminfo, body] +// } - onAttach() { - if (!this.isMobileBrowser()) { - this.getBodyHandle().style.margin = 0 - } else { - this.getBodyHandle() - .querySelector('button.doom__close') - .addEventListener('click', this.closeWindow.bind(this)) - } - this.getBodyHandle() - .querySelector('iframe') - .focus() - } -} +// onAttach() { +// if (!this.isMobileBrowser()) { +// this.getBodyHandle().style.margin = 0 +// } else { +// this.getBodyHandle() +// .querySelector('button.doom__close') +// .addEventListener('click', this.closeWindow.bind(this)) +// } +// this.getBodyHandle() +// .querySelector('iframe') +// .focus() +// } +// } -window.pm.registerPrototype('doom', DoomProgram) +// window.pm.registerPrototype('doom', DoomProgram) diff --git a/prog/shutdown.js b/prog/shutdown.js index 07d6cef..e000b77 100644 --- a/prog/shutdown.js +++ b/prog/shutdown.js @@ -6,7 +6,7 @@ class ShutdownProgram extends Program { createWindow() { let winfo = { - title: 'Are you sure?' + title: 'Log Off Windows' } let body = ` @@ -14,11 +14,12 @@ class ShutdownProgram extends Program {

- This is a website...
What do you expect that to do? + Are you sure you want to log off?

- + +
` diff --git a/prog/terminal.js b/prog/terminal.js index f69a477..8a13211 100644 --- a/prog/terminal.js +++ b/prog/terminal.js @@ -1,66 +1,66 @@ -class TerminalProgram extends Program { - createWindow() { - let wminfo = { - name: 'Terminal', - title: 'Linux Terminal', - icon: 'img/desktop/Linux.png', - resizable: true - } +// class TerminalProgram extends Program { +// createWindow() { +// let wminfo = { +// name: 'Terminal', +// title: 'Linux Terminal', +// icon: 'img/desktop/Linux.png', +// resizable: true +// } - let body = ` -
- ` +// let body = ` +//
+// ` - return [wminfo, body] - } +// return [wminfo, body] +// } - onResize() { - this.term.fit() - this.setWindowTitle(`Linux Terminal - ${this.term.rows}x${this.term.cols}`) - } +// onResize() { +// this.term.fit() +// this.setWindowTitle(`Linux Terminal - ${this.term.rows}x${this.term.cols}`) +// } - onResizeEnd() { - if (this.upstream !== null) { - this.upstream.resize(this.term.rows, this.term.cols) - } - } +// onResizeEnd() { +// if (this.upstream !== null) { +// this.upstream.resize(this.term.rows, this.term.cols) +// } +// } - async onAttach() { - this.getBodyHandle().parentElement.style.backgroundColor = 'black' - Terminal.applyAddon(fit) - Terminal.applyAddon(attach) - this.term = new Terminal({ - cols: (isMobileBrowser()) ? 30 : 60, - height: 24, - cursorStyle: 'underline' - }) - this.term.open(this.getBodyHandle()) +// async onAttach() { +// this.getBodyHandle().parentElement.style.backgroundColor = 'black' +// Terminal.applyAddon(fit) +// Terminal.applyAddon(attach) +// this.term = new Terminal({ +// cols: (isMobileBrowser()) ? 30 : 60, +// height: 24, +// cursorStyle: 'underline' +// }) +// this.term.open(this.getBodyHandle()) - this.upstream = await window.vm.createTerminal() - if (this.upstream === null) { - this.term.write('No vm connected!') - return - } - this.term.write('[Attempting to connect...]\r') - this.term.attach(this.upstream.socket, false, false) - this.upstream.socket.onopen = () => { - this.term.write('[Connected to VM agent] ') - this.onResize() - this.onResizeEnd() - } - this.upstream.socket.onclose = this.upstream.socket.onerror = () => { - this.term.write('\r\n[Connection lost]') - } +// this.upstream = await window.vm.createTerminal() +// if (this.upstream === null) { +// this.term.write('No vm connected!') +// return +// } +// this.term.write('[Attempting to connect...]\r') +// this.term.attach(this.upstream.socket, false, false) +// this.upstream.socket.onopen = () => { +// this.term.write('[Connected to VM agent] ') +// this.onResize() +// this.onResizeEnd() +// } +// this.upstream.socket.onclose = this.upstream.socket.onerror = () => { +// this.term.write('\r\n[Connection lost]') +// } - this.term.on('data', data => this.upstream.send_input(data.toString())) +// this.term.on('data', data => this.upstream.send_input(data.toString())) - //this.getBodyHandle().addEventListener('keyup', this.onKey.bind(this)) - } +// //this.getBodyHandle().addEventListener('keyup', this.onKey.bind(this)) +// } - onClose() { - console.log('window closing...') - this.upstream.terminate() - } -} +// onClose() { +// console.log('window closing...') +// this.upstream.terminate() +// } +// } -window.pm.registerPrototype('terminal', TerminalProgram) +// window.pm.registerPrototype('terminal', TerminalProgram) diff --git a/prog/welcome.js b/prog/welcome.js index 412f133..d1c2ee3 100644 --- a/prog/welcome.js +++ b/prog/welcome.js @@ -13,26 +13,26 @@ class WelcomeProgram extends Program { onAttach() { this.getBodyHandle().classList.add('typography') - this.getBodyHandle() - .querySelector('[data-upgrade="intro-launchresume"]') - .addEventListener('click', e => { - e.preventDefault() - window.pm.createInstance('resume') - }) + // this.getBodyHandle() + // .querySelector('[data-upgrade="intro-launchresume"]') + // .addEventListener('click', e => { + // e.preventDefault() + // window.pm.createInstance('resume') + // }) - this.getBodyHandle() - .querySelector('[data-upgrade="intro-launchportfolio"]') - .addEventListener('click', e => { - e.preventDefault() - window.pm.createInstance('portfolio') - }) + // this.getBodyHandle() + // .querySelector('[data-upgrade="intro-launchportfolio"]') + // .addEventListener('click', e => { + // e.preventDefault() + // window.pm.createInstance('portfolio') + // }) - this.getBodyHandle() - .querySelector('[data-upgrade="intro-launchemail"]') - .addEventListener('click', e => { - e.preventDefault() - window.pm.createInstance('email') - }) + // this.getBodyHandle() + // .querySelector('[data-upgrade="intro-launchemail"]') + // .addEventListener('click', e => { + // e.preventDefault() + // window.pm.createInstance('email') + // }) } }