nibula 1.6.0 → 1.6.2
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/.eleventy.js +82 -81
- package/CHANGELOG.md +395 -377
- package/LICENSE +169 -169
- package/NOTICE +4 -4
- package/README.md +110 -110
- package/bin/create.js +540 -505
- package/bin/delegate.js +58 -57
- package/bin/nibula.js +302 -302
- package/docs/Assistant CLI.md +65 -65
- package/docs/Backend.md +201 -201
- package/docs/Components.md +140 -140
- package/docs/Creating pages.md +69 -69
- package/docs/Deploy.md +210 -210
- package/docs/Head and SEO.md +139 -139
- package/docs/Javascript.md +126 -126
- package/docs/Styling with SCSS.md +141 -139
- package/nginx.conf +113 -113
- package/package.json +69 -69
- package/src/backend/.htaccess +6 -6
- package/src/backend/_core/composer.json +5 -5
- package/src/backend/_core/composer.lock +492 -492
- package/src/backend/_core/index.js +267 -267
- package/src/backend/_core/index.php +160 -160
- package/src/backend/_core/init.js +52 -52
- package/src/backend/_core/init.php +33 -33
- package/src/backend/_core/modules/RateLimiter.js +58 -58
- package/src/backend/_core/modules/RateLimiter.php +30 -30
- package/src/backend/_core/modules/Response.js +59 -59
- package/src/backend/_core/modules/Response.php +48 -48
- package/src/backend/api/protected/example-protected.js +23 -23
- package/src/backend/api/protected/example-protected.php +16 -16
- package/src/backend/api/public/example-public.js +24 -24
- package/src/backend/api/public/example-public.php +16 -16
- package/src/backend/database/Database.js +46 -46
- package/src/backend/database/Database.php +23 -23
- package/src/backend/example.config.js +37 -37
- package/src/backend/example.config.php +37 -37
- package/src/backend/package.json +17 -17
- package/src/backend/web.config +43 -43
- package/src/frontend/.htaccess +51 -51
- package/src/frontend/404.njk +17 -17
- package/src/frontend/assets/brand/favicon.svg +54 -54
- package/src/frontend/assets/brand/logo.svg +54 -54
- package/src/frontend/components/global/footer.njk +25 -25
- package/src/frontend/components/global/header.njk +6 -6
- package/src/frontend/components/welcome.njk +115 -115
- package/src/frontend/index.njk +8 -8
- package/src/frontend/js/global.js +10 -10
- package/src/frontend/js/modules/exampleModule.js +2 -2
- package/src/frontend/js/pages/404.js +8 -8
- package/src/frontend/js/pages/homepage.js +8 -8
- package/src/frontend/layouts/base.njk +135 -136
- package/src/frontend/layouts/page-components.njk +13 -13
- package/src/frontend/llms.njk +17 -17
- package/src/frontend/robots.njk +7 -7
- package/src/frontend/scss/_global.scss +46 -46
- package/src/frontend/scss/_root.scss +13 -13
- package/src/frontend/scss/modules/_animations.scss +24 -24
- package/src/frontend/scss/modules/_footer.scss +28 -28
- package/src/frontend/scss/modules/_header.scss +26 -26
- package/src/frontend/scss/modules/_mobile.scss +29 -29
- package/src/frontend/scss/modules/_typography.scss +18 -18
- package/src/frontend/scss/modules/frameworks/_bootstrap.scss +109 -109
- package/src/frontend/scss/modules/frameworks/_bulma.scss +108 -108
- package/src/frontend/scss/modules/frameworks/_foundation.scss +137 -137
- package/src/frontend/scss/modules/frameworks/_uikit.scss +109 -109
- package/src/frontend/scss/pages/404.scss +27 -27
- package/src/frontend/scss/pages/homepage.scss +22 -22
- package/src/frontend/sitemap.njk +17 -17
- package/src/frontend/ts/global.ts +11 -11
- package/src/frontend/ts/modules/exampleModule.ts +2 -2
- package/src/frontend/ts/pages/404.ts +8 -8
- package/src/frontend/ts/pages/homepage.ts +8 -8
- package/src/frontend/web.config +51 -51
- package/tools/assistant.js +122 -122
- package/tools/buildJs.js +39 -39
- package/tools/cleanOutput.js +23 -23
- package/tools/cli/prompt.js +40 -40
- package/tools/cli/ui.js +87 -87
- package/tools/config/messages.json +80 -80
- package/tools/config/settings.json +130 -130
- package/tools/lib/colors.js +17 -17
- package/tools/lib/files.js +75 -75
- package/tools/lib/logger.js +22 -22
- package/tools/lib/outputPath.js +141 -141
- package/tools/lib/pageActions.js +146 -146
- package/tools/lib/pageArtifacts.js +46 -46
- package/tools/lib/pageComponents.js +88 -88
- package/tools/lib/pagesData.js +87 -87
- package/tools/lib/paths.js +63 -63
- package/tools/lib/project.js +54 -54
- package/tools/lib/text.js +47 -47
- package/tools/lib/validation.js +40 -40
- package/tools/res/templates/template.js +7 -7
- package/tools/res/templates/template.njk +8 -8
- package/tools/res/templates/template.scss +22 -22
- package/tools/res/templates/template.ts +8 -8
- package/tsconfig.json +24 -24
- package/src/frontend/scss/pages/prova.scss +0 -23
|
@@ -1,110 +1,110 @@
|
|
|
1
|
-
// ╔══════════════════════════════════════════════════════╗
|
|
2
|
-
// ║ UIKIT MODULES ║
|
|
3
|
-
// ║ Comment out any module you don't need to improve ║
|
|
4
|
-
// ║ performance. Core section is required by all others ║
|
|
5
|
-
// ╚══════════════════════════════════════════════════════╝
|
|
6
|
-
|
|
7
|
-
// Imports can be filtered by commenting them
|
|
8
|
-
|
|
9
|
-
//==========================
|
|
10
|
-
// 1️⃣ CORE – Variables, mixins and base
|
|
11
|
-
// ⚠️ Do not comment these out — required by all other modules
|
|
12
|
-
//==========================
|
|
13
|
-
@import "uikit/src/scss/variables"; // Core variables
|
|
14
|
-
@import "uikit/src/scss/mixins"; // Reusable SCSS mixins
|
|
15
|
-
@import "uikit/src/scss/components/variables"; // Component variables
|
|
16
|
-
@import "uikit/src/scss/components/mixin"; // Component mixins
|
|
17
|
-
@import "uikit/src/scss/components/base"; // Base styles and reset
|
|
18
|
-
@import "uikit/src/scss/components/print"; // Print styles
|
|
19
|
-
|
|
20
|
-
//==========================
|
|
21
|
-
// 2️⃣ LAYOUT
|
|
22
|
-
//==========================
|
|
23
|
-
@import "uikit/src/scss/components/container"; // Containers
|
|
24
|
-
@import "uikit/src/scss/components/grid"; // Grid system
|
|
25
|
-
@import "uikit/src/scss/components/flex"; // Flexbox utilities
|
|
26
|
-
@import "uikit/src/scss/components/width"; // Width utilities
|
|
27
|
-
@import "uikit/src/scss/components/height"; // Height utilities
|
|
28
|
-
@import "uikit/src/scss/components/column"; // Column layout
|
|
29
|
-
@import "uikit/src/scss/components/section"; // Sections
|
|
30
|
-
@import "uikit/src/scss/components/position"; // Position utilities
|
|
31
|
-
|
|
32
|
-
//==========================
|
|
33
|
-
// 3️⃣ TYPOGRAPHY
|
|
34
|
-
//==========================
|
|
35
|
-
@import "uikit/src/scss/components/heading"; // Headings
|
|
36
|
-
@import "uikit/src/scss/components/text"; // Text utilities
|
|
37
|
-
@import "uikit/src/scss/components/link"; // Link styles
|
|
38
|
-
@import "uikit/src/scss/components/list"; // Lists
|
|
39
|
-
@import "uikit/src/scss/components/description-list"; // Description lists
|
|
40
|
-
@import "uikit/src/scss/components/divider"; // Dividers
|
|
41
|
-
@import "uikit/src/scss/components/leader"; // Leader lines
|
|
42
|
-
@import "uikit/src/scss/components/article"; // Article styles
|
|
43
|
-
|
|
44
|
-
//==========================
|
|
45
|
-
// 4️⃣ FORMS
|
|
46
|
-
//==========================
|
|
47
|
-
@import "uikit/src/scss/components/form"; // Form styles
|
|
48
|
-
@import "uikit/src/scss/components/form-range"; // Range sliders
|
|
49
|
-
|
|
50
|
-
//==========================
|
|
51
|
-
// 5️⃣ COMPONENTS
|
|
52
|
-
//==========================
|
|
53
|
-
@import "uikit/src/scss/components/accordion"; // Accordion
|
|
54
|
-
@import "uikit/src/scss/components/alert"; // Alerts
|
|
55
|
-
@import "uikit/src/scss/components/badge"; // Badges
|
|
56
|
-
@import "uikit/src/scss/components/breadcrumb"; // Breadcrumbs
|
|
57
|
-
@import "uikit/src/scss/components/button"; // Buttons
|
|
58
|
-
@import "uikit/src/scss/components/card"; // Cards
|
|
59
|
-
@import "uikit/src/scss/components/close"; // Close button
|
|
60
|
-
@import "uikit/src/scss/components/comment"; // Comment sections
|
|
61
|
-
@import "uikit/src/scss/components/countdown"; // Countdown timer
|
|
62
|
-
@import "uikit/src/scss/components/cover"; // Cover images
|
|
63
|
-
@import "uikit/src/scss/components/drop"; // Drop component
|
|
64
|
-
@import "uikit/src/scss/components/dropbar"; // Dropbar
|
|
65
|
-
@import "uikit/src/scss/components/dropdown"; // Dropdowns
|
|
66
|
-
@import "uikit/src/scss/components/dropnav"; // Drop navigation
|
|
67
|
-
@import "uikit/src/scss/components/icon"; // Icons
|
|
68
|
-
@import "uikit/src/scss/components/iconnav"; // Icon navigation
|
|
69
|
-
@import "uikit/src/scss/components/label"; // Labels
|
|
70
|
-
@import "uikit/src/scss/components/lightbox"; // Lightbox
|
|
71
|
-
@import "uikit/src/scss/components/marker"; // Markers
|
|
72
|
-
@import "uikit/src/scss/components/modal"; // Modals
|
|
73
|
-
@import "uikit/src/scss/components/nav"; // Navigation
|
|
74
|
-
@import "uikit/src/scss/components/navbar"; // Navbar
|
|
75
|
-
@import "uikit/src/scss/components/notification"; // Notifications
|
|
76
|
-
@import "uikit/src/scss/components/offcanvas"; // Off-canvas
|
|
77
|
-
@import "uikit/src/scss/components/overlay"; // Overlays
|
|
78
|
-
@import "uikit/src/scss/components/pagination"; // Pagination
|
|
79
|
-
@import "uikit/src/scss/components/placeholder"; // Placeholder boxes
|
|
80
|
-
@import "uikit/src/scss/components/progress"; // Progress bars
|
|
81
|
-
@import "uikit/src/scss/components/search"; // Search component
|
|
82
|
-
@import "uikit/src/scss/components/slidenav"; // Slideshow navigation
|
|
83
|
-
@import "uikit/src/scss/components/slider"; // Slider
|
|
84
|
-
@import "uikit/src/scss/components/slideshow"; // Slideshow
|
|
85
|
-
@import "uikit/src/scss/components/sortable"; // Sortable lists
|
|
86
|
-
@import "uikit/src/scss/components/spinner"; // Spinners
|
|
87
|
-
@import "uikit/src/scss/components/sticky"; // Sticky elements
|
|
88
|
-
@import "uikit/src/scss/components/subnav"; // Sub navigation
|
|
89
|
-
@import "uikit/src/scss/components/svg"; // SVG utilities
|
|
90
|
-
@import "uikit/src/scss/components/switcher"; // Switcher component
|
|
91
|
-
@import "uikit/src/scss/components/tab"; // Tabs
|
|
92
|
-
@import "uikit/src/scss/components/table"; // Tables
|
|
93
|
-
@import "uikit/src/scss/components/thumbnav"; // Thumbnail navigation
|
|
94
|
-
@import "uikit/src/scss/components/tile"; // Tiles
|
|
95
|
-
@import "uikit/src/scss/components/tooltip"; // Tooltips
|
|
96
|
-
@import "uikit/src/scss/components/totop"; // To-top button
|
|
97
|
-
|
|
98
|
-
//==========================
|
|
99
|
-
// 6️⃣ UTILITIES
|
|
100
|
-
//==========================
|
|
101
|
-
@import "uikit/src/scss/components/align"; // Alignment utilities
|
|
102
|
-
@import "uikit/src/scss/components/animation"; // Animation utilities
|
|
103
|
-
@import "uikit/src/scss/components/background"; // Background utilities
|
|
104
|
-
@import "uikit/src/scss/components/dotnav"; // Dot navigation
|
|
105
|
-
@import "uikit/src/scss/components/inverse"; // Inverse color mode
|
|
106
|
-
@import "uikit/src/scss/components/margin"; // Margin utilities
|
|
107
|
-
@import "uikit/src/scss/components/padding"; // Padding utilities
|
|
108
|
-
@import "uikit/src/scss/components/transition"; // Transition utilities
|
|
109
|
-
@import "uikit/src/scss/components/utility"; // General utilities
|
|
1
|
+
// ╔══════════════════════════════════════════════════════╗
|
|
2
|
+
// ║ UIKIT MODULES ║
|
|
3
|
+
// ║ Comment out any module you don't need to improve ║
|
|
4
|
+
// ║ performance. Core section is required by all others ║
|
|
5
|
+
// ╚══════════════════════════════════════════════════════╝
|
|
6
|
+
|
|
7
|
+
// Imports can be filtered by commenting them
|
|
8
|
+
|
|
9
|
+
//==========================
|
|
10
|
+
// 1️⃣ CORE – Variables, mixins and base
|
|
11
|
+
// ⚠️ Do not comment these out — required by all other modules
|
|
12
|
+
//==========================
|
|
13
|
+
@import "uikit/src/scss/variables"; // Core variables
|
|
14
|
+
@import "uikit/src/scss/mixins"; // Reusable SCSS mixins
|
|
15
|
+
@import "uikit/src/scss/components/variables"; // Component variables
|
|
16
|
+
@import "uikit/src/scss/components/mixin"; // Component mixins
|
|
17
|
+
@import "uikit/src/scss/components/base"; // Base styles and reset
|
|
18
|
+
@import "uikit/src/scss/components/print"; // Print styles
|
|
19
|
+
|
|
20
|
+
//==========================
|
|
21
|
+
// 2️⃣ LAYOUT
|
|
22
|
+
//==========================
|
|
23
|
+
@import "uikit/src/scss/components/container"; // Containers
|
|
24
|
+
@import "uikit/src/scss/components/grid"; // Grid system
|
|
25
|
+
@import "uikit/src/scss/components/flex"; // Flexbox utilities
|
|
26
|
+
@import "uikit/src/scss/components/width"; // Width utilities
|
|
27
|
+
@import "uikit/src/scss/components/height"; // Height utilities
|
|
28
|
+
@import "uikit/src/scss/components/column"; // Column layout
|
|
29
|
+
@import "uikit/src/scss/components/section"; // Sections
|
|
30
|
+
@import "uikit/src/scss/components/position"; // Position utilities
|
|
31
|
+
|
|
32
|
+
//==========================
|
|
33
|
+
// 3️⃣ TYPOGRAPHY
|
|
34
|
+
//==========================
|
|
35
|
+
@import "uikit/src/scss/components/heading"; // Headings
|
|
36
|
+
@import "uikit/src/scss/components/text"; // Text utilities
|
|
37
|
+
@import "uikit/src/scss/components/link"; // Link styles
|
|
38
|
+
@import "uikit/src/scss/components/list"; // Lists
|
|
39
|
+
@import "uikit/src/scss/components/description-list"; // Description lists
|
|
40
|
+
@import "uikit/src/scss/components/divider"; // Dividers
|
|
41
|
+
@import "uikit/src/scss/components/leader"; // Leader lines
|
|
42
|
+
@import "uikit/src/scss/components/article"; // Article styles
|
|
43
|
+
|
|
44
|
+
//==========================
|
|
45
|
+
// 4️⃣ FORMS
|
|
46
|
+
//==========================
|
|
47
|
+
@import "uikit/src/scss/components/form"; // Form styles
|
|
48
|
+
@import "uikit/src/scss/components/form-range"; // Range sliders
|
|
49
|
+
|
|
50
|
+
//==========================
|
|
51
|
+
// 5️⃣ COMPONENTS
|
|
52
|
+
//==========================
|
|
53
|
+
@import "uikit/src/scss/components/accordion"; // Accordion
|
|
54
|
+
@import "uikit/src/scss/components/alert"; // Alerts
|
|
55
|
+
@import "uikit/src/scss/components/badge"; // Badges
|
|
56
|
+
@import "uikit/src/scss/components/breadcrumb"; // Breadcrumbs
|
|
57
|
+
@import "uikit/src/scss/components/button"; // Buttons
|
|
58
|
+
@import "uikit/src/scss/components/card"; // Cards
|
|
59
|
+
@import "uikit/src/scss/components/close"; // Close button
|
|
60
|
+
@import "uikit/src/scss/components/comment"; // Comment sections
|
|
61
|
+
@import "uikit/src/scss/components/countdown"; // Countdown timer
|
|
62
|
+
@import "uikit/src/scss/components/cover"; // Cover images
|
|
63
|
+
@import "uikit/src/scss/components/drop"; // Drop component
|
|
64
|
+
@import "uikit/src/scss/components/dropbar"; // Dropbar
|
|
65
|
+
@import "uikit/src/scss/components/dropdown"; // Dropdowns
|
|
66
|
+
@import "uikit/src/scss/components/dropnav"; // Drop navigation
|
|
67
|
+
@import "uikit/src/scss/components/icon"; // Icons
|
|
68
|
+
@import "uikit/src/scss/components/iconnav"; // Icon navigation
|
|
69
|
+
@import "uikit/src/scss/components/label"; // Labels
|
|
70
|
+
@import "uikit/src/scss/components/lightbox"; // Lightbox
|
|
71
|
+
@import "uikit/src/scss/components/marker"; // Markers
|
|
72
|
+
@import "uikit/src/scss/components/modal"; // Modals
|
|
73
|
+
@import "uikit/src/scss/components/nav"; // Navigation
|
|
74
|
+
@import "uikit/src/scss/components/navbar"; // Navbar
|
|
75
|
+
@import "uikit/src/scss/components/notification"; // Notifications
|
|
76
|
+
@import "uikit/src/scss/components/offcanvas"; // Off-canvas
|
|
77
|
+
@import "uikit/src/scss/components/overlay"; // Overlays
|
|
78
|
+
@import "uikit/src/scss/components/pagination"; // Pagination
|
|
79
|
+
@import "uikit/src/scss/components/placeholder"; // Placeholder boxes
|
|
80
|
+
@import "uikit/src/scss/components/progress"; // Progress bars
|
|
81
|
+
@import "uikit/src/scss/components/search"; // Search component
|
|
82
|
+
@import "uikit/src/scss/components/slidenav"; // Slideshow navigation
|
|
83
|
+
@import "uikit/src/scss/components/slider"; // Slider
|
|
84
|
+
@import "uikit/src/scss/components/slideshow"; // Slideshow
|
|
85
|
+
@import "uikit/src/scss/components/sortable"; // Sortable lists
|
|
86
|
+
@import "uikit/src/scss/components/spinner"; // Spinners
|
|
87
|
+
@import "uikit/src/scss/components/sticky"; // Sticky elements
|
|
88
|
+
@import "uikit/src/scss/components/subnav"; // Sub navigation
|
|
89
|
+
@import "uikit/src/scss/components/svg"; // SVG utilities
|
|
90
|
+
@import "uikit/src/scss/components/switcher"; // Switcher component
|
|
91
|
+
@import "uikit/src/scss/components/tab"; // Tabs
|
|
92
|
+
@import "uikit/src/scss/components/table"; // Tables
|
|
93
|
+
@import "uikit/src/scss/components/thumbnav"; // Thumbnail navigation
|
|
94
|
+
@import "uikit/src/scss/components/tile"; // Tiles
|
|
95
|
+
@import "uikit/src/scss/components/tooltip"; // Tooltips
|
|
96
|
+
@import "uikit/src/scss/components/totop"; // To-top button
|
|
97
|
+
|
|
98
|
+
//==========================
|
|
99
|
+
// 6️⃣ UTILITIES
|
|
100
|
+
//==========================
|
|
101
|
+
@import "uikit/src/scss/components/align"; // Alignment utilities
|
|
102
|
+
@import "uikit/src/scss/components/animation"; // Animation utilities
|
|
103
|
+
@import "uikit/src/scss/components/background"; // Background utilities
|
|
104
|
+
@import "uikit/src/scss/components/dotnav"; // Dot navigation
|
|
105
|
+
@import "uikit/src/scss/components/inverse"; // Inverse color mode
|
|
106
|
+
@import "uikit/src/scss/components/margin"; // Margin utilities
|
|
107
|
+
@import "uikit/src/scss/components/padding"; // Padding utilities
|
|
108
|
+
@import "uikit/src/scss/components/transition"; // Transition utilities
|
|
109
|
+
@import "uikit/src/scss/components/utility"; // General utilities
|
|
110
110
|
@import "uikit/src/scss/components/visibility"; // Visibility utilities
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
//==========================
|
|
2
|
-
// CSS MODULES IMPORTS
|
|
3
|
-
//==========================
|
|
4
|
-
|
|
5
|
-
// Use @use with a namespace to avoid framework variable conflicts:
|
|
6
|
-
// Example: root.$primary
|
|
7
|
-
@use "../root" as root;
|
|
8
|
-
|
|
9
|
-
// This global module contains the import framework, necessary modules for each page and any other common styles
|
|
10
|
-
@import "../global";
|
|
11
|
-
|
|
12
|
-
// Import any other module you need by import down here
|
|
13
|
-
// @import "../modules/moduleName";
|
|
14
|
-
|
|
15
|
-
//==========================
|
|
16
|
-
// PAGE CUSTOM CSS RULES
|
|
17
|
-
//==========================
|
|
18
|
-
|
|
19
|
-
// Add any custom rule specific to this page below
|
|
20
|
-
// These rules override the framework and module styles
|
|
21
|
-
.not-found {
|
|
22
|
-
display: flex;
|
|
23
|
-
flex-direction: column;
|
|
24
|
-
justify-content: center;
|
|
25
|
-
align-items: center;
|
|
26
|
-
min-height: 60vh;
|
|
27
|
-
text-align: center;
|
|
1
|
+
//==========================
|
|
2
|
+
// CSS MODULES IMPORTS
|
|
3
|
+
//==========================
|
|
4
|
+
|
|
5
|
+
// Use @use with a namespace to avoid framework variable conflicts:
|
|
6
|
+
// Example: root.$primary
|
|
7
|
+
@use "../root" as root;
|
|
8
|
+
|
|
9
|
+
// This global module contains the import framework, necessary modules for each page and any other common styles
|
|
10
|
+
@import "../global";
|
|
11
|
+
|
|
12
|
+
// Import any other module you need by import down here
|
|
13
|
+
// @import "../modules/moduleName";
|
|
14
|
+
|
|
15
|
+
//==========================
|
|
16
|
+
// PAGE CUSTOM CSS RULES
|
|
17
|
+
//==========================
|
|
18
|
+
|
|
19
|
+
// Add any custom rule specific to this page below
|
|
20
|
+
// These rules override the framework and module styles
|
|
21
|
+
.not-found {
|
|
22
|
+
display: flex;
|
|
23
|
+
flex-direction: column;
|
|
24
|
+
justify-content: center;
|
|
25
|
+
align-items: center;
|
|
26
|
+
min-height: 60vh;
|
|
27
|
+
text-align: center;
|
|
28
28
|
}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
//==========================
|
|
2
|
-
// CSS MODULES IMPORTS
|
|
3
|
-
//==========================
|
|
4
|
-
|
|
5
|
-
// Use @use with a namespace to avoid framework variable conflicts:
|
|
6
|
-
// Example: root.$primary
|
|
7
|
-
@use "../root" as root;
|
|
8
|
-
|
|
9
|
-
// This global module contains the import framework, necessary modules for each page and any other common styles
|
|
10
|
-
@import "../global";
|
|
11
|
-
|
|
12
|
-
// Import any other module you need by import down here
|
|
13
|
-
// @import "../modules/moduleName";
|
|
14
|
-
|
|
15
|
-
//==========================
|
|
16
|
-
// PAGE CUSTOM CSS RULES
|
|
17
|
-
//==========================
|
|
18
|
-
|
|
19
|
-
// Add any custom rule specific to this page below
|
|
20
|
-
// These rules override the framework and module styles
|
|
21
|
-
// body {
|
|
22
|
-
// background-color: root.$primary;
|
|
1
|
+
//==========================
|
|
2
|
+
// CSS MODULES IMPORTS
|
|
3
|
+
//==========================
|
|
4
|
+
|
|
5
|
+
// Use @use with a namespace to avoid framework variable conflicts:
|
|
6
|
+
// Example: root.$primary
|
|
7
|
+
@use "../root" as root;
|
|
8
|
+
|
|
9
|
+
// This global module contains the import framework, necessary modules for each page and any other common styles
|
|
10
|
+
@import "../global";
|
|
11
|
+
|
|
12
|
+
// Import any other module you need by import down here
|
|
13
|
+
// @import "../modules/moduleName";
|
|
14
|
+
|
|
15
|
+
//==========================
|
|
16
|
+
// PAGE CUSTOM CSS RULES
|
|
17
|
+
//==========================
|
|
18
|
+
|
|
19
|
+
// Add any custom rule specific to this page below
|
|
20
|
+
// These rules override the framework and module styles
|
|
21
|
+
// body {
|
|
22
|
+
// background-color: root.$primary;
|
|
23
23
|
// }
|
package/src/frontend/sitemap.njk
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
---
|
|
2
|
-
permalink: /sitemap.xml
|
|
3
|
-
eleventyExcludeFromCollections: true
|
|
4
|
-
---
|
|
5
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
6
|
-
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
7
|
-
{% for page in collections.all %}
|
|
8
|
-
{% set pageMeta = pages[page.data.title] %}
|
|
9
|
-
{% if not page.data.draft and '/404' not in page.url and not (pageMeta and pageMeta.seo.noindex) %}
|
|
10
|
-
<url>
|
|
11
|
-
<loc>{{ site.url }}{{ page.url | lower }}</loc>
|
|
12
|
-
<lastmod>{{ page.date.toISOString() }}</lastmod>
|
|
13
|
-
<changefreq>weekly</changefreq>
|
|
14
|
-
<priority>{{ '1.0' if page.url == '/' else '0.8' }}</priority>
|
|
15
|
-
</url>
|
|
16
|
-
{% endif %}
|
|
17
|
-
{% endfor %}
|
|
1
|
+
---
|
|
2
|
+
permalink: /sitemap.xml
|
|
3
|
+
eleventyExcludeFromCollections: true
|
|
4
|
+
---
|
|
5
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
6
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
7
|
+
{% for page in collections.all %}
|
|
8
|
+
{% set pageMeta = pages[page.data.title] %}
|
|
9
|
+
{% if not page.data.draft and '/404' not in page.url and not (pageMeta and pageMeta.seo.noindex) %}
|
|
10
|
+
<url>
|
|
11
|
+
<loc>{{ site.url }}{{ page.url | lower }}</loc>
|
|
12
|
+
<lastmod>{{ page.date.toISOString() }}</lastmod>
|
|
13
|
+
<changefreq>weekly</changefreq>
|
|
14
|
+
<priority>{{ '1.0' if page.url == '/' else '0.8' }}</priority>
|
|
15
|
+
</url>
|
|
16
|
+
{% endif %}
|
|
17
|
+
{% endfor %}
|
|
18
18
|
</urlset>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
// import { initExampleModule } from "/exampleModule";
|
|
2
|
-
import { initExampleModule } from "./modules/exampleModule"
|
|
3
|
-
|
|
4
|
-
function initGlobal() {
|
|
5
|
-
// initExampleModule();
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
// Global logic here
|
|
9
|
-
|
|
10
|
-
// Do not touch
|
|
11
|
-
// This instruction starts global.ts itself
|
|
1
|
+
// import { initExampleModule } from "/exampleModule";
|
|
2
|
+
import { initExampleModule } from "./modules/exampleModule"
|
|
3
|
+
|
|
4
|
+
function initGlobal() {
|
|
5
|
+
// initExampleModule();
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
// Global logic here
|
|
9
|
+
|
|
10
|
+
// Do not touch
|
|
11
|
+
// This instruction starts global.ts itself
|
|
12
12
|
document.addEventListener('DOMContentLoaded', initGlobal);
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export function initExampleModule(): void {
|
|
2
|
-
// Module logic here
|
|
1
|
+
export function initExampleModule(): void {
|
|
2
|
+
// Module logic here
|
|
3
3
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import '../global';
|
|
2
|
-
|
|
3
|
-
// import { initExampleModule } from '../modules/exampleModule';
|
|
4
|
-
|
|
5
|
-
document.addEventListener("DOMContentLoaded", (): void => {
|
|
6
|
-
// initExampleModule();
|
|
7
|
-
});
|
|
8
|
-
|
|
1
|
+
import '../global';
|
|
2
|
+
|
|
3
|
+
// import { initExampleModule } from '../modules/exampleModule';
|
|
4
|
+
|
|
5
|
+
document.addEventListener("DOMContentLoaded", (): void => {
|
|
6
|
+
// initExampleModule();
|
|
7
|
+
});
|
|
8
|
+
|
|
9
9
|
// Page logic here
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import '../global';
|
|
2
|
-
|
|
3
|
-
// import { initExampleModule } from '../modules/exampleModule';
|
|
4
|
-
|
|
5
|
-
document.addEventListener("DOMContentLoaded", (): void => {
|
|
6
|
-
// initExampleModule();
|
|
7
|
-
});
|
|
8
|
-
|
|
1
|
+
import '../global';
|
|
2
|
+
|
|
3
|
+
// import { initExampleModule } from '../modules/exampleModule';
|
|
4
|
+
|
|
5
|
+
document.addEventListener("DOMContentLoaded", (): void => {
|
|
6
|
+
// initExampleModule();
|
|
7
|
+
});
|
|
8
|
+
|
|
9
9
|
// Page logic here
|
package/src/frontend/web.config
CHANGED
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<!--
|
|
3
|
-
IIS config for a Nibula site.
|
|
4
|
-
|
|
5
|
-
URL Rewrite processes rules top-down and the first match with
|
|
6
|
-
stopProcessing="true" wins. The default is the PHP backend, because it is the
|
|
7
|
-
only one that runs on Windows shared hosting (Aruba and similar), where you
|
|
8
|
-
cannot install server modules.
|
|
9
|
-
|
|
10
|
-
To use the NODE backend instead, uncomment the "ApiToNode" rule below and
|
|
11
|
-
delete "ApiToPhp". This requires a server you control, with the Application
|
|
12
|
-
Request Routing and URL Rewrite modules installed and proxying enabled
|
|
13
|
-
(ARR > Server Proxy Settings > Enable proxy). On shared hosting it will fail
|
|
14
|
-
with a 500: rewriting to an absolute URL without ARR is not allowed.
|
|
15
|
-
-->
|
|
16
|
-
<configuration>
|
|
17
|
-
<system.webServer>
|
|
18
|
-
<rewrite>
|
|
19
|
-
<rules>
|
|
20
|
-
|
|
21
|
-
<!-- Block sensitive files -->
|
|
22
|
-
<rule name="BlockSensitive" stopProcessing="true">
|
|
23
|
-
<match url="^(web\.config|\..*)$" ignoreCase="true" />
|
|
24
|
-
<action type="CustomResponse" statusCode="404" />
|
|
25
|
-
</rule>
|
|
26
|
-
|
|
27
|
-
<!-- PHP backend: rewrite /api to the PHP front controller. -->
|
|
28
|
-
<rule name="ApiToPhp" stopProcessing="true">
|
|
29
|
-
<match url="^api/(.*)" ignoreCase="true" />
|
|
30
|
-
<action type="Rewrite" url="backend/_core/index.php" appendQueryString="true" />
|
|
31
|
-
</rule>
|
|
32
|
-
|
|
33
|
-
<!-- Node backend (requires ARR). Delete "ApiToPhp" above to use this.
|
|
34
|
-
<rule name="ApiToNode" stopProcessing="true">
|
|
35
|
-
<match url="^api/(.*)" ignoreCase="true" />
|
|
36
|
-
<action type="Rewrite" url="http://127.0.0.1:3000/api/{R:1}" appendQueryString="true" />
|
|
37
|
-
</rule>
|
|
38
|
-
-->
|
|
39
|
-
|
|
40
|
-
</rules>
|
|
41
|
-
</rewrite>
|
|
42
|
-
|
|
43
|
-
<directoryBrowse enabled="false" />
|
|
44
|
-
|
|
45
|
-
<httpErrors errorMode="Custom" existingResponse="Replace">
|
|
46
|
-
<remove statusCode="404" />
|
|
47
|
-
<remove statusCode="403" />
|
|
48
|
-
<error statusCode="404" path="/404.html" responseMode="ExecuteURL" />
|
|
49
|
-
<error statusCode="403" path="/404.html" responseMode="ExecuteURL" />
|
|
50
|
-
</httpErrors>
|
|
51
|
-
</system.webServer>
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<!--
|
|
3
|
+
IIS config for a Nibula site.
|
|
4
|
+
|
|
5
|
+
URL Rewrite processes rules top-down and the first match with
|
|
6
|
+
stopProcessing="true" wins. The default is the PHP backend, because it is the
|
|
7
|
+
only one that runs on Windows shared hosting (Aruba and similar), where you
|
|
8
|
+
cannot install server modules.
|
|
9
|
+
|
|
10
|
+
To use the NODE backend instead, uncomment the "ApiToNode" rule below and
|
|
11
|
+
delete "ApiToPhp". This requires a server you control, with the Application
|
|
12
|
+
Request Routing and URL Rewrite modules installed and proxying enabled
|
|
13
|
+
(ARR > Server Proxy Settings > Enable proxy). On shared hosting it will fail
|
|
14
|
+
with a 500: rewriting to an absolute URL without ARR is not allowed.
|
|
15
|
+
-->
|
|
16
|
+
<configuration>
|
|
17
|
+
<system.webServer>
|
|
18
|
+
<rewrite>
|
|
19
|
+
<rules>
|
|
20
|
+
|
|
21
|
+
<!-- Block sensitive files -->
|
|
22
|
+
<rule name="BlockSensitive" stopProcessing="true">
|
|
23
|
+
<match url="^(web\.config|\..*)$" ignoreCase="true" />
|
|
24
|
+
<action type="CustomResponse" statusCode="404" />
|
|
25
|
+
</rule>
|
|
26
|
+
|
|
27
|
+
<!-- PHP backend: rewrite /api to the PHP front controller. -->
|
|
28
|
+
<rule name="ApiToPhp" stopProcessing="true">
|
|
29
|
+
<match url="^api/(.*)" ignoreCase="true" />
|
|
30
|
+
<action type="Rewrite" url="backend/_core/index.php" appendQueryString="true" />
|
|
31
|
+
</rule>
|
|
32
|
+
|
|
33
|
+
<!-- Node backend (requires ARR). Delete "ApiToPhp" above to use this.
|
|
34
|
+
<rule name="ApiToNode" stopProcessing="true">
|
|
35
|
+
<match url="^api/(.*)" ignoreCase="true" />
|
|
36
|
+
<action type="Rewrite" url="http://127.0.0.1:3000/api/{R:1}" appendQueryString="true" />
|
|
37
|
+
</rule>
|
|
38
|
+
-->
|
|
39
|
+
|
|
40
|
+
</rules>
|
|
41
|
+
</rewrite>
|
|
42
|
+
|
|
43
|
+
<directoryBrowse enabled="false" />
|
|
44
|
+
|
|
45
|
+
<httpErrors errorMode="Custom" existingResponse="Replace">
|
|
46
|
+
<remove statusCode="404" />
|
|
47
|
+
<remove statusCode="403" />
|
|
48
|
+
<error statusCode="404" path="/404.html" responseMode="ExecuteURL" />
|
|
49
|
+
<error statusCode="403" path="/404.html" responseMode="ExecuteURL" />
|
|
50
|
+
</httpErrors>
|
|
51
|
+
</system.webServer>
|
|
52
52
|
</configuration>
|