@reldens/cms 0.18.0 → 0.20.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.
Files changed (36) hide show
  1. package/README.md +260 -20
  2. package/admin/reldens-admin-client.css +127 -80
  3. package/admin/reldens-admin-client.js +24 -0
  4. package/admin/templates/clear-all-cache-button.html +18 -0
  5. package/lib/admin-manager/contents-builder.js +7 -6
  6. package/lib/admin-manager/router-contents.js +58 -16
  7. package/lib/admin-manager-validator.js +2 -1
  8. package/lib/admin-manager.js +4 -2
  9. package/lib/admin-translations.js +9 -1
  10. package/lib/cache/add-cache-button-subscriber.js +53 -5
  11. package/lib/cache/cache-manager.js +47 -8
  12. package/lib/cache/cache-routes-handler.js +23 -0
  13. package/lib/cms-pages-route-manager.js +16 -4
  14. package/lib/frontend.js +310 -119
  15. package/lib/manager.js +43 -3
  16. package/lib/pagination-handler.js +243 -0
  17. package/lib/search-renderer.js +116 -0
  18. package/lib/search.js +344 -0
  19. package/lib/template-engine/asset-transformer.js +41 -0
  20. package/lib/template-engine/collections-single-transformer.js +70 -0
  21. package/lib/template-engine/collections-transformer-base.js +84 -0
  22. package/lib/template-engine/collections-transformer.js +374 -0
  23. package/lib/template-engine/date-transformer.js +53 -0
  24. package/lib/template-engine/entities-transformer.js +67 -0
  25. package/lib/template-engine/partials-transformer.js +175 -0
  26. package/lib/template-engine/system-variables-provider.js +105 -0
  27. package/lib/template-engine/translate-transformer.js +98 -0
  28. package/lib/template-engine/translation-service.js +104 -0
  29. package/lib/template-engine/url-transformer.js +41 -0
  30. package/lib/template-engine.js +133 -438
  31. package/lib/templates-list.js +1 -0
  32. package/migrations/install.sql +18 -18
  33. package/package.json +4 -4
  34. package/templates/page.html +19 -2
  35. package/templates/partials/entriesListView.html +14 -0
  36. package/templates/partials/pagedCollection.html +33 -0
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@reldens/cms",
3
3
  "scope": "@reldens",
4
- "version": "0.18.0",
4
+ "version": "0.20.0",
5
5
  "description": "Reldens - CMS",
6
6
  "author": "Damian A. Pastorini",
7
7
  "license": "MIT",
@@ -33,10 +33,10 @@
33
33
  "url": "https://github.com/damian-pastorini/reldens-cms/issues"
34
34
  },
35
35
  "dependencies": {
36
- "@reldens/server-utils": "^0.19.0",
37
- "@reldens/storage": "^0.59.0",
36
+ "@reldens/server-utils": "^0.21.0",
37
+ "@reldens/storage": "^0.61.0",
38
38
  "@reldens/utils": "^0.50.0",
39
- "dotenv": "^16.5.0",
39
+ "dotenv": "^17.0.1",
40
40
  "mustache": "^4.2.0"
41
41
  }
42
42
  }
@@ -2,23 +2,40 @@
2
2
  <html lang="{{locale}}">
3
3
  <head>
4
4
  <title>{{meta_title}}</title>
5
+ <meta name="language" content="{{locale}}"/>
5
6
  <meta charset="utf-8"/>
6
7
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=5.0, user-scalable=yes, viewport-fit=cover"/>
7
- <meta name="description" content="{{meta_description}}">
8
8
  <meta name="robots" content="{{meta_robots}}">
9
9
  <meta name="theme-color" content="{{meta_theme_color}}"/>
10
+ {{#meta_description}}
11
+ <meta name="description" content="{{meta_description}}"/>
12
+ {{/meta_description}}
10
13
  <meta property="og:title" content="{{meta_og_title}}"/>
14
+ {{#meta_og_description}}
11
15
  <meta property="og:description" content="{{meta_og_description}}"/>
16
+ {{/meta_og_description}}
17
+ {{#meta_og_image}}
12
18
  <meta property="og:image" content="{{meta_og_image}}"/>
19
+ {{/meta_og_image}}
20
+ {{#meta_twitter_card_type}}
13
21
  <meta name="twitter:card" content="{{meta_twitter_card_type}}"/>
14
- <meta name="language" content="{{locale}}"/>
22
+ {{/meta_twitter_card_type}}
23
+ {{#publish_date}}
15
24
  <meta name="publish-date" content="{{publish_date}}"/>
25
+ {{/publish_date}}
26
+ {{#expire_date}}
16
27
  <meta name="expire-date" content="{{expire_date}}"/>
28
+ {{/expire_date}}
29
+ {{#canonical_url}}
17
30
  <link rel="canonical" href="{{canonical_url}}"/>
31
+ {{/canonical_url}}
32
+ <!-- CSS and JS -->
18
33
  <link href="/css/styles.css" rel="stylesheet"/>
34
+ <script src="/js/cookie-consent.js"></script>
19
35
  </head>
20
36
  <body class="{{siteHandle}}">
21
37
  {{&content}}
38
+ {{>cookie-consent}}
22
39
  <script type="text/javascript" defer src="/js/scripts.js"></script>
23
40
  </body>
24
41
  </html>
@@ -0,0 +1,14 @@
1
+ <div class="col-lg-6 mt-2 mb-2">
2
+ <div class="entry-item">
3
+ <div class="pic use-circle">
4
+ <img src="{{&row.json_data.image}}" alt="{{row.title}}"/>
5
+ </div>
6
+ <div class="entry-info">
7
+ <a href="{{&row.routes.path}}"{{targetBlank}}>
8
+ <h4>{{ row.title }}</h4>
9
+ {{&row.json_data.shortDescription}}
10
+ <p>{{&row.json_data.date}}</p>
11
+ </a>
12
+ </div>
13
+ </div>
14
+ </div>
@@ -0,0 +1,33 @@
1
+ {{#hasResults}}
2
+ <div class="row paginated-contents">
3
+ {{&collectionContentForCurrentPage}}
4
+ </div>
5
+ <div class="row pager-container">
6
+ <div class="pagination col-lg-12 mt-2 mb-2">
7
+ <ul>
8
+ {{#prevPageUrl}}
9
+ <li class="previous previous-page"><a href="{{ prevPageUrl }}">{{&prevPageLabel }}</a></li>
10
+ {{/prevPageUrl}}
11
+ {{#prevPages}}
12
+ <li class="previous previous-pages"><a href="{{ pageUrl }}">{{&pageLabel }}</a></li>
13
+ {{/prevPages}}
14
+ <li class="current">{{&currentPage }}</li>
15
+ {{#nextPages}}
16
+ <li class="next next-pages"><a href="{{ pageUrl }}">{{&pageLabel }}</a></li>
17
+ {{/nextPages}}
18
+ {{#nextPageUrl}}
19
+ <li class="next next-page"><a href="{{ nextPageUrl }}">{{&nextPageLabel }}</a></li>
20
+ {{/nextPageUrl}}
21
+ </ul>
22
+ </div>
23
+ </div>
24
+ {{/hasResults}}
25
+ {{^hasResults}}
26
+ <div class="row no-results-container">
27
+ <div class="col-12">
28
+ <div class="alert alert-info">
29
+ <p>{{noResultsMessage}}</p>
30
+ </div>
31
+ </div>
32
+ </div>
33
+ {{/hasResults}}