tecitheme 0.3.4 → 0.4.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 (89) hide show
  1. package/README.md +0 -1
  2. package/dist/components/CountrySelector.svelte +2 -2
  3. package/dist/index.d.ts +31 -0
  4. package/dist/index.js +31 -0
  5. package/dist/utils.d.ts +1 -1
  6. package/dist/utils.js +2 -1
  7. package/dist/variables.d.ts +3 -3
  8. package/dist/variables.js +3 -1
  9. package/package.json +28 -27
  10. package/.eslintrc.cjs +0 -24
  11. package/.frontmatter/content/mediaDb.json +0 -1
  12. package/.frontmatter/templates/article.md +0 -11
  13. package/.gitpod.yml +0 -19
  14. package/.vscode/ltex.dictionary.en-US.txt +0 -3
  15. package/.vscode/settings.json +0 -7
  16. package/frontmatter.json +0 -17
  17. package/mdsvex.config.js +0 -19
  18. package/netlify.toml +0 -7
  19. package/postcss.config.cjs +0 -13
  20. package/src/app.css +0 -49
  21. package/src/app.html +0 -22
  22. package/src/global.d.ts +0 -5
  23. package/src/lib/assets/TECi_logo.svelte +0 -177
  24. package/src/lib/assets/js/store.js +0 -4
  25. package/src/lib/components/Banner.svelte +0 -91
  26. package/src/lib/components/Button.svelte +0 -12
  27. package/src/lib/components/CTA.svelte +0 -36
  28. package/src/lib/components/CTABranded.svelte +0 -15
  29. package/src/lib/components/CTASplitImage.svelte +0 -27
  30. package/src/lib/components/Card.svelte +0 -93
  31. package/src/lib/components/ContentTwoColumns.svelte +0 -47
  32. package/src/lib/components/CountrySelector.svelte +0 -167
  33. package/src/lib/components/FeatureGrid.svelte +0 -40
  34. package/src/lib/components/Figure.svelte +0 -37
  35. package/src/lib/components/Footer.svelte +0 -270
  36. package/src/lib/components/Header.svelte +0 -1230
  37. package/src/lib/components/HeadingCentered.svelte +0 -33
  38. package/src/lib/components/Hero.svelte +0 -72
  39. package/src/lib/components/Icon.svelte +0 -138
  40. package/src/lib/components/LogoCloud.svelte +0 -25
  41. package/src/lib/components/Math.svelte +0 -24
  42. package/src/lib/components/MediaFeature.svelte +0 -66
  43. package/src/lib/components/Modal.svelte +0 -68
  44. package/src/lib/components/NewsGrid.svelte +0 -182
  45. package/src/lib/components/PricingTable.svelte +0 -92
  46. package/src/lib/components/SidebarContent.svelte +0 -122
  47. package/src/lib/components/Stats.svelte +0 -34
  48. package/src/lib/components/Subscribe.svelte +0 -24
  49. package/src/lib/components/Testimonial.svelte +0 -169
  50. package/src/lib/components/ThreeColumn.svelte +0 -19
  51. package/src/lib/components/TrialForm.svelte +0 -302
  52. package/src/lib/components/Video.svelte +0 -118
  53. package/src/lib/components/Wrap.svelte +0 -12
  54. package/src/lib/get-content.js +0 -98
  55. package/src/lib/layouts/blocks.svelte +0 -93
  56. package/src/lib/req_utils.js +0 -63
  57. package/src/lib/site_config.json +0 -11
  58. package/src/lib/utils.js +0 -92
  59. package/src/lib/variables.ts +0 -3
  60. package/src/routes/+layout.server.js +0 -20
  61. package/src/routes/+layout.svelte +0 -24
  62. package/src/routes/+page.md +0 -61
  63. package/src/routes/features/+page.md +0 -78
  64. package/src/routes/news/+page.md +0 -21
  65. package/src/routes/news/[slug]/+page.svelte +0 -33
  66. package/src/routes/news/[slug]/+page.ts +0 -16
  67. package/src/routes/news/filter/[tag]/+page.svelte +0 -36
  68. package/src/routes/news/filter/[tag]/+page.ts +0 -14
  69. package/src/routes/news/post1.md +0 -45
  70. package/src/routes/news/post2.md +0 -46
  71. package/src/routes/pathfinder/+page.md +0 -240
  72. package/src/routes/pathfinder/news/+page.md +0 -20
  73. package/src/routes/posts.json/+server.js +0 -9
  74. package/src/routes/product/+page.md +0 -240
  75. package/src/routes/product/news/+page.md +0 -20
  76. package/src/routes/product/trial/+page.svelte +0 -7
  77. package/src/routes/sidebar/+page.md +0 -357
  78. package/static/favicon.ico +0 -0
  79. package/static/uploads/company_pathfinder.png +0 -0
  80. package/static/uploads/company_petrasim.png +0 -0
  81. package/static/uploads/company_pyrosim.jpg +0 -0
  82. package/static/uploads/fire.jpg +0 -0
  83. package/static/uploads/pyrosim_libraries_386x395.png +0 -0
  84. package/static/uploads/rocks.jpg +0 -0
  85. package/static/uploads/water.jpg +0 -0
  86. package/svelte.config.js +0 -32
  87. package/tailwind.config.cjs +0 -26
  88. package/tsconfig.json +0 -32
  89. package/vite.config.js +0 -20
