tecitheme 0.3.2 → 0.3.4

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 (156) hide show
  1. package/.eslintrc.cjs +24 -0
  2. package/.frontmatter/content/mediaDb.json +1 -0
  3. package/.frontmatter/templates/article.md +11 -0
  4. package/.gitpod.yml +19 -0
  5. package/.vscode/ltex.dictionary.en-US.txt +3 -0
  6. package/.vscode/settings.json +7 -0
  7. package/dist/assets/js/store.d.ts +2 -0
  8. package/dist/assets/js/store.js +4 -0
  9. package/{components → dist/components}/CountrySelector.svelte +2 -2
  10. package/{components → dist/components}/Footer.svelte +24 -60
  11. package/{components → dist/components}/Footer.svelte.d.ts +2 -5
  12. package/{components → dist/components}/NewsGrid.svelte +3 -3
  13. package/{components → dist/components}/Video.svelte +1 -1
  14. package/{get-content.d.ts → dist/get-content.d.ts} +2 -1
  15. package/{get-content.js → dist/get-content.js} +5 -2
  16. package/{layouts → dist/layouts}/blocks.svelte +19 -27
  17. package/{layouts → dist/layouts}/blocks.svelte.d.ts +4 -4
  18. package/{site_config.json → dist/site_config.json} +1 -1
  19. package/frontmatter.json +17 -0
  20. package/mdsvex.config.js +19 -0
  21. package/netlify.toml +7 -0
  22. package/package.json +22 -46
  23. package/postcss.config.cjs +13 -0
  24. package/src/app.css +49 -0
  25. package/src/app.html +22 -0
  26. package/src/global.d.ts +5 -0
  27. package/src/lib/assets/TECi_logo.svelte +177 -0
  28. package/src/lib/assets/js/store.js +4 -0
  29. package/src/lib/components/Banner.svelte +91 -0
  30. package/src/lib/components/Button.svelte +12 -0
  31. package/src/lib/components/CTA.svelte +36 -0
  32. package/src/lib/components/CTABranded.svelte +15 -0
  33. package/src/lib/components/CTASplitImage.svelte +27 -0
  34. package/src/lib/components/Card.svelte +93 -0
  35. package/src/lib/components/ContentTwoColumns.svelte +47 -0
  36. package/src/lib/components/CountrySelector.svelte +167 -0
  37. package/src/lib/components/FeatureGrid.svelte +40 -0
  38. package/src/lib/components/Figure.svelte +37 -0
  39. package/src/lib/components/Footer.svelte +270 -0
  40. package/src/lib/components/Header.svelte +1230 -0
  41. package/src/lib/components/HeadingCentered.svelte +33 -0
  42. package/src/lib/components/Hero.svelte +72 -0
  43. package/src/lib/components/Icon.svelte +138 -0
  44. package/src/lib/components/LogoCloud.svelte +25 -0
  45. package/src/lib/components/Math.svelte +24 -0
  46. package/src/lib/components/MediaFeature.svelte +66 -0
  47. package/src/lib/components/Modal.svelte +68 -0
  48. package/src/lib/components/NewsGrid.svelte +182 -0
  49. package/src/lib/components/PricingTable.svelte +92 -0
  50. package/src/lib/components/SidebarContent.svelte +122 -0
  51. package/src/lib/components/Stats.svelte +34 -0
  52. package/src/lib/components/Subscribe.svelte +24 -0
  53. package/src/lib/components/Testimonial.svelte +169 -0
  54. package/src/lib/components/ThreeColumn.svelte +19 -0
  55. package/src/lib/components/TrialForm.svelte +302 -0
  56. package/src/lib/components/Video.svelte +118 -0
  57. package/src/lib/components/Wrap.svelte +12 -0
  58. package/src/lib/get-content.js +98 -0
  59. package/src/lib/layouts/blocks.svelte +93 -0
  60. package/src/lib/req_utils.js +63 -0
  61. package/src/lib/site_config.json +11 -0
  62. package/src/lib/utils.js +92 -0
  63. package/src/lib/variables.ts +3 -0
  64. package/src/routes/+layout.server.js +20 -0
  65. package/src/routes/+layout.svelte +24 -0
  66. package/src/routes/+page.md +61 -0
  67. package/src/routes/features/+page.md +78 -0
  68. package/src/routes/news/+page.md +21 -0
  69. package/src/routes/news/[slug]/+page.svelte +33 -0
  70. package/src/routes/news/[slug]/+page.ts +16 -0
  71. package/src/routes/news/filter/[tag]/+page.svelte +36 -0
  72. package/src/routes/news/filter/[tag]/+page.ts +14 -0
  73. package/src/routes/news/post1.md +45 -0
  74. package/src/routes/news/post2.md +46 -0
  75. package/src/routes/pathfinder/+page.md +240 -0
  76. package/src/routes/pathfinder/news/+page.md +20 -0
  77. package/src/routes/posts.json/+server.js +9 -0
  78. package/src/routes/product/+page.md +240 -0
  79. package/src/routes/product/news/+page.md +20 -0
  80. package/src/routes/product/trial/+page.svelte +7 -0
  81. package/src/routes/sidebar/+page.md +357 -0
  82. package/static/favicon.ico +0 -0
  83. package/static/uploads/company_pathfinder.png +0 -0
  84. package/static/uploads/company_petrasim.png +0 -0
  85. package/static/uploads/company_pyrosim.jpg +0 -0
  86. package/static/uploads/fire.jpg +0 -0
  87. package/static/uploads/pyrosim_libraries_386x395.png +0 -0
  88. package/static/uploads/rocks.jpg +0 -0
  89. package/static/uploads/water.jpg +0 -0
  90. package/svelte.config.js +32 -0
  91. package/tailwind.config.cjs +26 -0
  92. package/tsconfig.json +32 -0
  93. package/vite.config.js +20 -0
  94. package/components/MetaSocial.svelte +0 -15
  95. package/components/MetaSocial.svelte.d.ts +0 -29
  96. /package/{assets → dist/assets}/TECi_logo.svelte +0 -0
  97. /package/{assets → dist/assets}/TECi_logo.svelte.d.ts +0 -0
  98. /package/{components → dist/components}/Banner.svelte +0 -0
  99. /package/{components → dist/components}/Banner.svelte.d.ts +0 -0
  100. /package/{components → dist/components}/Button.svelte +0 -0
  101. /package/{components → dist/components}/Button.svelte.d.ts +0 -0
  102. /package/{components → dist/components}/CTA.svelte +0 -0
  103. /package/{components → dist/components}/CTA.svelte.d.ts +0 -0
  104. /package/{components → dist/components}/CTABranded.svelte +0 -0
  105. /package/{components → dist/components}/CTABranded.svelte.d.ts +0 -0
  106. /package/{components → dist/components}/CTASplitImage.svelte +0 -0
  107. /package/{components → dist/components}/CTASplitImage.svelte.d.ts +0 -0
  108. /package/{components → dist/components}/Card.svelte +0 -0
  109. /package/{components → dist/components}/Card.svelte.d.ts +0 -0
  110. /package/{components → dist/components}/ContentTwoColumns.svelte +0 -0
  111. /package/{components → dist/components}/ContentTwoColumns.svelte.d.ts +0 -0
  112. /package/{components → dist/components}/CountrySelector.svelte.d.ts +0 -0
  113. /package/{components → dist/components}/FeatureGrid.svelte +0 -0
  114. /package/{components → dist/components}/FeatureGrid.svelte.d.ts +0 -0
  115. /package/{components → dist/components}/Figure.svelte +0 -0
  116. /package/{components → dist/components}/Figure.svelte.d.ts +0 -0
  117. /package/{components → dist/components}/Header.svelte +0 -0
  118. /package/{components → dist/components}/Header.svelte.d.ts +0 -0
  119. /package/{components → dist/components}/HeadingCentered.svelte +0 -0
  120. /package/{components → dist/components}/HeadingCentered.svelte.d.ts +0 -0
  121. /package/{components → dist/components}/Hero.svelte +0 -0
  122. /package/{components → dist/components}/Hero.svelte.d.ts +0 -0
  123. /package/{components → dist/components}/Icon.svelte +0 -0
  124. /package/{components → dist/components}/Icon.svelte.d.ts +0 -0
  125. /package/{components → dist/components}/LogoCloud.svelte +0 -0
  126. /package/{components → dist/components}/LogoCloud.svelte.d.ts +0 -0
  127. /package/{components → dist/components}/Math.svelte +0 -0
  128. /package/{components → dist/components}/Math.svelte.d.ts +0 -0
  129. /package/{components → dist/components}/MediaFeature.svelte +0 -0
  130. /package/{components → dist/components}/MediaFeature.svelte.d.ts +0 -0
  131. /package/{components → dist/components}/Modal.svelte +0 -0
  132. /package/{components → dist/components}/Modal.svelte.d.ts +0 -0
  133. /package/{components → dist/components}/NewsGrid.svelte.d.ts +0 -0
  134. /package/{components → dist/components}/PricingTable.svelte +0 -0
  135. /package/{components → dist/components}/PricingTable.svelte.d.ts +0 -0
  136. /package/{components → dist/components}/SidebarContent.svelte +0 -0
  137. /package/{components → dist/components}/SidebarContent.svelte.d.ts +0 -0
  138. /package/{components → dist/components}/Stats.svelte +0 -0
  139. /package/{components → dist/components}/Stats.svelte.d.ts +0 -0
  140. /package/{components → dist/components}/Subscribe.svelte +0 -0
  141. /package/{components → dist/components}/Subscribe.svelte.d.ts +0 -0
  142. /package/{components → dist/components}/Testimonial.svelte +0 -0
  143. /package/{components → dist/components}/Testimonial.svelte.d.ts +0 -0
  144. /package/{components → dist/components}/ThreeColumn.svelte +0 -0
  145. /package/{components → dist/components}/ThreeColumn.svelte.d.ts +0 -0
  146. /package/{components → dist/components}/TrialForm.svelte +0 -0
  147. /package/{components → dist/components}/TrialForm.svelte.d.ts +0 -0
  148. /package/{components → dist/components}/Video.svelte.d.ts +0 -0
  149. /package/{components → dist/components}/Wrap.svelte +0 -0
  150. /package/{components → dist/components}/Wrap.svelte.d.ts +0 -0
  151. /package/{req_utils.d.ts → dist/req_utils.d.ts} +0 -0
  152. /package/{req_utils.js → dist/req_utils.js} +0 -0
  153. /package/{utils.d.ts → dist/utils.d.ts} +0 -0
  154. /package/{utils.js → dist/utils.js} +0 -0
  155. /package/{variables.d.ts → dist/variables.d.ts} +0 -0
  156. /package/{variables.js → dist/variables.js} +0 -0
