blob: c74d4adf5b0afcede25263840fdd0929bdb37c35 (
plain)
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
|
# Installation
**Arch**
Install dependencies
```bash
pacman -S npm nodejs
```
**Debian/Ubuntu**
```bash
apt install npm nodejs
```
Download
```bash
git clone https://git.fatalmatrix.xyz/cosmic.git
```
Install node modules
```bash
npm i
```
Install `npm-check-updates` Optional
```bash
npm install -g npm-check-updates
ncu -u
npm i
```
Run `ncu -u` to update modules
# Usage
**Create `.env` file**
```.env
baseUrl = "http://127.0.0.1:3000/"
emailUsername = "email@email.com"
emailPassword = "password"
NODE_ENV = "dev"
MYSQL_HOST = "127.0.0.1"
MYSQL_USER = "root"
MYSQL_PASSWORD = "Password"
```
On `NODE_ENV` change `dev` to `prod`
**Pages**
Add pages in the `scripts` folder
```js
class Shop() {
constructor() {}
// GET `/shop`
Main() {
const data = {
start: ``,
body: ``,
end: ``
}
return data.start + data.body + data.end
}
// GET `/shop/product` or POST `/shop/product` and get output from `value`
Product(value) {
const data = {
start: ``,
body: ``,
end: ``
}
return data.start + data.body + data.end
}
// Required
module.exports = () => {return new Shop()}
}
```
**Layouts**
Layouts are located in `views/layouts`
**Blog**
Blogs must be in markdown format in the `blog` folder
To get the title, date and short description to display you must use the format below
```markdown
# Title
Date: 1/1/1999
---
Short description
---
Content goes here
```
Place markdown file in `blog` folder
If `blog` folder does not exist
```bash
mkdir blog
```
To get blog output
```js
const blog = require('../source/blog')
blog().ReadBlogs().then(output => {
output.forEach((value, key) => {
console.log(`key: ${key}`)
console.log(value)
})
})
```
|