Compare commits

...

32 Commits

Author SHA1 Message Date
Klemek 32f9ea74f1 Merge pull request #27 from Klemek/dev
GitBlog v1.2.8
2019-09-19 20:38:38 +02:00
Klemek 9d1fb69fee nvm 2019-09-19 20:37:40 +02:00
Klemek 24a02d862f fml2 2019-09-19 20:30:35 +02:00
Klemek cfe9965d03 fml 2019-09-19 20:28:20 +02:00
Klemek d260b9d2f8 Merge pull request #26 from Klemek/dev
GitBlog v1.2.8
2019-09-19 20:13:36 +02:00
Klemek 9ec55b3c01 dependencies fix ffs 2019-09-19 20:12:49 +02:00
Klemek c693d96339 Merge pull request #25 from Klemek/dev
GitBlog v1.2.8
2019-09-19 20:09:57 +02:00
Klemek 8bb6b6db66 Merge branch 'master' into dev 2019-09-19 20:07:59 +02:00
Klemek 849cdf2a19 dependencies fix FINALLY 2019-09-19 20:05:10 +02:00
Klemek d0d3f94049 wtf2 2019-09-19 20:02:23 +02:00
Klemek 613e663c13 wtf 2019-09-19 20:01:32 +02:00
Klemek bd10871da9 Merge branch 'dev' 2019-09-19 19:52:55 +02:00
Klemek 671a4314d7 Merge branch 'master' into dev 2019-09-19 19:51:04 +02:00
Klemek 1cee7094f3 Delete package-lock.json 2019-09-19 19:47:33 +02:00
Klemek 2284d46bb5 Merge remote-tracking branch 'origin/dev' into dev 2019-09-19 19:46:19 +02:00
Klemek 7245876b07 dependencies fix 2019-09-19 19:46:09 +02:00
Klemek 7a35aec7ad Merge pull request #23 from Klemek/dependabot/npm_and_yarn/mixin-deep-1.3.2
Bump mixin-deep from 1.3.1 to 1.3.2
2019-09-19 19:27:34 +02:00
dependabot[bot] 870701b6c6 Bump mixin-deep from 1.3.1 to 1.3.2
Bumps [mixin-deep](https://github.com/jonschlinkert/mixin-deep) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/jonschlinkert/mixin-deep/releases)
- [Commits](https://github.com/jonschlinkert/mixin-deep/compare/1.3.1...1.3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2019-09-19 17:23:38 +00:00
Klemek 3be86dec58 Merge pull request #22 from Klemek/dev
GitBlog.md v1.2.8
2019-09-19 19:22:16 +02:00
Klemek 48d9535007 Merge branch 'master' into dev 2019-09-19 19:16:59 +02:00
Klemek ae2eb52cf8 [skip CI]updated README.md 2019-09-19 19:16:31 +02:00
Klemek 7e9e1e19fa changed version number 2019-09-19 19:14:16 +02:00
Klemek c9ef93088b express rate limit 2019-09-19 19:13:41 +02:00
Klemek 99e4bb5c4d [skip CI] lgtm config 2019-09-19 19:03:49 +02:00
Klemek dd5af2b865 [skip CI] update README.md 2019-09-19 09:26:17 +02:00
Klemek 4671253147 Merge pull request #21 from Klemek/dev
v1.2.7
2019-08-19 14:34:32 +02:00
Klemek add01b28fe Update package.json 2019-08-19 14:25:01 +02:00
Klemek a27a53e238 faDiagram switch to TOML lang 2019-08-19 14:14:52 +02:00
Klemek 6aff9b4d93 Merge remote-tracking branch 'origin/dev' into dev 2019-08-19 14:14:05 +02:00
Klemek c9f57233a4 faDiagram switch to TOML lang 2019-08-19 14:13:54 +02:00
Klemek 90c343c752 Merge remote-tracking branch 'origin/master' 2019-06-19 18:41:23 +02:00
Klemek ff7542af70 updated uml 2019-06-18 20:14:37 +02:00
11 changed files with 1331 additions and 5179 deletions
+5 -1
View File
@@ -1,5 +1,7 @@
[![Build Status](https://img.shields.io/travis/Klemek/GitBlog.md.svg?branch=master)](https://travis-ci.org/Klemek/GitBlog.md)
[![Coverage Status](https://img.shields.io/coveralls/github/Klemek/GitBlog.md.svg?branch=master)](https://coveralls.io/github/Klemek/GitBlog.md?branch=master)
[![Language grade: JavaScript](https://img.shields.io/lgtm/grade/javascript/g/Klemek/GitBlog.md.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Klemek/GitBlog.md/context:javascript)
[![Total alerts](https://img.shields.io/lgtm/alerts/g/Klemek/GitBlog.md.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/Klemek/GitBlog.md/alerts/)
# GitBlog.md
@@ -245,7 +247,7 @@ Any URL like `/year/month/day/anything/` will redirect to this article (and link
* **PlantUML**
It allows you to add UML diagrams with PlantUML Syntax between `@startuml` and `@enduml` (more info [here](http://www.plantuml.com))
* **fa-diagrams**
It allows you to define SVG diagrams with Font-Awesome icons in YAML between `@startfad` and `@endfad` (more info [here](https://github.com/Klemek/fa-diagrams))
It allows you to define SVG diagrams with Font-Awesome icons in [TOML](https://github.com/toml-lang/toml) between `@startfad` and `@endfad` (more info [here](https://github.com/Klemek/fa-diagrams))
## Configuration
@@ -260,6 +262,8 @@ Any URL like `/year/month/day/anything/` will redirect to this article (and link
the directory where will be located the git repo with templates and articles
* `view_engine` (default: ejs)
the Express view engine used to render pages from templates
* `rate_limit` (default: 100)
number of requests allowed in a time-frame of 15 minutes
* `access_log` (default: access.log)
log file where to save access requests (empty to disable)
* `error_log` (default: error.log)
+7
View File
@@ -0,0 +1,7 @@
path_classifiers:
test:
- test
docs:
- uml
library:
- src/lib
+1267 -5142
View File
File diff suppressed because it is too large Load Diff
+3 -5
View File
@@ -1,15 +1,15 @@
{
"name": "gitblog.md",
"version": "1.2.6",
"version": "1.2.8",
"description": "A static blog using Markdown pulled from your git repository.",
"main": "src/server.js",
"dependencies": {
"@iarna/toml": "^2.2.3",
"body-parser": "^1.19.0",
"crypto": "^1.0.1",
"ejs": "^2.6.2",
"express": "^4.17.1",
"express-rate-limit": "^5.0.0",
"fa-diagrams": "^1.0.3",
"js-yaml": "^3.13.1",
"mathjax-node": "^2.1.1",
"ncp": "^2.0.0",
"node-prismjs": "^0.1.2",
@@ -18,8 +18,6 @@
"showdown": "^1.9.0"
},
"devDependencies": {
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.7.0",
"coveralls": "^3.0.4",
"jest": "^24.8.0",
"superagent": "^5.1.0",
+23 -19
View File
@@ -257,26 +257,30 @@ express -up-> web : 5. html
### Diagrams
[Back to top](#top)
You can use [fa-diagrams](https://github.com/Klemek/fa-diagrams) with `@startfad` and `@endfad` tags and using YAML inside
You can use [fa-diagrams](https://github.com/Klemek/fa-diagrams) with `@startfad` and `@endfad` tags and using [TOML](https://github.com/toml-lang/toml) inside
@startuml
nodes:
- name: node1
icon: laptop-code
color: '#4E342E'
bottom: my app
- name: node2
icon: globe
color: '#455A64'
bottom: world
links:
- from: node1
to: node2
color: '#333333'
top:
icon: envelope
bottom: '"hello"'
@enduml
@startfad
[[nodes]]
name = "node1"
icon = "laptop-code"
color = "#4E342E"
bottom = "my app"
[[nodes]]
name = "node2"
icon = "globe"
color = "#455A64"
bottom = "world"
[[links]]
from = "node1"
to = "node2"
color = "#333333"
bottom = '"hello"'
[links.top]
icon = "envelope"
@endfad
### Youtube Videos
[Back to top](#top)
+8
View File
@@ -3,6 +3,7 @@ const app = express();
const fs = require('fs');
const path = require('path');
const pjson = require('../package.json');
const rateLimit = require('express-rate-limit');
app.enable('trust proxy');
@@ -122,6 +123,13 @@ module.exports = (config) => {
next();
});
//rate limit for safer server
const limiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 minutes
max: config['rate_limit']
});
app.use(limiter);
//log request at result end
app.use((req, res, next) => {
if (config['access_log']) {
+1
View File
@@ -3,6 +3,7 @@
"host": "",
"data_dir": "data",
"view_engine": "ejs",
"rate_limit": 100,
"access_log": "access.log",
"error_log": "error.log",
"modules": {
+3 -3
View File
@@ -150,10 +150,10 @@ module.exports = (config) => {
};
let faDiagrams;
let yaml;
let toml;
if (config['modules']['fa-diagrams']) {
faDiagrams = require('fa-diagrams');
yaml = require('js-yaml');
toml = require('@iarna/toml');
}
const renderFaDiagrams = (data, cb) => {
@@ -167,7 +167,7 @@ module.exports = (config) => {
const code = match[1].trim();
let output;
try {
const diagData = yaml.safeLoad(code);
const diagData = toml.parse(code);
const findLineBreaks = (data) => {
Object.keys(data).forEach(key => {
if (typeof data[key] === 'object')
+11 -8
View File
@@ -241,26 +241,29 @@ describe('Test MathJax', () => {
describe('Test fa-diagrams', () => {
test('no fa-diagrams', (done) => {
config['modules']['fa-diagrams'] = false;
renderer.renderFaDiagrams('@startfad\noptions:\n\trendering:\t\tcolor:red\n\n@endfad', (data) => {
expect(data).toBe('@startfad\noptions:\n\trendering:\t\tcolor:red\n\n@endfad');
renderer.renderFaDiagrams('@startfad\noptions.rendering.color=\'red\'\n@endfad', (data) => {
expect(data).toBe('@startfad\noptions.rendering.color=\'red\'\n@endfad');
done();
});
});
test('no fa-diagrams in code', (done) => {
renderer.renderFaDiagrams('code:\n```\n@startfad\noptions:\n\trendering:\t\tcolor:red\n\n@endfad\n```', (data) => {
expect(data).toBe('code:\n```\n@startfad\noptions:\n\trendering:\t\tcolor:red\n\n@endfad\n```');
renderer.renderFaDiagrams('code:\n```\n@startfad\noptions.rendering.color=\'red\'\n@endfad\n```', (data) => {
expect(data).toBe('code:\n```\n@startfad\noptions.rendering.color=\'red\'\n@endfad\n```');
done();
});
});
test('valid fa-diagrams', (done) => {
renderer.renderFaDiagrams('before\n@startfad\noptions:\n rendering:\n color: red\n@endfad\nafter', (data) => {
renderer.renderFaDiagrams('before\n@startfad\noptions.rendering.color=\'red\'\n@endfad\nafter', (data) => {
expect(data).toBe('before\n<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 0 0" width="0" height="0" font-family="Arial" font-size="15" fill="red" stroke-width="0"></svg>\nafter');
done();
});
});
test('invalid yaml', (done) => {
renderer.renderFaDiagrams('before\n@startfad\noptions:\n@endfad\nafter', (data) => {
expect(data).toBe('before\n<b style="color:red">TypeError: Cannot convert undefined or null to object</b>\nafter');
test('invalid toml', (done) => {
renderer.renderFaDiagrams('before\n@startfad\noptions.rendering.color=red\n@endfad\nafter', (data) => {
expect(data).toBe('before\n<b style="color:red">TomlError: Unexpected character, expecting string, number, datetime, boolean, inline array or inline table at row 1, col 26, pos 25:\n' +
'1> options.rendering.color=red\n' +
' ^\n' +
'\n</b>\nafter');
done();
});
});
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 20 KiB

+2
View File
@@ -10,6 +10,7 @@ node nodejs {
}
package data {
[template.ejs]
package "2019/06/18" {
component index [
index.md
@@ -22,6 +23,7 @@ package data {
web -down-> TCP : 1. /2019/06/18/title
express -down-> index : 2. fetch
index -up-> showdown : 3. markdown
template.ejs -up-> express : 4
showdown -left-> express : 4. html
express -up-> web : 5. html