package/.eslintrc.cjs ADDED
@@ -0,0 +1,24 @@
1
+ module.exports = {
2
+ root: true,
3
+ parser: "@typescript-eslint/parser",
4
+ extends: [
5
+ "eslint:recommended",
6
+ "plugin:@typescript-eslint/recommended",
7
+ "prettier",
8
+ ],
9
+ plugins: ["svelte3", "@typescript-eslint"],
10
+ ignorePatterns: ["*.cjs"],
11
+ overrides: [{ files: ["*.svelte"], processor: "svelte3/svelte3" }],
12
+ settings: {
13
+ "svelte3/typescript": () => require("typescript"),
14
+ },
15
+ parserOptions: {
16
+ sourceType: "module",
17
+ ecmaVersion: 2020,
18
+ },
19
+ env: {
20
+ browser: true,
21
+ es2017: true,
22
+ node: true,
23
+ },
24
+ };
@@ -0,0 +1 @@
1
+ {}
@@ -0,0 +1,11 @@
1
+ ---
2
+ draft: true
3
+ title: null
4
+ summary: null
5
+ date: null
6
+ lastmod: null
7
+ tags: []
8
+ categories: []
9
+ layout: blocks
10
+ page_sections: []
11
+ ---
package/.gitpod.yml ADDED
@@ -0,0 +1,19 @@
1
+ ports:
2
+ - port: 5173
3
+ onOpen: open-browser
4
+
5
+ # List the start up tasks. You can start them in parallel in multiple terminals. See https://www.gitpod.io/docs/config-start-tasks/
6
+ tasks:
7
+ - init: npm install
8
+ command: |
9
+ export HMR_HOST=`gp url 5173`
10
+ npm run dev
11
+
12
+ vscode:
13
+ extensions:
14
+ - svelte.svelte-vscode
15
+ - bradlc.vscode-tailwindcss
16
+ - csstools.postcss
17
+ - carlocardella.vscode-texttoolbox
18
+ - PKief.material-icon-theme
19
+ - fivethree.vscode-svelte-snippets
@@ -0,0 +1,3 @@
1
+ ThunderTheme
2
+ SvelteKit
3
+ PyroSim
@@ -0,0 +1,7 @@
1
+ {
2
+ "editor.tabSize": 2,
3
+ "workbench.editor.labelFormat": "short",
4
+ "explorer.compactFolders": false,
5
+ "workbench.iconTheme": "material-icon-theme",
6
+ "workbench.tree.indent": 12
7
+ }
@@ -0,0 +1,2 @@
1
+ export const currentPage: import("svelte/store").Writable<string>;
2
+ export const isMenuOpen: import("svelte/store").Writable<boolean>;
@@ -0,0 +1,4 @@
1
+ import { writable } from 'svelte/store'
2
+
3
+ export const currentPage = writable('')
4
+ export const isMenuOpen = writable(false)
@@ -21,8 +21,8 @@
21
21
  ['IT', 'HU'],
