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/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
+ [![npm](https://img.shields.io/npm/v/web-documentation?color=%23d55e5d&label=npm%20package%20version&logoColor=%23d55e5d&style=for-the-badge)](https://www.npmjs.com/package/web-documentation)
17
+ [![npm downloads](https://img.shields.io/npm/dy/web-documentation.svg?style=for-the-badge)](https://www.npmjs.com/package/web-documentation)
18
+
19
+ [![build](https://img.shields.io/github/actions/workflow/status/thaibault/web-documentation/build.yaml?style=for-the-badge)](https://github.com/thaibault/web-documentation/actions/workflows/build.yaml)
20
+ [![build push package](https://img.shields.io/github/actions/workflow/status/thaibault/web-documentation/build-package-and-push.yaml?label=build%20push%20package&style=for-the-badge)](https://github.com/thaibault/web-documentation/actions/workflows/build-package-and-push.yaml)
21
+
22
+ [![check types](https://img.shields.io/github/actions/workflow/status/thaibault/web-documentation/check-types.yaml?label=check%20types&style=for-the-badge)](https://github.com/thaibault/web-documentation/actions/workflows/check-types.yaml)
23
+ [![lint](https://img.shields.io/github/actions/workflow/status/thaibault/web-documentation/lint.yaml?label=lint&style=for-the-badge)](https://github.com/thaibault/web-documentation/actions/workflows/lint.yaml)
24
+ [![test](https://img.shields.io/github/actions/workflow/status/thaibault/web-documentation/test-coverage-report.yaml?label=test&style=for-the-badge)](https://github.com/thaibault/web-documentation/actions/workflows/test-coverage-report.yaml)
25
+
26
+ [![code coverage](https://img.shields.io/coverallsCoverage/github/thaibault/web-documentation?label=code%20coverage&style=for-the-badge)](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