summaryrefslogtreecommitdiff
path: root/README.md
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)
    })
})
```