22
22
  ['JP'],
23
23
  ['KR'],
24
- ['PL'],
25
- ['RU', 'AM', 'AZ', 'BY', 'GE', 'KZ', 'KG', 'MD', 'TJ', 'TM', 'UA', 'UZ'],
24
+ ['PL', 'UA'],
25
+ ['RU', 'AM', 'AZ', 'BY', 'GE', 'KZ', 'KG', 'MD', 'TJ', 'TM', 'UZ'],
26
26
  ['RO'],
27
27
  ['SG', 'MY', 'ID', 'VN'],
28
28
  ['ES'],
@@ -1,24 +1,5 @@
1
1
  <script>
2
- import { page } from "$app/stores";
3
- export const token = $page.data.token;
4
- export let login = false;
5
-
6
2
  let d = new Date();
7
-
8
- async function signOut() {
9
- const response = await fetch("/auth/logout", {
10
- method: "GET",
11
- headers: {
12
- "content-type": "application/json",
13
- },
14
- });
15
- if (response.ok) {
16
- visibleProfile = !visibleProfile;
17
- window.location.href = "/";
18
- } else {
19
- alert(await response.text());
20
- }
21
- }
22
3
  </script>
23
4
 
24
5
  <footer id="bottom" class="bg-gray-800" aria-labelledby="footerHeading">
