Added docs.
This commit is contained in:
parent
2fd774ff3b
commit
40ec509d6c
100
README.md
100
README.md
|
@ -1,2 +1,100 @@
|
||||||
# qwik-cms
|
# qwik cms
|
||||||
|
|
||||||
|
This is a **really** basic CMS. But it will get the job done. It basically operates really simple.
|
||||||
|
It checks what path a client is trying to access and checks if there is a corresponding file for
|
||||||
|
that. After that it renders the file if it exists (if not it sends a 404 error).
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
### Requirements:
|
||||||
|
|
||||||
|
* node
|
||||||
|
* npm
|
||||||
|
|
||||||
|
### Instructions:
|
||||||
|
```bash
|
||||||
|
git clone https://git.qwik.space/BurnyLlama/qwik-cms
|
||||||
|
cd qwik-cms
|
||||||
|
npm i
|
||||||
|
node index.js
|
||||||
|
```
|
||||||
|
|
||||||
|
### Extra info
|
||||||
|
|
||||||
|
Even tho it can be annoying, I would recommend looking through what code this will run on your
|
||||||
|
PC/server. Otherwise you would have to take my word for it, which could be a bad idea. (Although
|
||||||
|
I can *promise* you that there is no malicious code or dependency in this project AFAIK.)
|
||||||
|
|
||||||
|
The project depends on the following packages (installed when you ran `npm i`):
|
||||||
|
* express (a web server framework)
|
||||||
|
* nunjucks (a templating engine)
|
||||||
|
* fs (used for filesystem operations)
|
||||||
|
|
||||||
|
### Maintenence
|
||||||
|
|
||||||
|
I recommend forking (or just cloning) this repository if you want a long-term solution for stuff like
|
||||||
|
multiple people working on the site.
|
||||||
|
|
||||||
|
## How do I create pages?
|
||||||
|
|
||||||
|
Let's say you want a page on the path `/foo`, then you can create the corresponding file in two places:
|
||||||
|
* `{contentDir}/pages/foo.njk`
|
||||||
|
* `{contentDir}/pages/foo/index.njk`
|
||||||
|
|
||||||
|
`/foo/bar` would be in either of:
|
||||||
|
* `{contentDir}/pages/foo/bar.njk`
|
||||||
|
* `{contentDir}/pages/foo/bar/index.njk`
|
||||||
|
|
||||||
|
|
||||||
|
If both files exist the first one specified is rendered. `{contentDir}` is configured in `config.json` and its default is `content/`.
|
||||||
|
|
||||||
|
The documents are written in the [nunjucks](https://mozilla.github.io/nunjucks/) templating language
|
||||||
|
which means you can use imports/includes/etc for code reusability.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
The default configuration looks like this:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"contentDir": "content",
|
||||||
|
"assetsDir": "assets",
|
||||||
|
|
||||||
|
"serverPort": "8789",
|
||||||
|
"serverName": "qwik"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
The file is called `config.json`.
|
||||||
|
|
||||||
|
### Descriptions
|
||||||
|
|
||||||
|
#### contentDir
|
||||||
|
Specifies which directory the content is in.
|
||||||
|
|
||||||
|
Default: `content`
|
||||||
|
|
||||||
|
#### assetsDir
|
||||||
|
Specifies which directory the assets are in. These items will be statically available on (your site's)
|
||||||
|
`/assets/`. I recommend storing CSS, images, etc. here.
|
||||||
|
|
||||||
|
Default: `assets`
|
||||||
|
|
||||||
|
#### serverPort
|
||||||
|
The port the server should run on.
|
||||||
|
|
||||||
|
Default: `8789`
|
||||||
|
|
||||||
|
#### serverName
|
||||||
|
This can be accessed in any page/template by using `{{ serverName }}`
|
||||||
|
|
||||||
|
Default: `qwik`
|
||||||
|
|
||||||
|
## Future features
|
||||||
|
I have some ideas on things that would be good to implement, one of which is plugins/extensions that
|
||||||
|
can provide extra functionality.
|
||||||
|
|
||||||
|
As an example, it would be cool to be able to implement sidebars that
|
||||||
|
contains all pages (if you're making a blog or wiki/documentation).
|
||||||
|
|
||||||
|
It would also be nice to have a plugin that could auto update (and restart) the server if you make
|
||||||
|
changes to a git repository. (You could do this with cronjobs in theory, but this *should* be the
|
||||||
|
server's responsibility.)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "qwik-cms",
|
"name": "qwik-cms",
|
||||||
"version": "0.0.1",
|
"version": "1.0.0",
|
||||||
"description": "A dead simple CMS. No bullshit.",
|
"description": "A dead simple CMS. No bullshit.",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user