web-documentation 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/deploy.js +71 -0
- package/package.json +336 -0
- package/readme.md +37 -0
- package/source/deploy.ts +721 -0
- package/source/dummyDistributionBundle.zip +0 -0
- package/source/dummyReadme.md +266 -0
- package/source/image/arrowDown.png +0 -0
- package/source/image/blacktocat.png +0 -0
- package/source/image/favicon.png +0 -0
- package/source/image/folderBlue.png +0 -0
- package/source/image/folderGray.png +0 -0
- package/source/index.css +492 -0
- package/source/index.html.ejs +303 -0
- package/source/index.ts +431 -0
- package/source/renderMarkdown.mjs +31 -0
- package/source/test.ts +35 -0
- package/source/type.ts +39 -0
package/package.json
ADDED
|
@@ -0,0 +1,336 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "web-documentation",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Declarative multilanguage documentation website generator",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"documentation",
|
|
7
|
+
"website",
|
|
8
|
+
"homepage",
|
|
9
|
+
"page",
|
|
10
|
+
"project"
|
|
11
|
+
],
|
|
12
|
+
"bugs": {
|
|
13
|
+
"email": "info@torben.website",
|
|
14
|
+
"url": "https://github.com/thaibault/wbe-documentation/issues"
|
|
15
|
+
},
|
|
16
|
+
"license": "CC-BY-3.0",
|
|
17
|
+
"author": {
|
|
18
|
+
"name": "Torben Sickert",
|
|
19
|
+
"email": "info@torben.website",
|
|
20
|
+
"url": "https://torben.website"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"build/deploy.js",
|
|
24
|
+
"build/deploy.d.ts",
|
|
25
|
+
"source"
|
|
26
|
+
],
|
|
27
|
+
"main": "source/index.html.ejs",
|
|
28
|
+
"bin": "build/deploy.js",
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://github.com/thaibault/web-documentation"
|
|
32
|
+
},
|
|
33
|
+
"scripts": {
|
|
34
|
+
"build": "yarn build:web; yarn build:deploy",
|
|
35
|
+
"build:deploy": "weboptimizer build '{__reference__: \"target:deploy\"}'",
|
|
36
|
+
"build:web": "weboptimizer build",
|
|
37
|
+
"build:stats": "weboptimizer build --profile --json /tmp/stats.json | sed --regexp-extended 's/^Running \".+$//' | sed --regexp-extended 's/^Consolidate module request \".+$//' >/tmp/stats.json && echo 'Results successfully written to \"/tmp/stats.json\".'",
|
|
38
|
+
"check": "yarn check:types; yarn lint",
|
|
39
|
+
"check:types": "weboptimizer check:types",
|
|
40
|
+
"clear": "weboptimizer clear",
|
|
41
|
+
"document": "weboptimizer document",
|
|
42
|
+
"lint": "weboptimizer lint",
|
|
43
|
+
"prepareBACKUP": "yarn build",
|
|
44
|
+
"serve": "weboptimizer serve",
|
|
45
|
+
"start": "yarn serve",
|
|
46
|
+
"test": "yarn clear && weboptimizer test",
|
|
47
|
+
"test:browser": "yarn clear && weboptimizer test:browser",
|
|
48
|
+
"test:coverage": "yarn clear && weboptimizer test:coverage",
|
|
49
|
+
"test:coverage:report": "yarn clear && weboptimizer test:coverage:report",
|
|
50
|
+
"watch": "weboptimizer build --watch"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"@aws-sdk/client-s3": "^3.1033.0",
|
|
54
|
+
"@babel/eslint-parser": "^7.28.6",
|
|
55
|
+
"@babel/runtime": "^7.29.2",
|
|
56
|
+
"@eslint/js": "^10.0.1",
|
|
57
|
+
"@stylistic/eslint-plugin": "^5.10.0",
|
|
58
|
+
"@types/archiver": "^7.0.0",
|
|
59
|
+
"@types/ejs": "^3.1.5",
|
|
60
|
+
"@types/html-minifier": "^4.0.6",
|
|
61
|
+
"@types/jsdom": "^28.0.1",
|
|
62
|
+
"@types/marked": "^6.0.0",
|
|
63
|
+
"@types/node": "^25.6.0",
|
|
64
|
+
"@types/unzipper": "^0.10.11",
|
|
65
|
+
"@types/webpack-env": "^1.18.8",
|
|
66
|
+
"@typescript-eslint/eslint-plugin": "^8.59.0",
|
|
67
|
+
"@typescript-eslint/parser": "^8.59.0",
|
|
68
|
+
"@webcomponents/webcomponentsjs": "^2.8.0",
|
|
69
|
+
"archiver": "^7.0.1",
|
|
70
|
+
"clientnode": "^4.0.1387",
|
|
71
|
+
"css-loader": "^7.1.4",
|
|
72
|
+
"cssnano": "^7.1.7",
|
|
73
|
+
"default-gateway": "^7.2.2",
|
|
74
|
+
"errorreporter": "^1.0.338",
|
|
75
|
+
"eslint": "^10.2.1",
|
|
76
|
+
"eslint-config-google": "^0.14.0",
|
|
77
|
+
"eslint-plugin-jsdoc": "^62.9.0",
|
|
78
|
+
"favicons": "^7.2.0",
|
|
79
|
+
"favicons-webpack-plugin": "^6.0.1",
|
|
80
|
+
"highlight.js": "^11.11.1",
|
|
81
|
+
"jest": "^30.3.0",
|
|
82
|
+
"jsdoc": "^4.0.5",
|
|
83
|
+
"legal-notes": "^1.0.28",
|
|
84
|
+
"marked": "^18.0.2",
|
|
85
|
+
"marked-gfm-heading-id": "^4.1.4",
|
|
86
|
+
"marked-highlight": "^2.2.4",
|
|
87
|
+
"marked-xhtml": "^1.0.15",
|
|
88
|
+
"mini-css-extract-plugin": "^2.10.2",
|
|
89
|
+
"postcss": "^8.5.10",
|
|
90
|
+
"postcss-fontpath": "^1.0.0",
|
|
91
|
+
"postcss-import": "^16.1.1",
|
|
92
|
+
"postcss-loader": "^8.2.1",
|
|
93
|
+
"postcss-mixins": "^12.1.2",
|
|
94
|
+
"postcss-nested": "^7.0.2",
|
|
95
|
+
"postcss-preset-env": "^11.2.1",
|
|
96
|
+
"postcss-scss": "^4.0.9",
|
|
97
|
+
"postcss-sprites": "^4.2.1",
|
|
98
|
+
"postcss-url": "^10.1.3",
|
|
99
|
+
"prop-types": "^15.8.1",
|
|
100
|
+
"style-loader": "^4.0.0",
|
|
101
|
+
"stylelint": "^17.8.0",
|
|
102
|
+
"stylelint-config-standard": "^40.0.0",
|
|
103
|
+
"typescript-eslint": "^8.59.0",
|
|
104
|
+
"ua-parser-js": "^2.0.9",
|
|
105
|
+
"unzipper": "^0.12.3",
|
|
106
|
+
"web-component-wrapper": "^0.0.561",
|
|
107
|
+
"web-internationalization": "^2.0.7",
|
|
108
|
+
"weboptimizer": "^3.0.21",
|
|
109
|
+
"webpack-dev-server": "^5.2.3",
|
|
110
|
+
"website-utilities": "^1.0.385"
|
|
111
|
+
},
|
|
112
|
+
"engines": {
|
|
113
|
+
"node": ">=24",
|
|
114
|
+
"npm": ">=11",
|
|
115
|
+
"yarn": ">=4"
|
|
116
|
+
},
|
|
117
|
+
"resolutions": {
|
|
118
|
+
"colors": "1.4.0",
|
|
119
|
+
"globals@npm:^14.0.0": "patch:globals@npm%3A11.12.0#~/.yarn/patches/globals-npm-11.12.0-1fa7f41a6c.patch",
|
|
120
|
+
"globals@npm:^11.1.0": "patch:globals@npm%3A11.12.0#~/.yarn/patches/globals-npm-11.12.0-1fa7f41a6c.patch",
|
|
121
|
+
"globals@npm:^9.18.0": "patch:globals@npm%3A11.12.0#~/.yarn/patches/globals-npm-11.12.0-1fa7f41a6c.patch"
|
|
122
|
+
},
|
|
123
|
+
"sideEffects": true,
|
|
124
|
+
"webOptimizer": {
|
|
125
|
+
"build": {
|
|
126
|
+
"definitions": {
|
|
127
|
+
"TRACKING_CODE": {
|
|
128
|
+
"__evaluate__": "`'${self.module.preprocessor.html.options.locals.TRACKING_CODE}'`"
|
|
129
|
+
},
|
|
130
|
+
"LANGUAGES": {
|
|
131
|
+
"__evaluate__": "`['${self.module.preprocessor.html.options.locals.LANGUAGES.join(\"', '\")}']`"
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"commandLine": {
|
|
136
|
+
"test": {
|
|
137
|
+
"environments": [
|
|
138
|
+
"jsdom"
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
"injection": {
|
|
143
|
+
"chunks": false,
|
|
144
|
+
"entry": {
|
|
145
|
+
"#": "errorreporter\": [\"ua-parser-js\", \"errorreporter\"]",
|
|
146
|
+
"__evaluate__": "2 < self.givenCommandLineArguments.length && self.givenCommandLineArguments[2].startsWith('test') ? {testBundle: './test.ts'} : {index: ['./index.css', '@webcomponents/webcomponentsjs/webcomponents-bundle.js', '@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js', './index']}"
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"library": false,
|
|
150
|
+
"module": {
|
|
151
|
+
"enforceDeduplication": true,
|
|
152
|
+
"html": {
|
|
153
|
+
"options": {
|
|
154
|
+
"sources": {
|
|
155
|
+
"urlFilter": {
|
|
156
|
+
"__evaluate__": "() => false"
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
"optimizer": {
|
|
162
|
+
"babelMinify": {
|
|
163
|
+
"#": "To provide a logging output we need to exclude this feature.",
|
|
164
|
+
"bundle": {
|
|
165
|
+
"transform": {
|
|
166
|
+
"removeConsole": false
|
|
167
|
+
}
|
|
168
|
+
},
|
|
169
|
+
"#1": "Avoids wrong this binding in some callbacks with class bound closure (e.g. in \"performStartUpEffects -> animate -> always\".",
|
|
170
|
+
"module": null
|
|
171
|
+
},
|
|
172
|
+
"#": "We have to add disable \"mergeRules\" since it removes header link color over writing.",
|
|
173
|
+
"cssnano": {
|
|
174
|
+
"__evaluate__": "self.debug ? null : {preset: [optionalRequire('cssnano-preset-default'), {autoprefixer: false, discardUnused: !self.library, mergeRules: false}]}"
|
|
175
|
+
},
|
|
176
|
+
"htmlMinifier": {
|
|
177
|
+
"ignoreCustomComments": [
|
|
178
|
+
{
|
|
179
|
+
"__evaluate__": "/^\\|?[a-z]{2}[A-Z]{2}:/"
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"__evaluate__": "/^[a-z]{2}[A-Z]{2}$/"
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
"__evaluate__": "/^showExample(?::[a-zA-Z]+)?$/"
|
|
186
|
+
}
|
|
187
|
+
]
|
|
188
|
+
}
|
|
189
|
+
},
|
|
190
|
+
"preprocessor": {
|
|
191
|
+
"cascadingStyleSheet": {
|
|
192
|
+
"additional": {
|
|
193
|
+
"plugins": {
|
|
194
|
+
"pre": {
|
|
195
|
+
"__append__": [
|
|
196
|
+
"require('postcss-mixins')",
|
|
197
|
+
"require('postcss-nested')"
|
|
198
|
+
]
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
},
|
|
203
|
+
"ejs": {
|
|
204
|
+
"options": {
|
|
205
|
+
"locals": {
|
|
206
|
+
"API_DOCUMENTATION_PATH": "/apiDocumentation/",
|
|
207
|
+
"CONTENT": "source/dummyReadme.md",
|
|
208
|
+
"DISTRIBUTION_BUNDLE_FILE_PATH": "dummyDistributionBundle.zip",
|
|
209
|
+
"LANGUAGES": {
|
|
210
|
+
"__evaluate__": "self.module.preprocessor.html.options.locals.NAME === 'web-documentation' ? ['enUS', 'deDE', 'frFR'] : ['enUS']"
|
|
211
|
+
},
|
|
212
|
+
"MARKED_OPTIONS": {
|
|
213
|
+
"#": "If true, add <br> on a single line break (copies GitHub behavior on comments, but not on rendered markdown files). Requires gfm be true.",
|
|
214
|
+
"breaks": false,
|
|
215
|
+
"#1": "If true, use approved GitHub Flavored Markdown (GFM) specification.",
|
|
216
|
+
"gfm": true,
|
|
217
|
+
"#2": "If true, conform to the original markdown.pl as much as possible. Don't fix original markdown bugs or behavior. Turns off and overrides gfm.",
|
|
218
|
+
"pedantic": false,
|
|
219
|
+
"#3": "If true, the parser does not throw any exception.",
|
|
220
|
+
"silent": false
|
|
221
|
+
},
|
|
222
|
+
"NAME": "web-documentation",
|
|
223
|
+
"IS_DIRECTORY": {
|
|
224
|
+
"__evaluate__": "filesystem.isDirectorySync"
|
|
225
|
+
},
|
|
226
|
+
"READ_FILE": {
|
|
227
|
+
"__evaluate__": "fs.readFileSync"
|
|
228
|
+
},
|
|
229
|
+
"RENDER_MARKDOWN": {
|
|
230
|
+
"__evaluate__": "require(path.resolve(currentPath, 'source/renderMarkdown.mjs')).default(self.module.preprocessor.ejs.options.locals.MARKED_OPTIONS)"
|
|
231
|
+
},
|
|
232
|
+
"META_TAGS": [],
|
|
233
|
+
"SOURCE_URL": {
|
|
234
|
+
"__evaluate__": "`https://github.com/thaibault/${self.module.preprocessor.html.options.locals.NAME}`"
|
|
235
|
+
},
|
|
236
|
+
"TAGLINE": "generic documentation website pattern",
|
|
237
|
+
"URL": {
|
|
238
|
+
"__evaluate__": "`https://torben.website/${self.module.preprocessor.html.options.locals.NAME}`"
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
"path": {
|
|
246
|
+
"source": {
|
|
247
|
+
"asset": {
|
|
248
|
+
"cascadingStyleSheet": "./",
|
|
249
|
+
"javaScript": "./"
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
"target": {
|
|
253
|
+
"asset": {
|
|
254
|
+
"cascadingStyleSheet": "./",
|
|
255
|
+
"javaScript": "./"
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
"target:debug": {
|
|
260
|
+
"module": {
|
|
261
|
+
"optimizer": {
|
|
262
|
+
"cssnano": null
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"target:deploy": {
|
|
267
|
+
"assetPattern": {
|
|
268
|
+
"javaScript": {
|
|
269
|
+
"pattern": {
|
|
270
|
+
"#": "This is how we can make our main exported artefact executable.",
|
|
271
|
+
"__evaluate__": "`#!/usr/bin/env node\n// -*- coding: utf-8 -*-\n${self.generic.assetPattern.javaScript.pattern}{1}`"
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
},
|
|
275
|
+
"exportFormat": {
|
|
276
|
+
"external": "commonjs2",
|
|
277
|
+
"self": "commonjs2"
|
|
278
|
+
},
|
|
279
|
+
"files": {
|
|
280
|
+
"defaultHTML": {
|
|
281
|
+
"template": {
|
|
282
|
+
"filePath": "none"
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"injection": {
|
|
287
|
+
"entry": {
|
|
288
|
+
"__evaluate__": "2 < self.givenCommandLineArguments.length && self.givenCommandLineArguments[2].startsWith('test') ? {testBundle: './test.ts'} : {deploy: './deploy'}"
|
|
289
|
+
}
|
|
290
|
+
},
|
|
291
|
+
"module": {
|
|
292
|
+
"optimizer": {
|
|
293
|
+
"babelMinify": {
|
|
294
|
+
"#": "To provide a logging output we need to exclude this feature.",
|
|
295
|
+
"bundle": {
|
|
296
|
+
"transform": {
|
|
297
|
+
"removeConsole": false
|
|
298
|
+
}
|
|
299
|
+
},
|
|
300
|
+
"module": {
|
|
301
|
+
"removeConsole": false
|
|
302
|
+
}
|
|
303
|
+
}
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"targetTechnology": {
|
|
307
|
+
"boilerplate": "node",
|
|
308
|
+
"payload": "node"
|
|
309
|
+
}
|
|
310
|
+
},
|
|
311
|
+
"webpack": {
|
|
312
|
+
"snapshot": {
|
|
313
|
+
"unmanagedPaths": [
|
|
314
|
+
{
|
|
315
|
+
"__evaluate__": "/^.+?[\\/]node_modules[\\/]clientnode[\\/]/"
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
"__evaluate__": "/^.+?[\\/]node_modules[\\/]web-component-wrapper[\\/]/"
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"__evaluate__": "/^.+?[\\/]node_modules[\\/]web-internationalization[\\/]/"
|
|
322
|
+
},
|
|
323
|
+
{
|
|
324
|
+
"__evaluate__": "/^.+?[\\/]node_modules[\\/]website-utilities[\\/]/"
|
|
325
|
+
}
|
|
326
|
+
]
|
|
327
|
+
},
|
|
328
|
+
"watchOptions": {
|
|
329
|
+
"ignored": {
|
|
330
|
+
"__remove__": "**/node_modules"
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
"packageManager": "yarn@4.12.0+sha512.f45ab632439a67f8bc759bf32ead036a1f413287b9042726b7cc4818b7b49e14e9423ba49b18f9e06ea4941c1ad062385b1d8760a8d5091a1a31e5f6219afca8"
|
|
336
|
+
}
|
package/readme.md
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
<!-- !/usr/bin/env markdown
|
|
2
|
+
-*- coding: utf-8 -*-
|
|
3
|
+
region header
|
|
4
|
+
Copyright Torben Sickert (info["~at~"]torben.website) 16.12.2012
|
|
5
|
+
|
|
6
|
+
License
|
|
7
|
+
-------
|
|
8
|
+
|
|
9
|
+
This library written by Torben Sickert stand under a creative commons naming
|
|
10
|
+
3.0 unported license. See https://creativecommons.org/licenses/by/3.0/deed.de
|
|
11
|
+
endregion -->
|
|
12
|
+
|
|
13
|
+
Project status
|
|
14
|
+
--------------
|
|
15
|
+
|
|
16
|
+
[](https://www.npmjs.com/package/web-documentation)
|
|
17
|
+
[](https://www.npmjs.com/package/web-documentation)
|
|
18
|
+
|
|
19
|
+
[](https://github.com/thaibault/web-documentation/actions/workflows/build.yaml)
|
|
20
|
+
[](https://github.com/thaibault/web-documentation/actions/workflows/build-package-and-push.yaml)
|
|
21
|
+
|
|
22
|
+
[](https://github.com/thaibault/web-documentation/actions/workflows/check-types.yaml)
|
|
23
|
+
[](https://github.com/thaibault/web-documentation/actions/workflows/lint.yaml)
|
|
24
|
+
[](https://github.com/thaibault/web-documentation/actions/workflows/test-coverage-report.yaml)
|
|
25
|
+
|
|
26
|
+
[](https://coveralls.io/github/thaibault/web-documentation)
|
|
27
|
+
|
|
28
|
+
Use case
|
|
29
|
+
--------
|
|
30
|
+
|
|
31
|
+
This is my central development for all of my documentation or project
|
|
32
|
+
presentation web pages.
|
|
33
|
+
|
|
34
|
+
Included Features:
|
|
35
|
+
|
|
36
|
+
- Auto-building API-Documentation
|
|
37
|
+
- Auto-building Presentation Website
|