@@ -29,7 +10,7 @@
29
10
  <div class="md:grid md:grid-cols-2 md:gap-8">
30
11
  <div>
31
12
  <h3
32
- class="text-sm font-semibold uppercase tracking-wider text-gray-500"
13
+ class="text-sm font-bold uppercase tracking-wider text-gray-300"
33
14
  >
34
15
  Products
35
16
  </h3>
@@ -37,7 +18,7 @@
37
18
  <li>
38
19
  <a
39
20
  href="https://www.thunderheadeng.com/pyrosim/"
40
- class="text-base text-gray-300 hover:text-white"
21
+ class="text-base text-gray-100 hover:text-white"
41
22
  >
42
23
  PyroSim
43
24
  </a>
@@ -45,7 +26,7 @@
45
26
  <li>
46
27
  <a
47
28
  href="https://www.thunderheadeng.com/pathfinder/"
48
- class="text-base text-gray-300 hover:text-white"
29
+ class="text-base text-gray-100 hover:text-white"
49
30
  >
50
31
  Pathfinder
51
32
  </a>
@@ -53,7 +34,7 @@
53
34
  <li>
54
35
  <a
55
36
  href="https://www.thunderheadeng.com/petrasim/"
56
- class="text-base text-gray-300 hover:text-white"
37
+ class="text-base text-gray-100 hover:text-white"
57
38
  >
58
39
  PetraSim
59
40
  </a>
@@ -61,7 +42,7 @@
61
42
  <li>
62
43
  <a
63
44
  href="https://www.thunderheadeng.com/other"
64
- class="text-base text-gray-300 hover:text-white"
45
+ class="text-base text-gray-100 hover:text-white"
65
46
  >
66
47
  Other Tools
67
48
  </a>
@@ -70,7 +51,7 @@
70
51
  </div>
71
52
  <div class="mt-12 md:mt-0">
72
53
  <h3
