Blueprint Theme | Windows Theme | MacOS Theme |
---|---|---|
This project aims to create an interactive Web OS template for Vue. Included in the template are all necessary logic for individual window components, navbars and app grids. Users are able to register new components (custom or otherwise) easily.
Download the latest release from this page's sidebae
Make sure you have Vue.js installed
Official Documentation from Vue
Rename the folder to vuejs-os-template
Cd into project folder and install packages + dependencies
$ cd vuejs-os-template && npm install
$ npm run serve
Registering a window with the slots method will allow you quick access to the pre-made window template. This method is most suited for users who do not require any change in the styling or layout of the window itself.
Head to /src/store/index.js
Register a new window by pasting the following snippet within the windows state array
{
windowId: "UniqueWindowID",
windowState: "close",
displayName: "Unique Window",
windowComponent: 'window',
windowContent: 'Placeholder',
windowContentPadding: {
top: null,
right: null,
bottom: null,
left: null
},
position: "absolute",
positionX: "10vw",
positionY: "10vh",
iconImage: "placeholder.png",
altText: "Placeholder Icon",
fullscreen: false
},
windowId: "MyNewWindow"
displayName: "New Window"
/src/components/views
folder and replace 'windowContent' with the name of the new content component created. windowContent: "MyNewWindowContent"
/src/components/views/MyNewWindowContent.vue
<template>
<p>this is my new window's content!</p>
</template>
/src/App.vue
to import and register the new components under the Githubissues.