Initial commit

This commit is contained in:
Klemek
2019-06-18 19:54:58 +02:00
commit db03535ee9
11 changed files with 171 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto
+2
View File
@@ -0,0 +1,2 @@
.idea
node_modules
+73
View File
@@ -0,0 +1,73 @@
# GitBlog.md (WIP)
> This is a work in progress, some information written here might not be true yet.
A static blog using Markdown pulled from your git repository.
## Flow
![root](./uml/root.png)
![article](./uml/article.png)
![webhook](./uml/webhook.png)
![rss](./uml/rss.png)
## Installation
**1. Download the latest version from the repo**
```bash
git clone https://github.com/klemek/gitblog.md.git
```
**2. Create your config file**
```bash
cd gitblog.md
cp config.example.json config.json
```
then edit the config.json file with your values :
> default values for config.json
````json
{
"node_port": 3000,
"data_dir": "data",
"modules" : {
"plantuml" : true,
"rss": true,
"webhook": true
},
"home" : {
"index" : "index.ejs"
},
"article" : {
"index" : "index.md"
},
"rss" : {
"endpoint" : "/rss",
"length" : 10
},
"webhook" : {
"endpoint": "/webhook",
"secret_file": "git_secret"
}
}
````
**3. Create and init your git source**
You need to [create a new repository](https://github.com/new) on your favorite Git service.
```bash
#gitblog.md/
cd data
git remote add origin <url_of_your_repo.git>
git push -u origin master
```
**4. Refresh content with a webhook (optional)**
At first start, a `git_secret` file will be generated, use it to create a new webhook as following :
* Payload URL : `https://<url_of_your_server>/webhook`
* Content type : `application/json`
* Secret : `<content of the git_secret file>`
* Events : Just the push event
On GitHub, webhooks can be created in the `Settings/Webhooks` part of the repository.
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

+28
View File
@@ -0,0 +1,28 @@
@startuml
title Article
cloud web
node nodejs {
TCP -right- [express]
[showdown]
}
package data {
package "2019/06/18" {
component index [
index.md
image.png
...
]
}
}
web -down-> TCP : 1. /2019/06/18/title
express -down-> index : 2. fetch
index -up-> showdown : 3. markdown
showdown -left-> express : 4. html
express -up-> web : 5. html
@enduml
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

+27
View File
@@ -0,0 +1,27 @@
@startuml
title Homepage
cloud web
node nodejs {
TCP -right- [express]
}
package data {
component index [
index.ejs
style.css
...
]
}
database list
web -down-> TCP : 1. root
express -down-> index : 2
index --> express : 3
list -left-> express : 3
express -up-> web : 4. html
@enduml
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+17
View File
@@ -0,0 +1,17 @@
@startuml
title RSS feed
cloud web
node nodejs {
TCP -right- [express]
}
database list
web -down-> TCP : 1. /rss
list -left-> express : 2.
express -up-> web : 3. xml
@enduml
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

+22
View File
@@ -0,0 +1,22 @@
@startuml
title Refresh content
cloud web
node nodejs {
TCP -right- [express]
}
package data {
}
database list
web -down-> TCP : 1. /webhook
express -down-> data : 2. git pull
data -up-> express : 3. files data
express -right-> list : 4. writes
@enduml