73
- class="text-sm font-semibold uppercase tracking-wider text-gray-500"
54
+ class="text-sm font-bold uppercase tracking-wider text-gray-300"
74
55
  >
75
56
  Support
76
57
  </h3>
@@ -78,7 +59,7 @@
78
59
  <li>
79
60
  <a
80
61
  href="https://support.thunderheadeng.com/docs/"
81
- class="text-base text-gray-300 hover:text-white"
62
+ class="text-base text-gray-100 hover:text-white"
82
63
  >
83
64
  Documentation
84
65
  </a>
@@ -86,7 +67,7 @@
86
67
  <li>
87
68
  <a
88
69
  href="https://support.thunderheadeng.com/tutorials/"
89
- class="text-base text-gray-300 hover:text-white"
70
+ class="text-base text-gray-100 hover:text-white"
90
71
  >
91
72
  Tutorials
92
73
  </a>
@@ -94,7 +75,7 @@
94
75
  <li>
95
76
  <a
96
77
  href="https://support.thunderheadeng.com/release-notes/"
97
- class="text-base text-gray-300 hover:text-white"
78
+ class="text-base text-gray-100 hover:text-white"
98
79
  >
99
80
  Release Notes
100
81
  </a>
@@ -102,7 +83,7 @@
102
83
  <li>
103
84
  <a
104
85
  href="https://support.thunderheadeng.com/answers/"
105
- class="text-base text-gray-300 hover:text-white"
86
+ class="text-base text-gray-100 hover:text-white"
106
87
  >
107
88
  FAQs
108
89
  </a>
@@ -113,7 +94,7 @@
113
94
  <div class="md:grid md:grid-cols-2 md:gap-8">
114
95
  <div>
115
96
  <h3
116
- class="text-sm font-semibold uppercase tracking-wider text-gray-500"
97
+ class="text-sm font-bold uppercase tracking-wider text-gray-300"
117
98
  >
118
99
  Events
119
100
  </h3>
@@ -121,7 +102,7 @@
121
102
  <li>
122
103
  <a
123
104
  href="https://www.thunderheadeng.com/training/"
124
- class="text-base text-gray-300 hover:text-white"
105
+ class="text-base text-gray-100 hover:text-white"
125
106
  >
126
107
  Calendar
127
108
  </a>
@@ -129,7 +110,7 @@
129
110
  <li>
130
111
  <a
131
112
  href="https://www.femtc.com/"
132
- class="text-base text-gray-300 hover:text-white"
113
+ class="text-base text-gray-100 hover:text-white"
133
114
  >
134
115
  FEMTC
135
116
  </a>
@@ -137,7 +118,7 @@
137
118
  <li>
138
119
  <a
139
120
  href="https://www.thunderheadeng.com/training/"
140
- class="text-base text-gray-300 hover:text-white"
121
+ class="text-base text-gray-100 hover:text-white"
141
122
  >
142
123
  Training
143
124
  </a>
@@ -146,7 +127,7 @@
146
127
  </div>
147
128
  <div class="mt-12 md:mt-0">
148
129
  <h3
149
- class="text-sm font-semibold uppercase tracking-wider text-gray-500"
130
+ class="text-sm font-bold uppercase tracking-wider text-gray-300"
150
131
  >
151
132
  Company
152
133
  </h3>
@@ -154,7 +135,7 @@
154
135
  <li>
155
136
  <a
156
137
  href="https://www.thunderheadeng.com/about/"
157
- class="text-base text-gray-300 hover:text-white"
138
+ class="text-base text-gray-100 hover:text-white"
158
139
  >
159
140
  About
160
141
  </a>
@@ -162,7 +143,7 @@
162
143
  <li>
163
144
  <a
164
145
  href="https://www.thunderheadeng.com/news/"
165
- class="text-base text-gray-300 hover:text-white"
146
+ class="text-base text-gray-100 hover:text-white"
166
147
  >
167
148
  News
168
149
  </a>
@@ -170,7 +151,7 @@
170
151
  <li>
171
152
  <a
172
153
  href="https://www.thunderheadeng.com/job-openings/"
173
- class="text-base text-gray-300 hover:text-white"
154
+ class="text-base text-gray-100 hover:text-white"
174
155
  >
175
156
  Jobs
176
157
  </a>
@@ -178,7 +159,7 @@
178
159
  <li>
179
160
  <a
