-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathOday.yaml
184 lines (170 loc) · 9.81 KB
/
Oday.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
####################################################################################
# Integration and Functionality Configurations
####################################################################################
Resources:
Bootstrap:
enabled: true
css: <link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">
js: <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>
Sherlock:
enabled: true
path: ./utilities/Sherlock.js
####################################################################################
# Bootstrap Classes
####################################################################################
container: container
containerCover: container-cover
containerFluid: container-fluid
jcs: justify-content-start
jcc: justify-content-center
jce: justify-content-end
hide: d-none
show: d-block
row: row
collapseSection: collapse-section
collapse: collapse
card: card
primaryButton: btn btn-primary
secondaryButton: btn btn-secondary
successButton: btn btn-success
dangerButton: btn btn-danger
warningButton: btn btn-warning
infoButton: btn btn-info
lightButton: btn btn-light
darkButton: btn btn-dark
linkButton: btn btn-link
emptyClass: empty-class-list
active: active
####################################################################################
# Main Layout Data
####################################################################################
Layout:
lang: en
id: oday
title: Oday
Body:
id: oday
classes: d-flex text-center bg-secondary p-3 mx-auto flex-column
Head:
id: oday-head
Meta:
Viewport:
name: viewport
content: width=device-width, initial-scale=1.0
Description:
name: description
content: Oday is a Deno web framework
Logo:
href: /oday-logo-outline-cutout.png
classes: mt-5 mb-2 mx-auto w-25
alt: logo-image
Footer:
id: oday-footer
classes: text-center
content:
primary: Created and Maintained by <a href="https://twitter.com/RedVanJosh">@RedVanJosh</a>
secondary: Powered by <a href="https://deno.land/">Deno</a> & <a href="https://deno.com/deploy">Deno Deploy</a>.
tertiary: Copyright (c) 2022 Red Van Josh.
####################################################################################
# Page Specific Data
####################################################################################
Home:
id: oday-home
classes:
Main:
classes: px-4 mx-auto w-75
id: oday-home-main
content:
primary: This project started as a way to learn about this new technology I had heard about, called Deno.
From there, my fascination with the runtime grew into a drive to create and see what was possible using Deno as my base runtime. After a couple weeks of using it,
I found that I had created an effective architecture for developing and deploying a viable static site using nothing but Deno, Deno Deploy, and Bootstrap.
Bootstrap is a simple link included via the Bootstrap cached package on jsDelivr. If you don't want to use Bootstrap, the link can simply be removed from the Html due to how Deno handles modules and dependencies in deno. So these could be replaced or removed entirely depending on your needs.
From there, I decided to pare back what I had written for my own site into a static package allowing anyone to spin up a global website or app in about half an hour using Deno. I hope you enjoy the project. It does not claim to be anything more than a passion project. Check me out on GitHub or Twitter for more information.
Header:
classes: mb-auto text-center
content:
primary: Small Fast Measured
secondary: Curious you should be
Button:
classes: btn btn-primary border-dark
content:
primary: Click me to learn the story of Oday!
About:
id: oday-about
classes:
Main:
id: oday-home-main
classes: test
content:
primary: Oday is a small, fast JS framework built on Deno. It quickly allows you to deploy an extremely performant website using Deno and Deno deploy.
It uses Bootstrap 5 as a toolkit for creating templates and consistent experiences using class-based styling.
Once you use the template, you are free to use whatever modules can be included in Deno proper and some cross Deno/Browser modules.
Currently, Bootstrap is the only dependency in the project. Because of the nature of Deno's dependency management, simply removing the Bootstrap inclusion is all that is required to remove this dependency.
Due to the nature of Oday, you could just remove that entry in the Oday.YAML data modal or toggle Resource enable flag. More on this later.
secondary: This has been in development for all of 2-3 weeks, I plan to use it to build out some of my own personal projects. That said if you have an interest
and want to fork this template and try it out you'll find all the info you need in the Oday GitHub repository.
tertiary: <a href="https://github.com/RedVanJosh/Oday">Oday GitHub</a>
Outro:
classes: text-center
content:
primary: Who is Red Van Josh?
secondary: I am a full stack software engineer and JavaScript lover. I currently spend my days writing code and
collaborating with all the amazing folks at The Red Van Workshop. I am happy to talk code, star wars or movies.
I look to learn something new everyday and I aim to make people laugh. If you interested in me
or my projects feel free to follow me on Twitter or GitHub.
DenoInfo:
id: oday-deno-info
classes:
Main:
classes: px-4 mx-auto w-75
id: oday-deno-info-main
content:
primary: Deno is a modern runtime built to run JavaScript and Typescript, it was developed to mirror many of the browser concepts.
this creates a sense or parity between browser and server-side development. It has a focus on performance and security,
Deno limits the access your code has to core systems unless permission is given otherwise. This protects systems that have no need to be exposed for the current project.
For example Deno is not allowed to access the filesystem (reading or writing files) unless the permissions is explicitly given.
secondary: The second piece that drives Deno even further forward is in my mind. Is Deno Deploy, Deno Deploy is a modern scaling JavaScript runtime developed for Deno. It allows you to deploy your Deno applications to the edge of the web
globally using only a GitHub repository with your Deno project and one page of simple configuration in your Deno Deploy dashboard. Ok, so that sounds pretty cool; how much does it cost?
So here is the craziest part it's free! While there is a pro account which I happily pay for, the free version has more than enough bang to run an excellent production-level application.
Header:
classes:
id:
content:
primary: What is Deno and Deno Deploy?
####################################################################################
# Partial Specific Data
####################################################################################
Navigation:
Header:
id: oday-nav
classes: my-3 nav nav-masthead justify-content-center
content:
Home:
classes: nav-link
content:
primary: Home
href: /
DenoInfo:
classes: nav-link
content:
primary: Deno Info
href: /denoInfo
About:
classes: nav-link
content:
primary: About
href: /about
InfoTable:
id: oday-info-table
classes:
Main:
classes: px-4 mx-auto w-75
id: oday-info-table-main
content:
primary: Deno is a modern runtime built to run JavaScript and Typescript, it was developed to mirror many of the browser concepts.
this creates a sense or parity between browser and server-side development. It has a focus on performance and security,
Deno limits the access your code has to core systems unless permission is given otherwise. This protects systems that have no need to be exposed for the current project.
For example Deno is not allowed to access the filesystem (reading or writing files) unless the permissions is explicitly given.
secondary: The second piece that drives Deno even further forward is in my mind. Is Deno Deploy, Deno Deploy is a modern scaling JavaScript runtime developed for Deno. It allows you to deploy your Deno applications to the edge of the web
globally using only a GitHub repository with your Deno project and one page of simple configuration in your Deno Deploy dashboard. Ok, so that sounds pretty cool; how much does it cost?
So here is the craziest part it's free! While there is a pro account which I happily pay for, the free version has more than enough bang to run an excellent production-level application.