diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 4d81694..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,19 +0,0 @@
-Copyright © 2021 Garrett Mills
-
-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.
diff --git a/README.md b/README.md
index 5da2f2f..09e595c 100644
--- a/README.md
+++ b/README.md
@@ -1,31 +1,9 @@
-
-
-
-
-extollo - (v. latin) - to lift up, to elevate
-
-Extollo is a free & libre application framework in TypeScript.
-
-
+# `garrettmills.dev`
-Built on principles of modularity, strict-typing, inversion-of-control, and developer ergonomics, Extollo enables developers to build maintainable, scalable, and expressive applications.
+This is my website, hosted at https://garrettmills.dev.
-Node.js provides an excellent platform for quickly getting an application up and running, but this loose minimalism can lead to larger, more unweildy code-bases as your application grows. Extollo fixes this by providing an opinionated, robust framework and first-party modules that provide, among other things:
+It is implemented with my [Extollo framework](https://extollo.garrettmills.dev).
-- Type-based dependency injection
-- Strongly-typed ORM with an expressive query-builder and models
-- Customizable session & caching interfaces
-- Modular, pre-compiled, nest-able routes
-- First-party, extensible command line tools
-- Unit-based application structure
+![](https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png)
-## Getting Started
-Writing an application with Extollo is very straightforward if you are familiar with Node.js/TypeScript, or similar frameworks like Laravel.
-
-Check out the [Getting Started](https://extollo.garrettmills.dev/pages/Documentation/Getting-Started.html) page on the documentation site for more information.
-
-## License & Philosophy
-The Extollo project is, and will always be, free & libre software. The framework itself is open-source available [here](https://code.garrettmills.dev/Extollo), and is licensed under the terms of the MIT license. See the LICENSE file for more information.
-
-## Contributing
-Have an improvement or fix to Extollo? Contributors are always welcome. See the CONTRIBUTING.md file for next steps.
+This work is licensed under a [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License](https://creativecommons.org/licenses/by-nc-sa/4.0/).
diff --git a/example.env b/example.env
deleted file mode 100644
index 1b6e92a..0000000
--- a/example.env
+++ /dev/null
@@ -1,4 +0,0 @@
-DEBUG_MODE=true
-EXTOLLO_LOGGING_LEVEL=6
-DATABASE_PASSWORD=extollo
-DATABASE_HOST=db01.platform.local
diff --git a/src/app/configs/database.config.ts b/src/app/configs/database.config.ts
index e8873e2..5d22477 100644
--- a/src/app/configs/database.config.ts
+++ b/src/app/configs/database.config.ts
@@ -1,4 +1,4 @@
-import { env } from "@extollo/lib";
+import { env } from '@extollo/lib'
export default {
connections: {
diff --git a/src/app/configs/oauth2.config.ts b/src/app/configs/oauth2.config.ts
index 27ff1f9..dec97e0 100644
--- a/src/app/configs/oauth2.config.ts
+++ b/src/app/configs/oauth2.config.ts
@@ -1,4 +1,4 @@
-import {OAuth2Client, OAuth2Scope, env, /*uuid4*/} from '@extollo/lib'
+import {OAuth2Client, OAuth2Scope, env} from '@extollo/lib'
export default {
secret: env('OAUTH2_SECRET'),
@@ -9,16 +9,5 @@ export default {
description: 'access basic information about your account',
},
} as {[key: string]: OAuth2Scope},
- clients: {
- // 'test-1': {
- // id: 'test-1',
- // display: 'Test 1',
- // secret: env('TEST_CLIENT_SECRET', uuid4()),
- // allowedFlows: ['code'],
- // allowedScopeIds: ['user-info'],
- // allowedRedirectUris: [
- // 'http://localhost:1234/callback',
- // ],
- // },
- } as {[key: string]: OAuth2Client},
+ clients: {} as {[key: string]: OAuth2Client},
}
diff --git a/src/app/configs/server.config.ts b/src/app/configs/server.config.ts
index 4514cc8..14a8730 100644
--- a/src/app/configs/server.config.ts
+++ b/src/app/configs/server.config.ts
@@ -7,7 +7,7 @@ import {
RedisCache,
CacheQueue,
BusConnectorConfig, QueueConfig, SyncQueue
-} from "@extollo/lib"
+} from '@extollo/lib'
export default {
debug: env('DEBUG_MODE', false),
diff --git a/src/app/http/controllers/Home.controller.ts b/src/app/http/controllers/Home.controller.ts
index 30355ad..3ce1e24 100644
--- a/src/app/http/controllers/Home.controller.ts
+++ b/src/app/http/controllers/Home.controller.ts
@@ -1,4 +1,4 @@
-import {Controller, view, Injectable, SecurityContext, Inject, Collection, Config, Routing} from '@extollo/lib'
+import {Controller, view, Injectable, SecurityContext, Inject, Collection, Config, Routing, file, Application} from '@extollo/lib'
import {WorkItem} from '../../models/WorkItem.model'
import {FeedPost} from '../../models/FeedPost.model'
@@ -75,4 +75,11 @@ export class Home extends Controller {
return query.get().collect()
}
+
+ favicon() {
+ return file(
+ Application.getApplication()
+ .appPath('resources', 'assets', 'favicon', 'favicon.ico')
+ )
+ }
}
diff --git a/src/app/http/routes/app.routes.ts b/src/app/http/routes/app.routes.ts
index cdb5c67..740c8e2 100644
--- a/src/app/http/routes/app.routes.ts
+++ b/src/app/http/routes/app.routes.ts
@@ -36,12 +36,9 @@ Route
Route.any('/go/:short')
.calls(GoLinks, go => go.launch)
+
+ Route.get('/favicon.ico')
+ .calls(Home, home => home.favicon)
})
.pre(SessionAuthMiddleware)
.pre(PageView)
-
-// Route.group('', () => {
-// Route.get('/dash')
-// .pre(AuthRequiredMiddleware)
-// .calls(Home, home => home.welcome)
-// }).pre(SessionAuthMiddleware)
diff --git a/src/app/jobs/LogMessage.job.ts b/src/app/jobs/LogMessage.job.ts
deleted file mode 100644
index 87b09cd..0000000
--- a/src/app/jobs/LogMessage.job.ts
+++ /dev/null
@@ -1,15 +0,0 @@
-import {Inject, Injectable, Logging, BaseJob} from '@extollo/lib'
-
-@Injectable()
-export default class LogMessage extends BaseJob {
- @Inject()
- protected readonly logging!: Logging
-
- async execute(): Promise {
- this.logging.info('Executing LogMessage...')
- await new Promise(res => {
- setTimeout(() => res(), 3000)
- })
- this.logging.success('The LogMessage job has executed!')
- }
-}
diff --git a/src/app/resources/assets/cc-by-nc-sa-small.png b/src/app/resources/assets/cc-by-nc-sa-small.png
new file mode 100644
index 0000000..4a00d04
Binary files /dev/null and b/src/app/resources/assets/cc-by-nc-sa-small.png differ
diff --git a/src/app/resources/assets/cc-by-nc-sa.png b/src/app/resources/assets/cc-by-nc-sa.png
new file mode 100644
index 0000000..4acf8c4
Binary files /dev/null and b/src/app/resources/assets/cc-by-nc-sa.png differ
diff --git a/src/app/resources/assets/favicon/android-chrome-192x192.png b/src/app/resources/assets/favicon/android-chrome-192x192.png
new file mode 100644
index 0000000..5c9a669
Binary files /dev/null and b/src/app/resources/assets/favicon/android-chrome-192x192.png differ
diff --git a/src/app/resources/assets/favicon/android-chrome-512x512.png b/src/app/resources/assets/favicon/android-chrome-512x512.png
new file mode 100644
index 0000000..5aada76
Binary files /dev/null and b/src/app/resources/assets/favicon/android-chrome-512x512.png differ
diff --git a/src/app/resources/assets/favicon/apple-touch-icon.png b/src/app/resources/assets/favicon/apple-touch-icon.png
new file mode 100644
index 0000000..70dd66b
Binary files /dev/null and b/src/app/resources/assets/favicon/apple-touch-icon.png differ
diff --git a/src/app/resources/assets/favicon/favicon-16x16.png b/src/app/resources/assets/favicon/favicon-16x16.png
new file mode 100644
index 0000000..ded1689
Binary files /dev/null and b/src/app/resources/assets/favicon/favicon-16x16.png differ
diff --git a/src/app/resources/assets/favicon/favicon-32x32.png b/src/app/resources/assets/favicon/favicon-32x32.png
new file mode 100644
index 0000000..d636c54
Binary files /dev/null and b/src/app/resources/assets/favicon/favicon-32x32.png differ
diff --git a/src/app/resources/assets/favicon/favicon.ico b/src/app/resources/assets/favicon/favicon.ico
new file mode 100644
index 0000000..f1847db
Binary files /dev/null and b/src/app/resources/assets/favicon/favicon.ico differ
diff --git a/src/app/resources/assets/favicon/site.webmanifest b/src/app/resources/assets/favicon/site.webmanifest
new file mode 100644
index 0000000..ac17b1d
--- /dev/null
+++ b/src/app/resources/assets/favicon/site.webmanifest
@@ -0,0 +1 @@
+{"name":"Garrett Mills | Developer, Speaker, Designer","short_name":"Garrett Mills","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
diff --git a/src/app/resources/assets/img/favicon.png b/src/app/resources/assets/img/favicon.png
new file mode 100644
index 0000000..3705a4c
Binary files /dev/null and b/src/app/resources/assets/img/favicon.png differ
diff --git a/src/app/resources/views/template_raj.pug b/src/app/resources/views/template_raj.pug
index 13e1463..e92e0d3 100644
--- a/src/app/resources/views/template_raj.pug
+++ b/src/app/resources/views/template_raj.pug
@@ -19,15 +19,24 @@ head
link(rel="alternate" href="/feed/atom.xml" title="Garrett Mills - Posts & Updates" type="application/atom+xml")
link(rel="alternate" href="/feed/rss.xml" title="Garrett Mills - Posts & Updates" type="application/rss+xml")
+ link(rel='apple-touch-icon' sizes='180x180' href=asset('favicon/apple-touch-icon.png'))
+ link(rel='manifest' href=asset('favicon/site.webmanifest'))
+ link(rel='icon' type='image/png' sizes='32x32' href=asset('favicon/favicon-32x32.png'))
+ link(rel='icon' type='image/png' sizes='16x16' href=asset('favicon/favicon-16x16.png'))
+ link(rel='shortcut icon' href=asset('favicon/favicon.ico'))
+
body
block content
footer
.ff-tag(style="margin-right: 80px")
a(href="https://www.mozilla.org/en-US/firefox/browsers/" target="_blank")
- img(src="/assets/ffox.png" width="75" style="margin-top: -1px")
+ img(src=asset('ffox.png') width="75" style="margin-top: -1px")
.by-line garrettmills
.copy#tagline(title="my, aren't you curious...") copyright © #{(new Date()).getFullYear()} garrett mills
+ .copyright
+ a(href='https://creativecommons.org/licenses/by-nc-sa/4.0/' target='_blank')
+ img(src=asset('cc-by-nc-sa-small.png') title='This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License')
if false
div.auth-container
div.profile
diff --git a/CONTRIBUTING.md b/src/app/types/.gitkeep
similarity index 100%
rename from CONTRIBUTING.md
rename to src/app/types/.gitkeep
diff --git a/src/app/types/UserLogin.ts b/src/app/types/UserLogin.ts
deleted file mode 100644
index 6a69c8a..0000000
--- a/src/app/types/UserLogin.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-
-export interface UserLogin {
- /**
- * @minLength 1
- * @maxLength 100
- */
- username: string,
-
- /**
- * @minLength 1
- * @maxLength 100
- */
- password: string,
-}