180
161
  href="https://www.thunderheadeng.com/partners"
181
- class="text-base text-gray-300 hover:text-white"
162
+ class="text-base text-gray-100 hover:text-white"
182
163
  >
183
164
  Partners
184
165
  </a>
@@ -189,7 +170,7 @@
189
170
  </div>
190
171
  <div class="mt-8 flex flex-col justify-between md:items-end xl:mt-0">
191
172
  <h3
192
- class="text-right text-sm font-semibold uppercase tracking-wider text-gray-500"
173
+ class="text-right text-sm font-bold uppercase tracking-wider text-gray-300"
193
174
  >
194
175
  Subscribe to Updates
195
176
  </h3>
@@ -229,7 +210,7 @@
229
210
  <div class="flex space-x-6 md:order-3">
230
211
  <a
231
212
  href="https://www.linkedin.com/company/thunderheadeng"
232
- class="text-gray-400 hover:text-gray-300"
213
+ class="text-gray-300 hover:text-gray-300"
233
214
  >
234
215
  <span class="sr-only">LinkedIn</span>
235
216
  <svg
@@ -247,7 +228,7 @@
247
228
 
248
229
  <a
249
230
  href="https://www.facebook.com/thunderheadeng"
250
- class="text-gray-400 hover:text-gray-300"
231
+ class="text-gray-300 hover:text-gray-300"
251
232
  >
252
233
  <span class="sr-only">Facebook</span>
253
234
  <svg
@@ -266,7 +247,7 @@
266
247
 
267
248
  <a
268
249
  href="https://twitter.com/thunderheadeng"
269
- class="text-gray-400 hover:text-gray-300"
250
+ class="text-gray-300 hover:text-gray-300"
270
251
  >
271
252
  <span class="sr-only">Twitter</span>
272
253
  <svg
@@ -281,26 +262,9 @@
281
262
  </svg>
282
263
  </a>
283
264
  </div>
284
- <p class="mt-8 text-sm text-gray-500 md:order-1 md:mt-0">
265
+ <p class="mt-8 text-sm text-gray-300 md:order-1 md:mt-0">
285
266
  &copy; 1998 - {d.getFullYear()} Thunderhead Engineering, All rights reserved.
286
267
  </p>
