Initial commit
This commit is contained in:
@@ -0,0 +1,2 @@
|
|||||||
|
# Auto detect text files and perform LF normalization
|
||||||
|
* text=auto
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
.idea
|
||||||
|
node_modules
|
||||||
@@ -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
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
## 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.
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 19 KiB |
@@ -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
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
@@ -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
Binary file not shown.
|
After Width: | Height: | Size: 10 KiB |
+17
@@ -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
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
@@ -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
|
||||||
Reference in New Issue
Block a user