retold 1.0.6 → 4.0.1

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.
Files changed (71) hide show
  1. package/.claude/settings.local.json +58 -0
  2. package/CLAUDE.md +52 -0
  3. package/docs/.nojekyll +0 -0
  4. package/docs/README.md +161 -0
  5. package/docs/_sidebar.md +65 -0
  6. package/docs/_topbar.md +6 -0
  7. package/docs/architecture.md +312 -0
  8. package/docs/cover.md +15 -0
  9. package/docs/css/docuserve.css +73 -0
  10. package/docs/fable.md +198 -0
  11. package/docs/getting-started.md +272 -0
  12. package/docs/index.html +39 -0
  13. package/docs/js/pict.min.js +12 -0
  14. package/docs/js/pict.min.js.map +1 -0
  15. package/docs/meadow.md +211 -0
  16. package/docs/modules.md +96 -0
  17. package/docs/orator.md +164 -0
  18. package/docs/pict-docuserve.min.js +58 -0
  19. package/docs/pict-docuserve.min.js.map +1 -0
  20. package/docs/pict.md +213 -0
  21. package/docs/retold-building-documentation.md +33 -0
  22. package/docs/retold-catalog.json +2826 -0
  23. package/docs/retold-keyword-index.json +161289 -0
  24. package/docs/utility.md +63 -0
  25. package/examples/quickstart/README.md +47 -0
  26. package/examples/quickstart/layer1/README.md +21 -0
  27. package/examples/quickstart/layer1/index.js +49 -0
  28. package/examples/quickstart/layer1/package-lock.json +344 -0
  29. package/examples/quickstart/layer1/package.json +12 -0
  30. package/examples/quickstart/layer2/README.md +34 -0
  31. package/examples/quickstart/layer2/index.js +251 -0
  32. package/examples/quickstart/layer2/package-lock.json +4468 -0
  33. package/examples/quickstart/layer2/package.json +17 -0
  34. package/examples/quickstart/layer2/setup-database.js +61 -0
  35. package/examples/quickstart/layer3/README.md +39 -0
  36. package/examples/quickstart/layer3/index.js +91 -0
  37. package/examples/quickstart/layer3/package-lock.json +1936 -0
  38. package/examples/quickstart/layer3/package.json +14 -0
  39. package/examples/quickstart/layer4/README.md +47 -0
  40. package/examples/quickstart/layer4/generate-build-config.js +18 -0
  41. package/examples/quickstart/layer4/html/index.html +17 -0
  42. package/examples/quickstart/layer4/package-lock.json +13206 -0
  43. package/examples/quickstart/layer4/package.json +38 -0
  44. package/examples/quickstart/layer4/server.js +28 -0
  45. package/examples/quickstart/layer4/source/BookStore-Application-Config.json +15 -0
  46. package/examples/quickstart/layer4/source/BookStore-Application.js +54 -0
  47. package/examples/quickstart/layer4/source/providers/Router-Config.json +18 -0
  48. package/examples/quickstart/layer4/source/views/View-About.js +38 -0
  49. package/examples/quickstart/layer4/source/views/View-Home.js +50 -0
  50. package/examples/quickstart/layer4/source/views/View-Layout.js +60 -0
  51. package/examples/quickstart/layer5/README.md +26 -0
  52. package/examples/quickstart/layer5/index.js +121 -0
  53. package/examples/quickstart/layer5/package-lock.json +345 -0
  54. package/examples/quickstart/layer5/package.json +13 -0
  55. package/modules/.claude/settings.local.json +52 -0
  56. package/modules/CLAUDE.md +60 -0
  57. package/modules/Checkout.sh +42 -0
  58. package/modules/Include-Retold-Module-List.sh +15 -0
  59. package/modules/Retold-Modules.md +24 -0
  60. package/modules/Status.sh +59 -0
  61. package/modules/Update.sh +45 -0
  62. package/modules/fable/Fable.md +2 -0
  63. package/modules/meadow/Meadow.md +1 -0
  64. package/modules/orator/Orator.md +1 -0
  65. package/modules/pict/Pict.md +1 -0
  66. package/package.json +30 -35
  67. package/source/Retold.cjs +2 -0
  68. package/test/Retold_tests.js +23 -41
  69. package/.travis.yml +0 -13
  70. package/source/Retold-Meadow-Macros.js +0 -269
  71. package/source/Retold.js +0 -48
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "retold-quickstart-layer3-orator",
3
+ "version": "1.0.0",
4
+ "description": "Retold Quickstart: Layer 3 - Orator (REST API Server)",
5
+ "main": "index.js",
6
+ "scripts": {
7
+ "start": "node index.js"
8
+ },
9
+ "dependencies": {
10
+ "fable": "^3.1.51",
11
+ "orator": "^5.0.2",
12
+ "orator-serviceserver-restify": "^2.0.5"
13
+ }
14
+ }
@@ -0,0 +1,47 @@
1
+ # Pict - Browser MVC
2
+
3
+ > Retold Pict — Non-opinionated MVC tools: views, templates, providers,
4
+ > application lifecycle, with routing and CSS injection. Pict sits alongside the
5
+ > server stack and can target any text-based UI (browser DOM, terminal, strings).
6
+
7
+ Pict connects to Fable for services and can use Meadow-Endpoints as a data
8
+ source, but has no hard dependency on the server layers. This example shows a
9
+ standalone browser application with multiple views and hash-based routing.
10
+
11
+ ## Run
12
+
13
+ ```bash
14
+ npm install
15
+ npm run demo
16
+ ```
17
+
18
+ Then open http://localhost:8086 in your browser.
19
+
20
+ ## What This Demonstrates
21
+
22
+ - A Pict application class extending `pict-application`
23
+ - Multiple views extending `pict-view` with Templates and Renderables
24
+ - Template expressions for data binding (`{~D:path~}`) and iteration (`{~TemplateSet~}`)
25
+ - Hash-based routing via `pict-router` with route-driven view rendering
26
+ - View lifecycle hooks (onAfterRender)
27
+ - Per-view CSS injection into `<style id="PICT-CSS">`
28
+ - Quackage build for browser bundling (browserify + babel + terser)
29
+ - Orator serving the built static files
30
+
31
+ ## Structure
32
+
33
+ ```
34
+ source/
35
+ BookStore-Application.js # Application class (extends pict-application)
36
+ BookStore-Application-Config.json # Application configuration
37
+ providers/
38
+ Router-Config.json # Route definitions (/Home, /About)
39
+ views/
40
+ View-Layout.js # Shell layout (nav + content container)
41
+ View-Home.js # Home page (book catalog with TemplateSet)
42
+ View-About.js # About page
43
+ html/
44
+ index.html # Browser entry point
45
+ server.js # Orator static file server
46
+ generate-build-config.js # Generates quackage config with absolute paths
47
+ ```
@@ -0,0 +1,18 @@
1
+ // Generates .gulpfile-quackage-config.json with absolute paths for the current environment
2
+ const libPath = require('path');
3
+ const libFS = require('fs');
4
+
5
+ const tmpConfig =
6
+ {
7
+ EntrypointInputSourceFile: libPath.resolve(__dirname, 'source/BookStore-Application.js'),
8
+ LibraryObjectName: 'BookStoreApp',
9
+ LibraryOutputFolder: libPath.resolve(__dirname, 'dist') + '/',
10
+ LibraryUniminifiedFileName: 'bookstore-app.compatible.js',
11
+ LibraryMinifiedFileName: 'bookstore-app.compatible.min.js'
12
+ };
13
+
14
+ libFS.writeFileSync(
15
+ libPath.resolve(__dirname, '.gulpfile-quackage-config.json'),
16
+ JSON.stringify(tmpConfig, null, '\t'));
17
+
18
+ console.log('Build config generated.');
@@ -0,0 +1,17 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1">
6
+ <title>Retold BookStore</title>
7
+ <style id="PICT-CSS"></style>
8
+ <script src="./js/pict.min.js" type="text/javascript"></script>
9
+ <script type="text/javascript">
10
+ Pict.safeOnDocumentReady(function() { Pict.safeLoadPictApplication(BookStoreApp, 2); });
11
+ </script>
12
+ </head>
13
+ <body>
14
+ <div id="BookStore-Container"></div>
15
+ <script src="./retold-quickstart-layer4-pict.compatible.min.js" type="text/javascript"></script>
16
+ </body>
17
+ </html>