287
- {#if login}
288
- <div class="mt-4 md:order-2 md:mt-0">
289
- {#if token}
290
- <button
291
- on:click|preventDefault={signOut}
292
- class="mx-auto flex w-40 items-center justify-center border border-transparent bg-teci-blue-dark px-4 py-2 text-base font-medium leading-6 text-white transition duration-150 ease-in-out hover:bg-teci-blue-light focus:border-teci-blue-dark focus:outline-none"
293
- >Staff Log out</button
294
- >
295
- {:else}
296
- <a
297
- href="/auth/login"
298
- class="mx-auto flex w-40 items-center justify-center border border-transparent bg-teci-blue-dark px-4 py-2 text-base font-medium leading-6 text-white transition duration-150 ease-in-out hover:bg-teci-blue-light focus:border-teci-blue-dark focus:outline-none"
299
- >Staff Sign In</a
300
- >
301
- {/if}
302
- </div>
303
- {/if}
304
268
  </div>
305
269
  </div>
306
270
  </footer>
@@ -2,12 +2,10 @@
2
2
  /** @typedef {typeof __propDef.events} FooterEvents */
3
3
  /** @typedef {typeof __propDef.slots} FooterSlots */
4
4
  export default class Footer extends SvelteComponentTyped<{
5
- token?: any;
6
- login?: boolean;
5
+ [x: string]: never;
7
6
  }, {
8
7
  [evt: string]: CustomEvent<any>;
9
8
  }, {}> {
10
- get token(): any;
11
9
  }
12
10
  export type FooterProps = typeof __propDef.props;
13
11
  export type FooterEvents = typeof __propDef.events;
@@ -15,8 +13,7 @@ export type FooterSlots = typeof __propDef.slots;
15
13
  import { SvelteComponentTyped } from "svelte";
16
14
  declare const __propDef: {
17
15
  props: {
18
- token?: any;
19
- login?: boolean;
16
+ [x: string]: never;
20
17
  };
21
18
  events: {
22
19
  [evt: string]: CustomEvent<any>;
@@ -1,11 +1,11 @@
1
1
  <script>
2
- import { getContext } from "svelte";
2
+ import { page } from '$app/stores';
3
3
  import { paginate, PaginationNav } from "svelte-paginate";
4
4
  import Icon from "./Icon.svelte";
5
5
 
6
6
  export let data;
7
7
 
8
- let posts = getContext("newsPosts");
8
+ let posts = $page.data.newsPosts;
9
9
  let filteredPosts = [];
10
10
  let items = [];
11
11
  let currentPage = 1;
@@ -131,7 +131,7 @@
131
131
  <a
132
132
  class="mr-2 mb-2 inline-block"
133
133
  href="/news/filter/{term}"
134
- rel="external"
134
+ target="_self"
135
135
  >
136
136
  <span
137
137
  class="inline-flex items-center rounded-full bg-teci-blue-dark px-2.5 py-0.5 text-xs text-white hover:bg-teci-blue-light"
@@ -64,7 +64,7 @@
64
64
  thumb = `https://teci-files.imgix.net/www/images/${data.thumbnail}?w=1214&fit=clip&auto=compress&auto=format`;
65
65
  } else if (id) {
66
66
  if (youtube) {
67
- thumb = `https://img.youtube.com/vi/${id}/hqdefault.jpg`;
67
+ thumb = `https://i.ytimg.com/vi/${id}/maxresdefault.jpg`;
68
68
  }
69
69
  }
70
70
  </script>
@@ -1,4 +1,5 @@
1
- export function getContent(content: any): Promise<{
1
+ export default getContent;
2
+ declare function getContent(content?: string): Promise<{
2
3
  title: any;
3
4
  content: any;
4
5
  summary: any;
@@ -3,7 +3,8 @@
3
3
  import { convert } from "html-to-text";
4
4
  import { dev } from "$app/environment";
5
5
 
6
- export async function getContent(content) {
6
+ const getContent = async (content='') => {
7
+
7
8
  let indexData = [];
8
9
  let iterableContentFiles = Object.entries([]);
9
10
  let sortedIndex = [];
@@ -89,7 +90,9 @@ export async function getContent(content) {
89
90
  }
90
91
  }
91
92
 
92
- sortedIndex = indexData.slice().sort((a, b) => b.date - a.date);
93
+ sortedIndex = indexData.slice().sort((a, b) => new Date(b.date) - new Date(a.date));
93
94
 
94
95
  return sortedIndex;
95
96
  }
97
+
98
+ export default getContent
@@ -1,7 +1,4 @@
1
1
  <script>
2
- import { browser, dev } from "$app/environment";
3
- import { getContext } from "svelte";
4
-
5
2
  import CTA from "../components/CTA.svelte";
6
3
  import HeadingCentered from "../components/HeadingCentered.svelte";
7
4
  import MediaFeature from "../components/MediaFeature.svelte";
@@ -11,7 +8,6 @@
11
8
  import ThreeColumn from "../components/ThreeColumn.svelte";
12
9
  import TrialForm from "../components/TrialForm.svelte";
13
10
  import Video from "../components/Video.svelte";
14
- import MetaSocial from "../components/MetaSocial.svelte";
15
11
  import Hero from "../components/Hero.svelte";
16
12
  import CTABranded from "../components/CTABranded.svelte";
17
13
  import FeatureGrid from "../components/FeatureGrid.svelte";
@@ -45,40 +41,36 @@
45
41
 
46
42
  export let title;
47
43
  export let date;
48
- export let lastmod;
49
44
  export let summary;
50
- export let images = [];
45
+ export let image;
46
+ export let lastmod;
51
47
  export let layout;
52
48
  export let page_sections;
53
49
 
54
50
  let featuredImage;
55
- let url;
56
- let host;
57
-
58
- url = getContext("currentURL");
59
- host = getContext("currentHost");
60
51
 
61
- if (images.length > 0) {
62
- if (dev) {
63
- featuredImage = images[0];
64
- } else {
65
- featuredImage =
66
- "https://teci-files.imgix.net/www/images/" +
67
- images[0] +
68
- "?w=1200&h=627&fit=crop&auto=compress&auto=format";
69
- }
52
+ if (image) {
53
+ featuredImage = "https://teci-files.imgix.net/www/images/" + image + "?w=1200&h=627&fit=crop&auto=compress&auto=format";
70
54
  } else {
71
- featuredImage =
72
- "https://teci-files.imgix.net/www/images/teci_icon_250.png";
55
+ featuredImage = "https://teci-files.imgix.net/www/images/teci_icon_250.png";
73
56
  }
74
57
  </script>
75
58
 
76
59
  <svelte:head>
77
- <title>{title} | Thunderhead Engineering</title>
78
- <meta name="description" content={summary} />
79
- {#if browser}
80
- <MetaSocial {title} description={summary} image={featuredImage} {url} />
81
- {/if}
60
+ <title>{title} | Thunderhead Engineering</title>
61
+ <meta data-key="description" name="description" content={summary}>
62
+ <meta property="og:type" content="article" />
63
+ <meta property="og:title" content={title} />
64
+ <meta name="twitter:title" content={title} />
65
+ <meta property="og:description" content={summary} />
66
+ <meta name="twitter:description" content={summary} />
67
+ <meta name="twitter:card" content="summary_large_image" />
68
+ <meta name="twitter:site" content="@thunderheadeng" />
69
+ <meta name="twitter:creator" content="@thunderheadeng" />
70
+ <meta property="og:image" content={featuredImage} />
71
+ <meta name="twitter:card" content={featuredImage} />
72
+ <!-- <meta property="og:image:width" content={coverWidth} />
73
+ <meta property="og:image:height" content={coverHeight} /> -->
82
74
  </svelte:head>
83
75
 
84
76
  <article class="flex flex-col space-y-16 {layout}">
@@ -2,13 +2,13 @@
2
2
  /** @typedef {typeof __propDef.events} BlocksEvents */
3
3
  /** @typedef {typeof __propDef.slots} BlocksSlots */
4
4
  export default class Blocks extends SvelteComponentTyped<{
5
- summary: any;
6
5
  title: any;
7
6
  date: any;
7
+ summary: any;
8
+ image: any;
8
9
  lastmod: any;
9
10
  layout: any;
10
11
  page_sections: any;
11
- images?: any[];
12
12
  }, {
13
13
  [evt: string]: CustomEvent<any>;
14
14
  }, {
@@ -21,13 +21,13 @@ export type BlocksSlots = typeof __propDef.slots;
21
21
  import { SvelteComponentTyped } from "svelte";
22
22
  declare const __propDef: {
23
23
  props: {
24
- summary: any;
25
24
  title: any;
26
25
  date: any;
26
+ summary: any;
27
+ image: any;
27
28
  lastmod: any;
28
29
  layout: any;
29
30
  page_sections: any;
30
- images?: any[];
31
31
  };
32
32
  events: {
33
33
  [evt: string]: CustomEvent<any>;
@@ -8,4 +8,4 @@
8
8
  "ctaLink": "https://www.thunderheadeng.com",
9
9
  "allowClose": false
10
10
  }
11
- }
11
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$schema": "https://beta.frontmatter.codes/frontmatter.schema.json",
3
+ "frontMatter.framework.id": "other",
4
+ "frontMatter.content.publicFolder": "",
5
+ "frontMatter.content.autoUpdateDate": true,
6
+ "frontMatter.content.pageFolders": [
7
+ {
8
+ "title": "Pages",
9
+ "path": "[[workspace]]/src/routes",
10
+ "excludeSubdir": true
11
+ },
12
+ {
13
+ "title": "News",
14
+ "path": "[[workspace]]/src/routes/news"
15
+ }
16
+ ]
17
+ }
@@ -0,0 +1,19 @@
1
+ import slug from "rehype-slug";
2
+
3
+ const config = {
4
+ extensions: [".svelte.md", ".md", ".svx"],
5
+
6
+ layout: {
7
+ blocks: "./src/lib/layouts/blocks.svelte",
8
+ },
9
+
10
+ smartypants: {
11
+ dashes: "oldschool",
12
+ quotes: false,
13
+ },
14
+
15
+ remarkPlugins: [],
16
+ rehypePlugins: [[slug]],
17
+ };
18
+
19
+ export default config;
package/netlify.toml ADDED
@@ -0,0 +1,7 @@
1
+ [build]
2
+ command = "npm run build"
3
+ publish = "build"
4
+
5
+ [functions]
6
+ directory = "functions"
7
+ node_bundler = "esbuild"