@@ -1,11 +0,0 @@
1
- {
2
- "showBanner": false,
3
- "bannerData": {
4
- "showCTA": true,
5
- "shortText": "Short text in a few words to show how it works.",
6
- "longText": "Long test text that goes on and on for a while with some information about something that people should know about.",
7
- "ctaText": "Take Action",
8
- "ctaLink": "https://www.thunderheadeng.com",
9
- "allowClose": false
10
- }
11
- }
package/src/lib/utils.js DELETED
@@ -1,92 +0,0 @@
1
- export function scrollTo(anchor) {
2
- document.querySelector("#" + anchor).scrollIntoView({
3
- behavior: "smooth",
4
- });
5
- }
6
-
7
- export function validateEmail(email) {
8
- const re =
9
- /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
10
- return re.test(String(email).toLowerCase());
11
- }
12
-
13
- export const slugFromPath = (path) =>
14
- path.match(/([\w-]+)\.(svelte\.md|md|svx)/i)?.[1] ?? null;
15
-
16
- export function buildToC() {
17
- // Based on https://projectcodeed.blogspot.com/2020/04/an-automatic-table-of-contents.html
18
-
19
- // Get ToC div
20
- let toc = document.getElementById("ToC");
21
-
22
- //Add a header
23
- var tocHeader = document.createElement("a");
24
- tocHeader.classList.add(
25
- "mb-2",
26
- "inline-block",
27
- "w-auto",
28
- "text-center",
29
- "bg-gray-50",
30
- "hover:bg-gray-100",
31
- "py-1",
32
- "px-2",
33
- "border"
34
- );
35
- tocHeader.innerHTML =
36
- "<span class='material-icons-outlined text-sm font-bold text-gray-500 align-text-bottom'>vertical_align_top</span>";
37
- tocHeader.setAttribute("href", "#top");
38
- tocHeader.setAttribute("title", "To Top of Page");
39
- toc.appendChild(tocHeader);
40
-
41
- // Create a list for the ToC entries
42
- let tocList = document.createElement("ul");
43
-
44
- // Find the primary content section
45
- let content = document.getElementById("content");
46
-
47
- // Get the h2 tags - ToC entries
48
- let headers = content.getElementsByTagName("h2");
49
-
50
- if (headers.length == 0) {
51
- console.log("There are not any H2 elements in the document.");
52
- } else {
53
- // For each h2
54
- for (let i = 0; i < headers.length; i++) {
55
- // Get Heading ID
56
- let name = headers[i].id;
57
-
58
- // list item for the entry
59
- let tocListItem = document.createElement("li");
60
- tocListItem.classList.add(
61
- "text-teci-blue-light",
62
- "hover:text-teci-blue-dark",
63
- "text-sm",
64
- "truncate"
65
- );
66
-
67
- // link for the h2
68
- let tocEntry = document.createElement("a");
69
- tocEntry.setAttribute("href", "#" + name);
70
- tocEntry.innerText = headers[i].innerText;
71
-
72
- // add link to list item list
73
- tocListItem.appendChild(tocEntry);
74
-
75
- // add list item to list
76
- tocList.appendChild(tocListItem);
77
- }
78
-
79
- // add list to toc element
80
- toc.appendChild(tocList);
81
-
82
- //Add a footer
83
- //var tocFooter = document.createElement("a");
84
- //tocFooter.classList.add("mt-2", "inline-block", "w-auto", "text-center", "bg-gray-50", "hover:bg-gray-100", "py-1", "px-2", "border")
85
- //tocFooter.innerHTML="<span class='material-icons-outlined text-sm font-bold text-gray-500 align-text-bottom'>vertical_align_bottom</span>";
86
- //tocFooter.setAttribute("href","#bottom");
87
- //tocFooter.setAttribute("title","To Bottom of Page");
88
- //toc.appendChild(tocFooter);
89
-
90
- return true;
91
- }
92
- }
@@ -1,3 +0,0 @@
1
- export const variables = {
2
- trialEndpoint: import.meta.env.VITE_TRIAL_ENDPOINT,
3
- };
@@ -1,20 +0,0 @@
1
- import { error } from '@sveltejs/kit'
2
- import configFile from '$lib/site_config.json'
3
-
4
- export const prerender = true;
5
-
6
- export const load = async ({ url, fetch }) => {
7
- try {
8
- const posts = "/posts.json";
9
- const resPosts = await fetch(posts);
10
- return {
11
- config: configFile,
12
- newsPosts: await resPosts.json(),
13
- currentURL: url.href,
14
- currentHost: url.hostname,
15
- }
16
- }
17
- catch(err) {
18
- throw error(500, err)
19
- }
20
- }
@@ -1,24 +0,0 @@
1
- <script>
2
- import "../app.css";
3
-
4
- /** @type {import('./$types').PageData} */
5
- export let data;
6
-
7
- import Header from "$lib/components/Header.svelte";
8
- import Footer from "$lib/components/Footer.svelte";
9
- import Banner from "$lib/components/Banner.svelte";
10
- </script>
11
-
12
- <Header />
13
-
14
- {#if data.config.showBanner}
15
- <Banner {...data.config.bannerData} />
16
- {/if}
17
-
18
- <main
19
- class="relative my-0 mx-auto box-border flex w-full max-w-7xl flex-grow flex-col py-12 px-4 sm:px-6 lg:px-8"
20
- >
21
- <slot />
22
- </main>
23
-
24
- <Footer />
@@ -1,61 +0,0 @@
1
- ---
2
- title: Home of ThunderTheme
3
- summary: Design System for Thunderhead Engineering.
4
- lastmod: 2022-05-31T22:44:15.366Z
5
- date: 2022-03-20T18:50:14.618Z
6
- page_sections:
7
- - name: Section Heading
8
- fieldGroup: heading-centered
9
- toptext: Home of
10
- title: ThunderTheme
11
- subtitle: The Thunderhead Design System
12
- - name: Main Content
13
- fieldGroup: sidebar-content
14
- fullWidth: true
15
- rightRail: false
16
- toc: false
17
- hideTitle: true
18
- - name: Modal Test
19
- fieldGroup: modal
20
- title: Modal Dialog
21
- text: You can pop up a modal dialog with the Modal component.
22
- buttonText: Click Me!
23
- modalContent: <h2 class="text-lg leading-6 font-medium text-gray-900">Sweet
24
- Modal!</h2> <div class="mt-2 px-7 py-3"> <p class="text-sm
25
- text-gray-500">This is a demo of the Modal Dialog.</p></div>
26
- - name: News Grid
27
- fieldGroup: news-grid
28
- title: All the News
29
- subtitle: You should know.
30
- pageSize: 1
31
- layout: blocks
32
- ---
33
-
34
- ## Demo Homepage
35
-
36
- This is a demo of some components in a Markdown page.
37
- Where we have enough text to expand the text to full prose width when `fullWidth` is not true.
38
-
39
- ## Links
40
-
41
- - [Product](/product)
42
- - [Pathfinder](/pathfinder)
43
- - [Features](/features)
44
- - [Sidebar](/sidebar)
45
- - [News Index](/news)
46
- - [Post 1](/news/post1)
47
- - [Post 2](/news/post2)
48
- - [posts.json](/posts.json)
49
-
50
- ## Image for Visual Interest
51
-
52
- <Figure
53
- title="Monochrome Red Frog"
54
- caption="Monochrome Red Frog (http test image)"
55
- image="https://static-b.imgix.net/treefrog.jpg?monochrome=990000&fit=crop&w=620&h=465"
56
- />
57
-
58
- <Video
59
- v="page-path-background-2.mp4"
60
- thumbnail="bank-phrom-Tzm3Oyu_6sk-unsplash.jpg"
61
- />
@@ -1,78 +0,0 @@
1
- ---
2
- title: Product Features
3
- summary: Overview of all product features.
4
- images: rocks.jpg
5
- layout: blocks
6
- page_sections:
7
- - name: Section Heading
8
- fieldGroup: heading-centered
9
- toptext: Product Name
10
- title: Features
11
- subtitle: null
12
- - name: Feature 1
13
- fieldGroup: media-feature
14
- image: pyrosim_libraries_386x395.png
15
- imageClass: object-left-top
16
- v: null
17
- text: >
18
- Lorem ipsum dolor sit amet, <a
19
- href="https://standards.buildingsmart.org/">IFC files</a> consectetur
20
- adipiscing elit. Sed faucibus, nisi finibus euismod iaculis, lorem orci
21
- ultricies velit, non euismod tortor justo vel turpis. Curabitur ac magna
22
- mattis, blandit est sit amet, ornare nisi.
23
- ctaText: Documentation
24
- ctaURL: https://support.thunderheadeng.com/docs/pyrosim/2021-4/user-manual/#_importing_cad_files
25
- position: left
26
- - name: Feature 2
27
- fieldGroup: media-feature
28
- image: pyrosim_libraries_386x395.png
29
- v: XcDEfUbes04
30
- text: >
31
- In feugiat lectus justo, eu efficitur ex egestas et. Donec vel malesuada
32
- massa, a viverra augue. Sed faucibus, nisi finibus euismod iaculis, lorem
33
- orci ultricies velit, non euismod tortor justo vel turpis. Curabitur ac
34
- magna mattis, blandit est sit amet, ornare nisi. Pellentesque et
35
- consectetur eros. Nam lacinia, neque vitae ultrices pulvinar, lectus ipsum
36
- congue nisl, quis consequat massa enim vitae urna. Donec sit amet sapien
37
- mattis tellus pellentesque porttitor vel a mauris. Proin a nisl sed erat
38
- porta bibendum eu sed massa. Aliquam aliquet pellentesque lectus vel
39
- blandit. Vestibulum sed purus leo. Nullam arcu metus, sollicitudin ut
40
- justo quis, luctus convallis massa.
41
- ctaText: Documentation
42
- ctaURL: https://support.thunderheadeng.com/docs/pyrosim/2021-4/user-manual/#_importing_cad_files
43
- position: right
44
- - name: Feature 3
45
- fieldGroup: media-feature
46
- image: pyrosim_libraries_386x395.png
47
- link: https://www.femtc.com
48
- imageClass: null
49
- v: null
50
- text: >
51
- In feugiat lectus justo, eu efficitur ex egestas et. Donec vel malesuada
52
- massa, a viverra augue. Sed faucibus, nisi finibus euismod iaculis, lorem
53
- orci ultricies velit, non euismod tortor justo vel turpis. Curabitur ac
54
- magna mattis, blandit est sit amet, ornare nisi. Pellentesque et
55
- consectetur eros. Nam lacinia, neque vitae ultrices pulvinar, lectus ipsum
56
- congue nisl, quis consequat massa enim vitae urna. Donec sit amet sapien
57
- mattis tellus pellentesque porttitor vel a mauris. Proin a nisl sed erat
58
- porta bibendum eu sed massa. Aliquam aliquet pellentesque lectus vel
59
- blandit. Vestibulum sed purus leo. Nullam arcu metus, sollicitudin ut
60
- justo quis, luctus convallis massa.
61
- ctaText: Documentation
62
- ctaURL: https://support.thunderheadeng.com/docs/pyrosim/2021-4/user-manual/#_importing_cad_files
63
- position: left
64
- - name: Feature 4
65
- fieldGroup: media-feature
66
- image: pyrosim_libraries_386x395.png
67
- v: XcDEfUbes04
68
- text: >
69
- Lorem ipsum dolor sit amet, <a
70
- href="https://standards.buildingsmart.org/">IFC files</a> consectetur
71
- adipiscing elit. Sed faucibus, nisi finibus euismod iaculis, lorem orci
72
- ultricies velit, non euismod tortor justo vel turpis. Curabitur ac magna
73
- mattis, blandit est sit amet, ornare nisi.
74
- ctaText: Documentation
75
- ctaURL: https://support.thunderheadeng.com/docs/pyrosim/2021-4/user-manual/#_importing_cad_files
76
- position: right
77
- lastmod: 2022-05-31T23:11:25.054Z
78
- ---
@@ -1,21 +0,0 @@
1
- ---
2
- title: News for ThunderTheme
3
- summary: Design System for Thunderhead Engineering.
4
- lastmod: 2022-06-10T00:11:24.059Z
5
- date: 2022-03-20T18:50:14.618Z
6
- page_sections:
7
- - name: News Grid
8
- fieldGroup: news-grid
9
- title: All the News
10
- subtitle: You should know.
11
- pageSize: 2
12
- filter:
13
- - pyrosim
14
- - featured
15
- layout: blocks
16
- ---
17
-
18
- The **NewsGrid** component has 2 inputs used to paginate and filter the items shown in the grid.
19
-
20
- - **pageSize** : The number of items displayed per page.
21
- - **filter** : An optional list of post 'categories' that you can filter the list by.
@@ -1,33 +0,0 @@
1
- <!-- src/routes/[slug]/+page.svelte -->
2
- <script>
3
- export let data;
4
- const { title, date, summary, image } = data.meta
5
- const { PostContent } = data
6
-
7
- let featuredImage;
8
-
9
- if (image) {
10
- featuredImage = "https://teci-files.imgix.net/www/images/" + image + "?w=1200&h=627&fit=crop&auto=compress&auto=format";
11
- } else {
12
- featuredImage = "https://teci-files.imgix.net/www/images/teci_icon_250.png";
13
- }
14
- </script>
15
-
16
- <svelte:head>
17
- <title>{title} | Thunderhead Engineering</title>
18
- <meta data-key="description" name="description" content={summary}>
19
- <meta property="og:type" content="article" />
20
- <meta property="og:title" content={title} />
21
- <meta name="twitter:title" content={title} />
22
- <meta property="og:description" content={summary} />
23
- <meta name="twitter:description" content={summary} />
24
- <meta name="twitter:card" content="summary_large_image" />
25
- <meta name="twitter:site" content="@thunderheadeng" />
26
- <meta name="twitter:creator" content="@thunderheadeng" />
27
- <meta property="og:image" content={featuredImage} />
28
- <meta name="twitter:card" content={featuredImage} />
29
- <!-- <meta property="og:image:width" content={coverWidth} />
30
- <meta property="og:image:height" content={coverHeight} /> -->
31
- </svelte:head>
32
-
33
- <svelte:component this={PostContent} />
@@ -1,16 +0,0 @@
1
- // src/routes/news/[slug]/+page.ts
2
- import type { PageLoad } from './$types';
3
- import { error } from '@sveltejs/kit'
4
-
5
- export const load = (async ({ params }) => {
6
- try {
7
- const post = await import(`../${params.slug}.md`)
8
-
9
- return {
10
- PostContent: post.default,
11
- meta: {... post.metadata, slug: params.slug }
12
- }
13
- } catch(err) {
14
- throw error(404, err)
15
- }
16
- }) satisfies PageLoad;
@@ -1,36 +0,0 @@
1
- <script>
2
- import NewsGrid from "$lib/components/NewsGrid.svelte";
3
- import { page } from '$app/stores';
4
-
5
- const tagData = {
6
- name: "News Grid",
7
- fieldGroup: "news-grid",
8
- title: "Filtered News Posts",
9
- subtitle: `In the "${$page.params.tag}" category.`,
10
- pageSize: 6,
11
- filter: [`${$page.params.tag}`],
12
- };
13
- </script>
14
-
15
- <svelte:head>
16
- <title>{tagData.title} - {tagData.subtitle} | Thunderhead Engineering</title>
17
- <meta data-key="description" name="description" content="{tagData.title} - {tagData.subtitle}">
18
- <meta property="og:type" content="article" />
19
- <meta property="og:title" content={tagData.title} />
20
- <meta name="twitter:title" content={tagData.title} />
21
- <meta property="og:description" content="{tagData.title} - {tagData.subtitle} | Thunderhead Engineering" />
22
- <meta name="twitter:description" content="{tagData.title} - {tagData.subtitle} | Thunderhead Engineering" />
23
- <meta name="twitter:card" content="summary_large_image" />
24
- <meta name="twitter:site" content="@thunderheadeng" />
25
- <meta name="twitter:creator" content="@thunderheadeng" />
26
- <meta property="og:image" content="https://teci-files.imgix.net/www/images/teci_icon_250.png" />
27
- <meta name="twitter:card" content="https://teci-files.imgix.net/www/images/teci_icon_250.png" />
28
- <!-- <meta property="og:image:width" content={coverWidth} />
29
- <meta property="og:image:height" content={coverHeight} /> -->
30
- </svelte:head>
31
-
32
- <NewsGrid data={tagData} />
33
-
34
- <div class="mt-8">
35
- <a class="btn" href="/news" rel="external">All News Posts</a>
36
- </div>
@@ -1,14 +0,0 @@
1
- // src/routes/news/filter/[tag]/+page.ts
2
- import type { PageLoad } from './$types';
3
- import { error } from '@sveltejs/kit'
4
-
5
- export const load = (async ({ params }) => {
6
- try {
7
- const postTag = (params.tag?params.tag:"")
8
- return {
9
- postTag
10
- }
11
- } catch(err) {
12
- throw error(404, err)
13
- }
14
- }) satisfies PageLoad;
@@ -1,45 +0,0 @@
1
- ---
2
- title: Demo of MDsveX and Svelte Components in Markdown
3
- summary: How to use Svelte components in Markdown content.
4
- image: path-thumb.png
5
- date: 2021-12-29T08:00:00.000Z
6
- lastmod: 2022-05-31T23:22:46.431Z
7
- categories:
8
- - pyrosim
9
- - announce
10
- layout: blocks
11
- page_sections:
12
- - name: Main Content
13
- fieldGroup: sidebar-content
14
- fullWidth: true
15
- rightRail: false
16
- toc: true
17
- ---
18
-
19
- ## Svelte Components
20
-
21
- You can use the Math component in your document to render complex Math expressions, inline <Math math={'v\_{b}'} /> like this.
22
-
23
- Or as a block, centered in the document as shown below.
24
-
25
- <Math math={'v*{b}=v*{max}\\times v*{f}(D)\\times v*{ft}'} displayMode />
26
-
27
- There any component can be created and added in to the text in the same way.
28
-
29
- <Subscribe classes='border border-2 border-teci-blue-dark float-right' />
30
-
31
- ## Embeds
32
-
33
- Below is an embedded YouTube video, followed by a Figure image with a caption.
34
-
35
- ### YouTube
36
-
37
- <Video v='9Z4fh9OaSmE' />
38
-
39
- ### Figure
40
-
41
- <Figure
42
- title="Javascript on Laptop"
43
- caption='Javascript on Laptop, Photo by <a href="https://unsplash.com/@clemhlrdt?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Clément Hélardot</a> on <a href="https://unsplash.com/s/photos/computer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>'
44
- image="https://images.unsplash.com/photo-1504868584819-f8e8b4b6d7e3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MXwxfDB8MXxhbGx8fHx8fHx8fA&ixlib=rb-1.2.1&q=80&w=250&utm_source=unsplash_source&utm_medium=referral&utm_campaign=api-credit"
45
- />
@@ -1,46 +0,0 @@
1
- ---
2
- title: Lorem Ipsum
3
- summary:
4
- Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur,
5
- adipisci velit. Neque porro quisquam est qui dolorem ipsum quia dolor sit
6
- amet, consectetur, adipisci velit. Neque porro quisquam est qui dolorem ipsum
7
- quia dolor sit amet, consectetur, adipisci velit. Neque porro quisquam est qui
8
- dolorem ipsum quia dolor sit amet, consectetur, adipisci velit.
9
- date: 2022-04-15T21:47:18.619Z
10
- categories:
11
- - pathfinder
12
- - featured
13
- - demo
14
- - total
15
- - many
16
- - overflow
17
- layout: blocks
18
- page_sections:
19
- - name: Main Content
20
- fieldGroup: sidebar-content
21
- fullWidth: false
22
- rightRail: false
23
- toc: false
24
- hideTitle: true
25
- showDate: true
26
- lastmod: 2022-06-01T05:09:36.397Z
27
- ---
28
-
29
- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc pharetra posuere egestas. Nunc fringilla pellentesque nulla sed ultrices. Vestibulum mattis, nisl suscipit interdum tempus, arcu nunc auctor tortor, a condimentum purus turpis sed ex. Ut in rutrum odio. Pellentesque in arcu quis leo consectetur dignissim. Duis sed porttitor dui. Proin aliquam nec leo ornare pretium. In dapibus aliquam tortor a aliquam. Sed convallis mattis mauris et sodales. Nam id purus placerat, ullamcorper erat sit amet, semper urna. Phasellus congue convallis urna in gravida. Vivamus egestas augue id mattis ultricies. Integer in eros eget tortor consectetur molestie lobortis viverra elit. Sed scelerisque lectus orci. Morbi vitae tellus at dui tempus venenatis in id dui. Mauris dictum vitae enim sed rutrum.
30
-
31
- <Figure
32
- title="Javascript on Laptop"
33
- caption='Javascript on Laptop, Photo by <a href="https://unsplash.com/@clemhlrdt?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Clément Hélardot</a> on <a href="https://unsplash.com/s/photos/computer?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>'
34
- image="https://images.unsplash.com/photo-1504868584819-f8e8b4b6d7e3?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MXwxfDB8MXxhbGx8fHx8fHx8fA&ixlib=rb-1.2.1&q=80&w=1080&utm_source=unsplash_source&utm_medium=referral&utm_campaign=api-credit"
35
- link="/news/post1"
36
- />
37
-
38
- Duis viverra ex nec venenatis euismod. Praesent dapibus augue sed magna aliquam, ac molestie sem luctus. Phasellus non sapien eros. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse potenti. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent diam velit, vulputate et volutpat et, suscipit quis nulla. Duis vel consectetur leo, nec consectetur massa. Aliquam erat volutpat. Aenean et nisi hendrerit, gravida leo volutpat, ultrices urna. Mauris id tincidunt neque. Aliquam turpis ex, accumsan vitae aliquam sed, feugiat sit amet nulla. Nunc eget mollis arcu. Donec posuere, felis vitae pellentesque rutrum, lacus urna congue ex, eu vulputate metus orci in urna.
39
-
40
- <Video v="YDfkLl1ziL4" />
41
-
42
- Mauris mattis, quam in auctor rutrum, metus ligula tristique metus, eu suscipit lacus metus lobortis sapien. Aliquam erat volutpat. Morbi at ex vel arcu tempor lacinia suscipit quis lorem. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras ultricies posuere posuere. Sed consectetur ante eu purus molestie, ut iaculis turpis sodales. Nulla porttitor ligula tortor, ut tincidunt turpis euismod ut.
43
-
44
- Nam ultrices risus eu urna ullamcorper, id posuere nunc volutpat. Quisque ultricies, dolor ac viverra consequat, nulla metus venenatis ante, aliquam ultrices ante nisi sed ipsum. Curabitur ut varius ipsum. Maecenas sapien quam, consectetur id ultrices non, malesuada egestas lorem. Donec et ex vel nibh consequat elementum. Aliquam porta interdum aliquam. Nulla maximus porta fringilla.
45
-
46
- Duis nisi risus, tincidunt nec neque et, ornare dignissim nulla. Morbi libero ex, vehicula id leo id, blandit vehicula odio. Duis vitae justo consequat, finibus odio cursus, egestas leo. Maecenas sem purus, gravida sed viverra quis, condimentum ut ante. Sed mollis, eros et blandit dapibus, tortor velit elementum quam, vel cursus ante nunc id mi. Praesent mi ante, dapibus eu odio id, porta porta enim. Fusce et turpis pellentesque, semper quam a, molestie augue. Sed nunc est, fringilla a dictum ut, elementum sed tellus. Mauris sem libero, tincidunt eu leo eget, egestas tempus ante. Proin non ligula sollicitudin, luctus ligula ut, congue elit. Fusce bibendum diam vel tellus volutpat, ut imperdiet purus luctus. Vestibulum aliquam scelerisque ante, vel ornare magna elementum vitae. Mauris auctor eget tellus a commodo.