updated styling, added gitea, deployed tomodachi
This commit is contained in:
+71
-17
@@ -12,7 +12,7 @@
|
|||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header>
|
<header>
|
||||||
<nav class="z-20 flex justify-between px-12 md:px-48 py-4 bg-zinc-900/40 text-slate-50/80 fixed w-screen text-shadow items-end">
|
<nav class="z-20 flex justify-between px-12 md:px-48 py-4 bg-zinc-900/40 text-slate-50/80 fixed w-screen text-shadow items-end backdrop-blur-md">
|
||||||
<h1 class="text-4xl">Annika Bisson</h1>
|
<h1 class="text-4xl">Annika Bisson</h1>
|
||||||
<ul class="hidden md:flex">
|
<ul class="hidden md:flex">
|
||||||
<li class="px-4 hover:text-rose-700"><a href="#about">About</a></li>
|
<li class="px-4 hover:text-rose-700"><a href="#about">About</a></li>
|
||||||
@@ -58,37 +58,86 @@
|
|||||||
</section>
|
</section>
|
||||||
<section id="applications">
|
<section id="applications">
|
||||||
<div class="bg-zinc-800 h-[40vh] p-8 md:p-24">
|
<div class="bg-zinc-800 h-[40vh] p-8 md:p-24">
|
||||||
<h2 class="text-center text-4xl text-zinc-100 pb-12">Check out these projects and more on Github!</h2>
|
<h2 class="text-center text-4xl text-zinc-100 pb-12">Check out these projects and more on Gitea or Github!</h2>
|
||||||
<div class="flex justify-center">
|
<div class="flex justify-center">
|
||||||
<a href="https://github.com/annikyet" class="text-zinc-900 bg-zinc-100 w-48 p-4 text-center text-2xl rounded-full hover:bg-rose-700 hover:text-zinc-100">
|
<a href="https://code.annikadev.com/annika" class="text-zinc-900 bg-zinc-100 w-48 py-4 px-2 md:px-4 text-center text-2xl rounded-full hover:bg-rose-700 hover:text-zinc-100 mx-4 md:mx-12">
|
||||||
|
<i class="mdi mdi-git"></i>
|
||||||
|
Gitea
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/annikyet" class="text-zinc-900 bg-zinc-100 w-48 py-4 px-2 md:px-4 text-center text-2xl rounded-full hover:bg-rose-700 hover:text-zinc-100 mx-4 md:mx-12">
|
||||||
<i class="mdi mdi-github"></i>
|
<i class="mdi mdi-github"></i>
|
||||||
Github
|
Github
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="grid grid-cols-1 md:grid-cols-3 min-h-[50vh] p-4 md:p-0 bg-zinc-800">
|
<div class="grid grid-cols-1 xl:grid-cols-3 min-h-[50vh] p-4 md:p-0 bg-zinc-800">
|
||||||
|
|
||||||
<a href="https://annikyet.github.io/tomodachi/" class="relative pb-4 md:pb-0">
|
<a href="https://tomodachi.annikadev.com" class="relative pb-4 md:pb-0 md:mb-24">
|
||||||
<img src="./src/img/screenshots/tomodachi.jpg" alt="Tomodachi" class="object-left object-cover h-full w-full rounded-lg md:rounded-none">
|
<img src="./src/img/screenshots/tomodachi.jpg" alt="Tomodachi" class="object-left object-cover h-full w-full rounded-lg md:rounded-none">
|
||||||
<div class="opacity-0 hover:opacity-100 absolute top-0 left-0 h-full w-full backdrop-blur-md bg-rose-700/60 flex flex-col justify-center items-center text-zinc-100 p-4 rounded-lg md:rounded-none">
|
<div class="absolute top-0 left=0 w-full h-full flex flex-col justify-end">
|
||||||
<h3 class="text-center text-2xl">Tomodachi</h3>
|
<div class="h-36 w-full backdrop-blur-md bg-slate-700/60 flex flex-col justify-center text-zinc-100 p-4 rounded-b-lg md:rounded-none border-t-8 border-rose-700">
|
||||||
<p class="text-lg">A stylish static webpage using CSS and Bootstrap.</p>
|
<div class="flex justify-start">
|
||||||
|
<h3 class="text-center text-2xl pr-2">Tomodachi</h3>
|
||||||
|
<p class="text-md md:text-lg pl-2 border-l-2 border-zinc-400">A stylish static webpage using CSS and Bootstrap.</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-row justify-end">
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
Bootstrap
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="https://github.com/Annikyet/budgit" class="relative pb-4 md:pb-0">
|
<a href="https://code.annikadev.com/annika/budgit" class="relative pb-4 md:pb-0 md:mb-24">
|
||||||
<img src="./src/img/screenshots/budgit.jpg" alt="Budg.it" class="object-left object-cover h-full w-full rounded-lg md:rounded-none">
|
<img src="./src/img/screenshots/budgit.jpg" alt="Budg.it" class="object-left object-cover h-full w-full rounded-lg md:rounded-none">
|
||||||
<div class="opacity-0 hover:opacity-100 absolute top-0 left-0 h-full w-full backdrop-blur-md bg-rose-700/60 flex flex-col justify-center items-center text-zinc-100 p-4 rounded-lg md:rounded-none">
|
<div class="absolute top-0 left=0 w-full h-full flex flex-col justify-end">
|
||||||
<h3 class="text-center text-2xl">Budg.it</h3>
|
<div class="h-36 w-full backdrop-blur-md bg-slate-700/60 flex flex-col justify-center text-zinc-100 p-4 rounded-b-lg md:rounded-none border-t-8 border-rose-700">
|
||||||
<p class="text-lg">A budgeting app built with tailwindcss, Vue.js, nodeJS, and mongoDB.</p>
|
<div class="flex justify-start">
|
||||||
|
<h3 class="text-center text-2xl pr-2">Budg.it</h3>
|
||||||
|
<p class="text-md md:text-lg pl-2 border-l-2 border-zinc-400">A budgeting app built with tailwindcss, Vue.js, nodeJS, and mongoDB.</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-row justify-end">
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
Tailwind CSS
|
||||||
|
</div>
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
Vue.js
|
||||||
|
</div>
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
Node.js
|
||||||
|
</div>
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
MongoDB
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="https://github.com/Annikyet/keepr" class="relative">
|
<a href="https://code.annikadev.com/annika/keepr" class="relative pb-4 md:pb-0 md:mb-24">
|
||||||
<img src="./src/img/screenshots/keepr.jpg" alt="Keepr" class="object-left object-cover h-full w-full rounded-lg md:rounded-none">
|
<img src="./src/img/screenshots/keepr.jpg" alt="Keepr" class="object-left object-cover h-full w-full rounded-lg md:rounded-none">
|
||||||
<div class="opacity-0 hover:opacity-100 absolute top-0 left-0 h-full w-full backdrop-blur-md bg-rose-700/60 flex flex-col justify-center items-center text-zinc-100 p-4 rounded-lg md:rounded-none">
|
<div class="absolute top-0 left=0 w-full h-full flex flex-col justify-end">
|
||||||
<h3 class="text-center text-2xl">Keepr</h3>
|
<div class="h-36 w-full backdrop-blur-md bg-slate-700/60 flex flex-col justify-center text-zinc-100 p-4 rounded-b-lg md:rounded-none border-t-8 border-rose-700">
|
||||||
<p class="text-lg">A social media application for sharing and keeping images. Built with Bootstrap, Vue.js, C#/.NET, and mySQL.</p>
|
<div class="flex justify-start">
|
||||||
|
<h3 class="text-center text-2xl pr-2">Keepr</h3>
|
||||||
|
<p class="text-md md:text-lg pl-2 border-l-2 border-zinc-400">A social media application for sharing and keeping images. Built with Bootstrap, Vue.js, C#/.NET, and mySQL.</p>
|
||||||
|
</div>
|
||||||
|
<div class="flex flex-row justify-end">
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
Bootstrap
|
||||||
|
</div>
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
Vue.js
|
||||||
|
</div>
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
.NET
|
||||||
|
</div>
|
||||||
|
<div class="py-1 px-2 md:py-2 md:px-4 text-center text:lg md:text-xl border-2 rounded-lg md:rounded-xl border-rose-700/80 bg-rose-700/10 ml-2 md:ml-4 mt-4">
|
||||||
|
MySQL
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
@@ -109,11 +158,16 @@
|
|||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<p class="p-2">
|
<div class="p-2 text-zinc-500">
|
||||||
|
<p>
|
||||||
|
<a href="https://tailwindcss.com" class="hover:text-rose-700">Made with tailwindcss.</a>
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
<a href="https://unsplash.com/photos/Bd7gNnWJBkU?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLink" class="hover:text-rose-700">
|
<a href="https://unsplash.com/photos/Bd7gNnWJBkU?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLink" class="hover:text-rose-700">
|
||||||
Background image by Andras Vas.
|
Background image by Andras Vas.
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
</div>
|
||||||
</section>
|
</section>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
|
|||||||
+2
-16
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "landing-page",
|
"name": "annikadev.com",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"node_modules/@nodelib/fs.scandir": {
|
"node_modules/@nodelib/fs.scandir": {
|
||||||
@@ -260,20 +260,6 @@
|
|||||||
"node": ">=8"
|
"node": ">=8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/fsevents": {
|
|
||||||
"version": "2.3.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
|
||||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
|
||||||
"dev": true,
|
|
||||||
"hasInstallScript": true,
|
|
||||||
"optional": true,
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/function-bind": {
|
"node_modules/function-bind": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
|
||||||
|
|||||||
-22
@@ -1,22 +0,0 @@
|
|||||||
MIT License
|
|
||||||
-----------
|
|
||||||
|
|
||||||
Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
||||||
-83
@@ -1,83 +0,0 @@
|
|||||||
# fsevents [](https://nodei.co/npm/fsevents/)
|
|
||||||
|
|
||||||
Native access to MacOS FSEvents in [Node.js](https://nodejs.org/)
|
|
||||||
|
|
||||||
The FSEvents API in MacOS allows applications to register for notifications of
|
|
||||||
changes to a given directory tree. It is a very fast and lightweight alternative
|
|
||||||
to kqueue.
|
|
||||||
|
|
||||||
This is a low-level library. For a cross-platform file watching module that
|
|
||||||
uses fsevents, check out [Chokidar](https://github.com/paulmillr/chokidar).
|
|
||||||
|
|
||||||
## Installation
|
|
||||||
|
|
||||||
Supports only **Node.js v8.16 and higher**.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install fsevents
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
```js
|
|
||||||
const fsevents = require('fsevents');
|
|
||||||
const stop = fsevents.watch(__dirname, (path, flags, id) => {
|
|
||||||
const info = fsevents.getInfo(path, flags, id);
|
|
||||||
}); // To start observation
|
|
||||||
stop(); // To end observation
|
|
||||||
```
|
|
||||||
|
|
||||||
The callback passed as the second parameter to `.watch` get's called whenever the operating system detects a
|
|
||||||
a change in the file system. It takes three arguments:
|
|
||||||
|
|
||||||
###### `fsevents.watch(dirname: string, (path: string, flags: number, id: string) => void): () => Promise<undefined>`
|
|
||||||
|
|
||||||
* `path: string` - the item in the filesystem that have been changed
|
|
||||||
* `flags: number` - a numeric value describing what the change was
|
|
||||||
* `id: string` - an unique-id identifying this specific event
|
|
||||||
|
|
||||||
Returns closer callback which when called returns a Promise resolving when the watcher process has been shut down.
|
|
||||||
|
|
||||||
###### `fsevents.getInfo(path: string, flags: number, id: string): FsEventInfo`
|
|
||||||
|
|
||||||
The `getInfo` function takes the `path`, `flags` and `id` arguments and converts those parameters into a structure
|
|
||||||
that is easier to digest to determine what the change was.
|
|
||||||
|
|
||||||
The `FsEventsInfo` has the following shape:
|
|
||||||
|
|
||||||
```js
|
|
||||||
/**
|
|
||||||
* @typedef {'created'|'modified'|'deleted'|'moved'|'root-changed'|'cloned'|'unknown'} FsEventsEvent
|
|
||||||
* @typedef {'file'|'directory'|'symlink'} FsEventsType
|
|
||||||
*/
|
|
||||||
{
|
|
||||||
"event": "created", // {FsEventsEvent}
|
|
||||||
"path": "file.txt",
|
|
||||||
"type": "file", // {FsEventsType}
|
|
||||||
"changes": {
|
|
||||||
"inode": true, // Had iNode Meta-Information changed
|
|
||||||
"finder": false, // Had Finder Meta-Data changed
|
|
||||||
"access": false, // Had access permissions changed
|
|
||||||
"xattrs": false // Had xAttributes changed
|
|
||||||
},
|
|
||||||
"flags": 0x100000000
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
- v2.3 supports Apple Silicon ARM CPUs
|
|
||||||
- v2 supports node 8.16+ and reduces package size massively
|
|
||||||
- v1.2.8 supports node 6+
|
|
||||||
- v1.2.7 supports node 4+
|
|
||||||
|
|
||||||
## Troubleshooting
|
|
||||||
|
|
||||||
- I'm getting `EBADPLATFORM` `Unsupported platform for fsevents` error.
|
|
||||||
- It's fine, nothing is broken. fsevents is macos-only. Other platforms are skipped. If you want to hide this warning, report a bug to NPM bugtracker asking them to hide ebadplatform warnings by default.
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
The MIT License Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller — see LICENSE file.
|
|
||||||
|
|
||||||
Visit our [GitHub page](https://github.com/fsevents/fsevents) and [NPM Page](https://npmjs.org/package/fsevents)
|
|
||||||
-46
@@ -1,46 +0,0 @@
|
|||||||
declare type Event = "created" | "cloned" | "modified" | "deleted" | "moved" | "root-changed" | "unknown";
|
|
||||||
declare type Type = "file" | "directory" | "symlink";
|
|
||||||
declare type FileChanges = {
|
|
||||||
inode: boolean;
|
|
||||||
finder: boolean;
|
|
||||||
access: boolean;
|
|
||||||
xattrs: boolean;
|
|
||||||
};
|
|
||||||
declare type Info = {
|
|
||||||
event: Event;
|
|
||||||
path: string;
|
|
||||||
type: Type;
|
|
||||||
changes: FileChanges;
|
|
||||||
flags: number;
|
|
||||||
};
|
|
||||||
declare type WatchHandler = (path: string, flags: number, id: string) => void;
|
|
||||||
export declare function watch(path: string, handler: WatchHandler): () => Promise<void>;
|
|
||||||
export declare function watch(path: string, since: number, handler: WatchHandler): () => Promise<void>;
|
|
||||||
export declare function getInfo(path: string, flags: number): Info;
|
|
||||||
export declare const constants: {
|
|
||||||
None: 0x00000000;
|
|
||||||
MustScanSubDirs: 0x00000001;
|
|
||||||
UserDropped: 0x00000002;
|
|
||||||
KernelDropped: 0x00000004;
|
|
||||||
EventIdsWrapped: 0x00000008;
|
|
||||||
HistoryDone: 0x00000010;
|
|
||||||
RootChanged: 0x00000020;
|
|
||||||
Mount: 0x00000040;
|
|
||||||
Unmount: 0x00000080;
|
|
||||||
ItemCreated: 0x00000100;
|
|
||||||
ItemRemoved: 0x00000200;
|
|
||||||
ItemInodeMetaMod: 0x00000400;
|
|
||||||
ItemRenamed: 0x00000800;
|
|
||||||
ItemModified: 0x00001000;
|
|
||||||
ItemFinderInfoMod: 0x00002000;
|
|
||||||
ItemChangeOwner: 0x00004000;
|
|
||||||
ItemXattrMod: 0x00008000;
|
|
||||||
ItemIsFile: 0x00010000;
|
|
||||||
ItemIsDir: 0x00020000;
|
|
||||||
ItemIsSymlink: 0x00040000;
|
|
||||||
ItemIsHardlink: 0x00100000;
|
|
||||||
ItemIsLastHardlink: 0x00200000;
|
|
||||||
OwnEvent: 0x00080000;
|
|
||||||
ItemCloned: 0x00400000;
|
|
||||||
};
|
|
||||||
export {};
|
|
||||||
-82
@@ -1,82 +0,0 @@
|
|||||||
/*
|
|
||||||
** © 2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller
|
|
||||||
** Licensed under MIT License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* jshint node:true */
|
|
||||||
"use strict";
|
|
||||||
|
|
||||||
if (process.platform !== "darwin") {
|
|
||||||
throw new Error(`Module 'fsevents' is not compatible with platform '${process.platform}'`);
|
|
||||||
}
|
|
||||||
|
|
||||||
const Native = require("./fsevents.node");
|
|
||||||
const events = Native.constants;
|
|
||||||
|
|
||||||
function watch(path, since, handler) {
|
|
||||||
if (typeof path !== "string") {
|
|
||||||
throw new TypeError(`fsevents argument 1 must be a string and not a ${typeof path}`);
|
|
||||||
}
|
|
||||||
if ("function" === typeof since && "undefined" === typeof handler) {
|
|
||||||
handler = since;
|
|
||||||
since = Native.flags.SinceNow;
|
|
||||||
}
|
|
||||||
if (typeof since !== "number") {
|
|
||||||
throw new TypeError(`fsevents argument 2 must be a number and not a ${typeof since}`);
|
|
||||||
}
|
|
||||||
if (typeof handler !== "function") {
|
|
||||||
throw new TypeError(`fsevents argument 3 must be a function and not a ${typeof handler}`);
|
|
||||||
}
|
|
||||||
|
|
||||||
let instance = Native.start(Native.global, path, since, handler);
|
|
||||||
if (!instance) throw new Error(`could not watch: ${path}`);
|
|
||||||
return () => {
|
|
||||||
const result = instance ? Promise.resolve(instance).then(Native.stop) : Promise.resolve(undefined);
|
|
||||||
instance = undefined;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function getInfo(path, flags) {
|
|
||||||
return {
|
|
||||||
path,
|
|
||||||
flags,
|
|
||||||
event: getEventType(flags),
|
|
||||||
type: getFileType(flags),
|
|
||||||
changes: getFileChanges(flags),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
function getFileType(flags) {
|
|
||||||
if (events.ItemIsFile & flags) return "file";
|
|
||||||
if (events.ItemIsDir & flags) return "directory";
|
|
||||||
if (events.ItemIsSymlink & flags) return "symlink";
|
|
||||||
}
|
|
||||||
function anyIsTrue(obj) {
|
|
||||||
for (let key in obj) {
|
|
||||||
if (obj[key]) return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
function getEventType(flags) {
|
|
||||||
if (events.ItemRemoved & flags) return "deleted";
|
|
||||||
if (events.ItemRenamed & flags) return "moved";
|
|
||||||
if (events.ItemCreated & flags) return "created";
|
|
||||||
if (events.ItemModified & flags) return "modified";
|
|
||||||
if (events.RootChanged & flags) return "root-changed";
|
|
||||||
if (events.ItemCloned & flags) return "cloned";
|
|
||||||
if (anyIsTrue(flags)) return "modified";
|
|
||||||
return "unknown";
|
|
||||||
}
|
|
||||||
function getFileChanges(flags) {
|
|
||||||
return {
|
|
||||||
inode: !!(events.ItemInodeMetaMod & flags),
|
|
||||||
finder: !!(events.ItemFinderInfoMod & flags),
|
|
||||||
access: !!(events.ItemChangeOwner & flags),
|
|
||||||
xattrs: !!(events.ItemXattrMod & flags),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
exports.watch = watch;
|
|
||||||
exports.getInfo = getInfo;
|
|
||||||
exports.constants = events;
|
|
||||||
BIN
Binary file not shown.
-62
@@ -1,62 +0,0 @@
|
|||||||
{
|
|
||||||
"name": "fsevents",
|
|
||||||
"version": "2.3.2",
|
|
||||||
"description": "Native Access to MacOS FSEvents",
|
|
||||||
"main": "fsevents.js",
|
|
||||||
"types": "fsevents.d.ts",
|
|
||||||
"os": [
|
|
||||||
"darwin"
|
|
||||||
],
|
|
||||||
"files": [
|
|
||||||
"fsevents.d.ts",
|
|
||||||
"fsevents.js",
|
|
||||||
"fsevents.node"
|
|
||||||
],
|
|
||||||
"engines": {
|
|
||||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"clean": "node-gyp clean && rm -f fsevents.node",
|
|
||||||
"build": "node-gyp clean && rm -f fsevents.node && node-gyp rebuild && node-gyp clean",
|
|
||||||
"test": "/bin/bash ./test.sh 2>/dev/null",
|
|
||||||
"prepublishOnly": "npm run build"
|
|
||||||
},
|
|
||||||
"repository": {
|
|
||||||
"type": "git",
|
|
||||||
"url": "https://github.com/fsevents/fsevents.git"
|
|
||||||
},
|
|
||||||
"keywords": [
|
|
||||||
"fsevents",
|
|
||||||
"mac"
|
|
||||||
],
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"name": "Philipp Dunkel",
|
|
||||||
"email": "pip@pipobscure.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Ben Noordhuis",
|
|
||||||
"email": "info@bnoordhuis.nl"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Elan Shankar",
|
|
||||||
"email": "elan.shanker@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Miroslav Bajtoš",
|
|
||||||
"email": "mbajtoss@gmail.com"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Paul Miller",
|
|
||||||
"url": "https://paulmillr.com"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"license": "MIT",
|
|
||||||
"bugs": {
|
|
||||||
"url": "https://github.com/fsevents/fsevents/issues"
|
|
||||||
},
|
|
||||||
"homepage": "https://github.com/fsevents/fsevents",
|
|
||||||
"devDependencies": {
|
|
||||||
"node-gyp": "^6.1.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Generated
+1
-1
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "landing-page",
|
"name": "annikadev.com",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
|
|||||||
+129
-29
@@ -571,14 +571,23 @@ video {
|
|||||||
top: 0px;
|
top: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.left-0 {
|
|
||||||
left: 0px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.z-20 {
|
.z-20 {
|
||||||
z-index: 20;
|
z-index: 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.mx-4 {
|
||||||
|
margin-left: 1rem;
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ml-2 {
|
||||||
|
margin-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mt-4 {
|
||||||
|
margin-top: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
.mb-4 {
|
.mb-4 {
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
}
|
}
|
||||||
@@ -611,6 +620,10 @@ video {
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.h-36 {
|
||||||
|
height: 9rem;
|
||||||
|
}
|
||||||
|
|
||||||
.min-h-\[40vh\] {
|
.min-h-\[40vh\] {
|
||||||
min-height: 40vh;
|
min-height: 40vh;
|
||||||
}
|
}
|
||||||
@@ -647,6 +660,10 @@ video {
|
|||||||
grid-template-columns: repeat(1, minmax(0, 1fr));
|
grid-template-columns: repeat(1, minmax(0, 1fr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.flex-row {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
|
||||||
.flex-col {
|
.flex-col {
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
@@ -663,6 +680,14 @@ video {
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.justify-start {
|
||||||
|
justify-content: flex-start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.justify-end {
|
||||||
|
justify-content: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
.justify-center {
|
.justify-center {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
@@ -679,10 +704,41 @@ video {
|
|||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.rounded-b-lg {
|
||||||
|
border-bottom-right-radius: 0.5rem;
|
||||||
|
border-bottom-left-radius: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-2 {
|
||||||
|
border-width: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
.border-4 {
|
.border-4 {
|
||||||
border-width: 4px;
|
border-width: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.border-t-8 {
|
||||||
|
border-top-width: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-l-2 {
|
||||||
|
border-left-width: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-rose-700 {
|
||||||
|
--tw-border-opacity: 1;
|
||||||
|
border-color: rgb(190 18 60 / var(--tw-border-opacity));
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-zinc-400 {
|
||||||
|
--tw-border-opacity: 1;
|
||||||
|
border-color: rgb(161 161 170 / var(--tw-border-opacity));
|
||||||
|
}
|
||||||
|
|
||||||
|
.border-rose-700\/80 {
|
||||||
|
border-color: rgb(190 18 60 / 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
.border-zinc-800 {
|
.border-zinc-800 {
|
||||||
--tw-border-opacity: 1;
|
--tw-border-opacity: 1;
|
||||||
border-color: rgb(39 39 42 / var(--tw-border-opacity));
|
border-color: rgb(39 39 42 / var(--tw-border-opacity));
|
||||||
@@ -707,8 +763,12 @@ video {
|
|||||||
background-color: rgb(39 39 42 / var(--tw-bg-opacity));
|
background-color: rgb(39 39 42 / var(--tw-bg-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-rose-700\/60 {
|
.bg-slate-700\/60 {
|
||||||
background-color: rgb(190 18 60 / 0.6);
|
background-color: rgb(51 65 85 / 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.bg-rose-700\/10 {
|
||||||
|
background-color: rgb(190 18 60 / 0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
.bg-\[url\(\'\.\/src\/img\/andras-vas-Bd7gNnWJBkU-unsplash\.jpg\'\)\] {
|
.bg-\[url\(\'\.\/src\/img\/andras-vas-Bd7gNnWJBkU-unsplash\.jpg\'\)\] {
|
||||||
@@ -765,6 +825,16 @@ video {
|
|||||||
padding-bottom: 3rem;
|
padding-bottom: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.px-2 {
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
padding-right: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.py-1 {
|
||||||
|
padding-top: 0.25rem;
|
||||||
|
padding-bottom: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
.py-3 {
|
.py-3 {
|
||||||
padding-top: 0.75rem;
|
padding-top: 0.75rem;
|
||||||
padding-bottom: 0.75rem;
|
padding-bottom: 0.75rem;
|
||||||
@@ -778,6 +848,14 @@ video {
|
|||||||
padding-bottom: 3rem;
|
padding-bottom: 3rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pr-2 {
|
||||||
|
padding-right: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pl-2 {
|
||||||
|
padding-left: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.text-center {
|
.text-center {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
@@ -816,8 +894,9 @@ video {
|
|||||||
color: rgb(24 24 27 / var(--tw-text-opacity));
|
color: rgb(24 24 27 / var(--tw-text-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.opacity-0 {
|
.text-zinc-500 {
|
||||||
opacity: 0;
|
--tw-text-opacity: 1;
|
||||||
|
color: rgb(113 113 122 / var(--tw-text-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.backdrop-blur-md {
|
.backdrop-blur-md {
|
||||||
@@ -826,20 +905,6 @@ video {
|
|||||||
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
|
||||||
}
|
}
|
||||||
|
|
||||||
.text-shadow {
|
|
||||||
text-shadow: 1px 1px 3px #000000e0;
|
|
||||||
}
|
|
||||||
|
|
||||||
html {
|
|
||||||
scroll-behavior: smooth
|
|
||||||
}
|
|
||||||
|
|
||||||
@media screen and (prefers-reduced-motion: reduce) {
|
|
||||||
html {
|
|
||||||
scroll-behavior: auto;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.hover\:border-rose-700:hover {
|
.hover\:border-rose-700:hover {
|
||||||
--tw-border-opacity: 1;
|
--tw-border-opacity: 1;
|
||||||
border-color: rgb(190 18 60 / var(--tw-border-opacity));
|
border-color: rgb(190 18 60 / var(--tw-border-opacity));
|
||||||
@@ -865,11 +930,20 @@ html {
|
|||||||
color: rgb(244 244 245 / var(--tw-text-opacity));
|
color: rgb(244 244 245 / var(--tw-text-opacity));
|
||||||
}
|
}
|
||||||
|
|
||||||
.hover\:opacity-100:hover {
|
@media (min-width: 768px) {
|
||||||
opacity: 1;
|
.md\:mx-12 {
|
||||||
|
margin-left: 3rem;
|
||||||
|
margin-right: 3rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.md\:mb-24 {
|
||||||
|
margin-bottom: 6rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.md\:ml-4 {
|
||||||
|
margin-left: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 768px) {
|
|
||||||
.md\:mb-12 {
|
.md\:mb-12 {
|
||||||
margin-bottom: 3rem;
|
margin-bottom: 3rem;
|
||||||
}
|
}
|
||||||
@@ -886,14 +960,14 @@ html {
|
|||||||
width: 16rem;
|
width: 16rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.md\:grid-cols-3 {
|
|
||||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
||||||
}
|
|
||||||
|
|
||||||
.md\:rounded-none {
|
.md\:rounded-none {
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.md\:rounded-xl {
|
||||||
|
border-radius: 0.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
.md\:p-24 {
|
.md\:p-24 {
|
||||||
padding: 6rem;
|
padding: 6rem;
|
||||||
}
|
}
|
||||||
@@ -912,6 +986,16 @@ html {
|
|||||||
padding-right: 6rem;
|
padding-right: 6rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.md\:px-4 {
|
||||||
|
padding-left: 1rem;
|
||||||
|
padding-right: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.md\:py-2 {
|
||||||
|
padding-top: 0.5rem;
|
||||||
|
padding-bottom: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.md\:py-12 {
|
.md\:py-12 {
|
||||||
padding-top: 3rem;
|
padding-top: 3rem;
|
||||||
padding-bottom: 3rem;
|
padding-bottom: 3rem;
|
||||||
@@ -925,4 +1009,20 @@ html {
|
|||||||
font-size: 6rem;
|
font-size: 6rem;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.md\:text-lg {
|
||||||
|
font-size: 1.125rem;
|
||||||
|
line-height: 1.75rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.md\:text-xl {
|
||||||
|
font-size: 1.25rem;
|
||||||
|
line-height: 1.75rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 1280px) {
|
||||||
|
.xl\:grid-cols-3 {
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user