From d909adb65871b4fd8a00939d138beca2459fbb0f Mon Sep 17 00:00:00 2001 From: prototypa Date: Sun, 11 Sep 2022 03:51:55 -0400 Subject: [PATCH] Use Prettier --- .eslintrc.js | 7 +- .prettierignore | 5 + .prettierrc | 16 + .vscode/extensions.json | 7 +- .vscode/settings.json | 8 +- astro.config.mjs | 64 +-- package.json | 7 +- sandbox.config.json | 2 +- src/assets/styles/base.css | 18 +- src/components/atoms/ExtraMetaTags.astro | 6 +- src/components/atoms/Fonts.astro | 2 +- src/components/atoms/Logo.astro | 4 +- src/components/atoms/Pagination.astro | 58 +-- src/components/atoms/Tags.astro | 22 +- src/components/blog/HighlightedPosts.astro | 88 ++-- src/components/blog/List.astro | 16 +- src/components/blog/ListItem.astro | 89 ++-- src/components/blog/SinglePost.astro | 70 +-- src/components/core/BasicScripts.astro | 78 ++-- src/components/core/GoogleAnalytics.astro | 16 +- src/components/core/MetaTags.astro | 44 +- src/components/core/Picture.astro | 60 +-- src/components/core/ToggleMenu.astro | 16 +- src/components/core/ToggleTheme.astro | 14 +- src/components/widgets/CallToAction.astro | 48 +- src/components/widgets/Error404.astro | 38 +- src/components/widgets/FAQs.astro | 114 ++--- src/components/widgets/Features.astro | 128 ++--- src/components/widgets/Features2.astro | 162 +++---- src/components/widgets/Features3.astro | 166 +++---- src/components/widgets/Footer.astro | 440 +++++++++--------- src/components/widgets/Header.astro | 146 +++--- src/components/widgets/Hero.astro | 109 ++--- src/components/widgets/Stats.astro | 40 +- src/components/widgets/Steps.astro | 168 +++---- src/config.mjs | 38 +- src/layouts/BaseLayout.astro | 31 +- src/layouts/BlogLayout.astro | 24 +- src/layouts/PageLayout.astro | 18 +- src/pages/404.astro | 8 +- src/pages/[...blog]/[...page].astro | 44 +- src/pages/[...blog]/[slug].astro | 39 +- .../[category]/[...page].astro | 60 +-- src/pages/[...tags]/[tag]/[...page].astro | 60 +-- src/pages/index.astro | 50 +- src/pages/rss.xml.js | 46 +- src/utils/directories.js | 18 +- src/utils/images.js | 42 +- src/utils/permalinks.js | 50 +- src/utils/posts.js | 80 ++-- src/utils/utils.js | 14 +- tailwind.config.cjs | 36 +- 52 files changed, 1487 insertions(+), 1447 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc diff --git a/.eslintrc.js b/.eslintrc.js index 7728b1e..9caa5d3 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -25,7 +25,10 @@ module.exports = { parser: '@typescript-eslint/parser', extends: ['plugin:@typescript-eslint/recommended'], rules: { - '@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_' }], + '@typescript-eslint/no-unused-vars': [ + 'error', + { argsIgnorePattern: '^_', destructuredArrayIgnorePattern: '^_' }, + ], '@typescript-eslint/no-non-null-assertion': 'off', }, }, @@ -36,4 +39,4 @@ module.exports = { parser: '@typescript-eslint/parser', }, ], -}; \ No newline at end of file +}; diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..429ffcd --- /dev/null +++ b/.prettierignore @@ -0,0 +1,5 @@ +dist +node_modules +.github +.changeset +*.md \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..74d86ae --- /dev/null +++ b/.prettierrc @@ -0,0 +1,16 @@ +{ + "printWidth": 120, + "semi": true, + "singleQuote": true, + "tabWidth": 2, + "trailingComma": "es5", + "useTabs": true, + "overrides": [ + { + "files": [".*", "*.json", "*.md", "*.toml", "*.yml"], + "options": { + "useTabs": false + } + } + ] +} diff --git a/.vscode/extensions.json b/.vscode/extensions.json index ba411e2..7a01227 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,4 +1,9 @@ { - "recommendations": ["astro-build.astro-vscode", "bradlc.vscode-tailwindcss", "dbaeumer.vscode-eslint"], + "recommendations": [ + "astro-build.astro-vscode", + "bradlc.vscode-tailwindcss", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode" + ], "unwantedRecommendations": [] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 6c4e504..56d5249 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,5 +5,9 @@ "astro", // Enable .astro "typescript", // Enable .ts "typescriptreact" // Enable .tsx - ] -} \ No newline at end of file + ], + "prettier.documentSelectors": ["**/*.astro"], + "[astro]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + } +} diff --git a/astro.config.mjs b/astro.config.mjs index 69bc90f..34092b7 100644 --- a/astro.config.mjs +++ b/astro.config.mjs @@ -1,45 +1,45 @@ -import path from "path"; -import { fileURLToPath } from "url"; +import path from 'path'; +import { fileURLToPath } from 'url'; -import { defineConfig } from "astro/config"; +import { defineConfig } from 'astro/config'; -import tailwind from "@astrojs/tailwind"; -import sitemap from "@astrojs/sitemap"; -import image from "@astrojs/image"; -import partytown from "@astrojs/partytown"; +import tailwind from '@astrojs/tailwind'; +import sitemap from '@astrojs/sitemap'; +import image from '@astrojs/image'; +import partytown from '@astrojs/partytown'; -import { SITE } from "./src/config.mjs"; +import { SITE } from './src/config.mjs'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); // https://astro.build/config export default defineConfig({ - // Astro uses this full URL to generate your sitemap and canonical URLs in your final build - site: SITE.origin, - base: SITE.basePathname, + // Astro uses this full URL to generate your sitemap and canonical URLs in your final build + site: SITE.origin, + base: SITE.basePathname, - output: "static", + output: 'static', - integrations: [ - tailwind({ - config: { - applyBaseStyles: false, - }, - }), - sitemap(), - image(), + integrations: [ + tailwind({ + config: { + applyBaseStyles: false, + }, + }), + sitemap(), + image(), - /* Disable this integration if you don't use Google Analytics (or other external script). */ - partytown({ - config: { forward: ["dataLayer.push"] }, - }), - ], + /* Disable this integration if you don't use Google Analytics (or other external script). */ + partytown({ + config: { forward: ['dataLayer.push'] }, + }), + ], - vite: { - resolve: { - alias: { - "~": path.resolve(__dirname, "./src"), - }, - }, - }, + vite: { + resolve: { + alias: { + '~': path.resolve(__dirname, './src'), + }, + }, + }, }); diff --git a/package.json b/package.json index 7ea8223..fe81779 100644 --- a/package.json +++ b/package.json @@ -7,9 +7,10 @@ "dev": "astro dev", "start": "astro dev", "build": "astro build", + "preview": "astro preview", + "format": "prettier -w .", "lint:eslint": "eslint . --ext .js,.ts,.astro", - "subfont": "subfont -ir --no-fallbacks --silent --root dist", - "preview": "astro preview" + "subfont": "subfont -ir --no-fallbacks --silent --root dist" }, "devDependencies": { "@astrojs/image": "^0.7.0", @@ -27,6 +28,8 @@ "eslint-plugin-astro": "^0.19.0", "eslint-plugin-jsx-a11y": "^6.6.1", "limax": "^v2.1.0", + "prettier": "^2.7.1", + "prettier-plugin-astro": "^0.5.4", "reading-time": "^1.5.0", "subfont": "^6.9.0" }, diff --git a/sandbox.config.json b/sandbox.config.json index ed537bf..9178af7 100644 --- a/sandbox.config.json +++ b/sandbox.config.json @@ -8,4 +8,4 @@ "startScript": "start", "node": "14" } -} \ No newline at end of file +} diff --git a/src/assets/styles/base.css b/src/assets/styles/base.css index 5b4af3a..19f4b62 100644 --- a/src/assets/styles/base.css +++ b/src/assets/styles/base.css @@ -3,26 +3,26 @@ @tailwind utilities; @layer components { - .btn { - @apply inline-flex items-center justify-center rounded border border-transparent font-medium text-center text-base leading-snug transition py-3 px-6 shadow-lg ease-in duration-200 focus:ring-blue-500 focus:ring-offset-blue-200 focus:ring-2 focus:ring-offset-2; - } + .btn { + @apply inline-flex items-center justify-center rounded border border-transparent font-medium text-center text-base leading-snug transition py-3 px-6 shadow-lg ease-in duration-200 focus:ring-blue-500 focus:ring-offset-blue-200 focus:ring-2 focus:ring-offset-2; + } } [astro-icon] > * { - stroke-width: 1.5; + stroke-width: 1.5; } [astro-icon].icon-bold > * { - stroke-width: 2; + stroke-width: 2; } [data-aw-toggle-menu] path { - @apply transition; + @apply transition; } [data-aw-toggle-menu].expanded g > path:first-child { - @apply -rotate-45 translate-y-[15px] translate-x-[-3px]; + @apply -rotate-45 translate-y-[15px] translate-x-[-3px]; } [data-aw-toggle-menu].expanded g > path:last-child { - @apply rotate-45 translate-y-[-8px] translate-x-[14px]; -} \ No newline at end of file + @apply rotate-45 translate-y-[-8px] translate-x-[14px]; +} diff --git a/src/components/atoms/ExtraMetaTags.astro b/src/components/atoms/ExtraMetaTags.astro index 7081697..01f9454 100644 --- a/src/components/atoms/ExtraMetaTags.astro +++ b/src/components/atoms/ExtraMetaTags.astro @@ -1,7 +1,7 @@ --- -import { SITE } from "~/config.mjs" +import { SITE } from '~/config.mjs'; --- - - \ No newline at end of file + + diff --git a/src/components/atoms/Fonts.astro b/src/components/atoms/Fonts.astro index adb227f..c455323 100644 --- a/src/components/atoms/Fonts.astro +++ b/src/components/atoms/Fonts.astro @@ -1,5 +1,5 @@ --- -import "@fontsource/inter/variable.css" +import '@fontsource/inter/variable.css'; --- diff --git a/src/components/atoms/Logo.astro b/src/components/atoms/Logo.astro index d2c8318..6a9c03a 100644 --- a/src/components/atoms/Logo.astro +++ b/src/components/atoms/Logo.astro @@ -2,5 +2,5 @@ --- - πŸš€ AstroWind - + πŸš€ AstroWind diff --git a/src/components/atoms/Pagination.astro b/src/components/atoms/Pagination.astro index c2d558d..0259921 100644 --- a/src/components/atoms/Pagination.astro +++ b/src/components/atoms/Pagination.astro @@ -1,34 +1,34 @@ --- -import { Icon } from "astro-icon"; -const { prevUrl, nextUrl, prevText = "Newer posts", nextText = "Older posts" } = Astro.props; +import { Icon } from 'astro-icon'; +const { prevUrl, nextUrl, prevText = 'Newer posts', nextText = 'Older posts' } = Astro.props; --- { - (prevUrl || nextUrl) && ( -
- -
- ) + (prevUrl || nextUrl) && ( +
+ +
+ ) } diff --git a/src/components/atoms/Tags.astro b/src/components/atoms/Tags.astro index fb9da43..43fd18f 100644 --- a/src/components/atoms/Tags.astro +++ b/src/components/atoms/Tags.astro @@ -1,17 +1,17 @@ --- -import { getPermalink } from "~/utils/permalinks"; +import { getPermalink } from '~/utils/permalinks'; -const { tags, class: className = "text-sm" } = Astro.props; +const { tags, class: className = 'text-sm' } = Astro.props; --- { - tags && Array.isArray(tags) && ( - - ) + tags && Array.isArray(tags) && ( + + ) } diff --git a/src/components/blog/HighlightedPosts.astro b/src/components/blog/HighlightedPosts.astro index 45de848..61364f7 100644 --- a/src/components/blog/HighlightedPosts.astro +++ b/src/components/blog/HighlightedPosts.astro @@ -1,58 +1,58 @@ --- -import Picture from "~/components/core/Picture.astro"; +import Picture from '~/components/core/Picture.astro'; -import { findPostsByIds } from "~/utils/posts"; -import { findImage } from "~/utils/images"; -import { getPermalink } from "~/utils/permalinks"; +import { findPostsByIds } from '~/utils/posts'; +import { findImage } from '~/utils/images'; +import { getPermalink } from '~/utils/permalinks'; const ids = [ - "get-started-website-with-astro-tailwind-css", - "how-to-customize-astrowind-to-your-brand", - "useful-resources-to-create-websites", - "astrowind-template-in-depth", + 'get-started-website-with-astro-tailwind-css', + 'how-to-customize-astrowind-to-your-brand', + 'useful-resources-to-create-websites', + 'astrowind-template-in-depth', ]; const items = await Promise.all( - (await findPostsByIds(ids)).map(async (item) => ({ ...item, image: await findImage(item.image) })) + (await findPostsByIds(ids)).map(async (item) => ({ ...item, image: await findImage(item.image) })) ); ---
-
-

- Find out more content in our Blog -

+
+

+ Find out more content in our Blog +

-

- The blog will be used to display AstroWind documentation. Each new article will be an important step that you will - need to know to be an expert in creating a website using Astro + Tailwind CSS The blog does not exist yet, but - very soon. Astro is a very interesting technology. Thanks. -

-
+

+ The blog will be used to display AstroWind documentation. Each new article will be an important step that you will + need to know to be an expert in creating a website using Astro + Tailwind CSS The blog does not exist yet, but + very soon. Astro is a very interesting technology. Thanks. +

+
-
- { - items.map((post) => ( - - )) - } -
+
+ { + items.map((post) => ( + + )) + } +
diff --git a/src/components/blog/List.astro b/src/components/blog/List.astro index 8e3eb98..d150d25 100644 --- a/src/components/blog/List.astro +++ b/src/components/blog/List.astro @@ -1,15 +1,15 @@ --- -import Item from "~/components/blog/ListItem.astro"; +import Item from '~/components/blog/ListItem.astro'; const { posts } = Astro.props; --- diff --git a/src/components/blog/ListItem.astro b/src/components/blog/ListItem.astro index ef38a93..eaa1d26 100644 --- a/src/components/blog/ListItem.astro +++ b/src/components/blog/ListItem.astro @@ -1,10 +1,10 @@ --- -import Picture from "~/components/core/Picture.astro"; -import PostTags from "~/components/atoms/Tags.astro"; +import Picture from '~/components/core/Picture.astro'; +import PostTags from '~/components/atoms/Tags.astro'; -import { getPermalink } from "~/utils/permalinks"; -import { findImage } from "~/utils/images"; -import { getFormattedDate } from "~/utils/utils"; +import { getPermalink } from '~/utils/permalinks'; +import { findImage } from '~/utils/images'; +import { getFormattedDate } from '~/utils/utils'; const { post } = Astro.props; @@ -12,43 +12,44 @@ const image = await findImage(post.image); ---
- - - -
-
-

- - {post.title} - -

-
-

- {post.excerpt || post.description} -

-
-
- - ~ {Math.ceil(post.readingTime)} min read - -
-
- -
-
-
+ + + +
+
+

+ + {post.title} + +

+
+

+ {post.excerpt || post.description} +

+
+
+ + ~ + {Math.ceil(post.readingTime)} min read + +
+
+ +
+
+
diff --git a/src/components/blog/SinglePost.astro b/src/components/blog/SinglePost.astro index 3e78b99..eec02a3 100644 --- a/src/components/blog/SinglePost.astro +++ b/src/components/blog/SinglePost.astro @@ -1,43 +1,43 @@ --- -import Picture from "~/components/core/Picture.astro"; -import PostTags from "~/components/atoms/Tags.astro"; +import Picture from '~/components/core/Picture.astro'; +import PostTags from '~/components/atoms/Tags.astro'; -import { getFormattedDate } from "~/utils/utils"; +import { getFormattedDate } from '~/utils/utils'; const { post } = Astro.props; ---
-
-
-

- ~ {Math.ceil(post.readingTime)} min read -

-

- {post.title} -

- { - post.image && ( - - ) - } -
-
- -
-
- -
-
+
+
+

+ ~ {Math.ceil(post.readingTime)} min read +

+

+ {post.title} +

+ { + post.image && ( + + ) + } +
+
+ +
+
+ +
+
diff --git a/src/components/core/BasicScripts.astro b/src/components/core/BasicScripts.astro index 31bef14..e52f272 100644 --- a/src/components/core/BasicScripts.astro +++ b/src/components/core/BasicScripts.astro @@ -2,47 +2,47 @@ --- diff --git a/src/components/core/GoogleAnalytics.astro b/src/components/core/GoogleAnalytics.astro index 4d7e182..6a17fc0 100644 --- a/src/components/core/GoogleAnalytics.astro +++ b/src/components/core/GoogleAnalytics.astro @@ -1,16 +1,16 @@ --- -const { id = "G-XXXXXXXXXX", partytown = false } = Astro.props; +const { id = 'G-XXXXXXXXXX', partytown = false } = Astro.props; -const attrs = partytown ? { type: "text/partytown" } : {}; +const attrs = partytown ? { type: 'text/partytown' } : {}; --- diff --git a/src/components/core/MetaTags.astro b/src/components/core/MetaTags.astro index 3b77c5c..576f5b0 100644 --- a/src/components/core/MetaTags.astro +++ b/src/components/core/MetaTags.astro @@ -1,35 +1,35 @@ --- -import { getImage } from "@astrojs/image"; -import { getRelativeUrlByFilePath } from "~/utils/directories"; +import { getImage } from '@astrojs/image'; +import { getRelativeUrlByFilePath } from '~/utils/directories'; -import GoogleAnalytics from "~/components/core/GoogleAnalytics.astro"; -import defaultImageSrc from "~/assets/images/default.png"; +import GoogleAnalytics from '~/components/core/GoogleAnalytics.astro'; +import defaultImageSrc from '~/assets/images/default.png'; -import { SITE } from "~/config.mjs"; -import Fonts from "../atoms/Fonts.astro"; -import ExtraMetaTags from "../atoms/ExtraMetaTags.astro"; +import { SITE } from '~/config.mjs'; +import Fonts from '../atoms/Fonts.astro'; +import ExtraMetaTags from '../atoms/ExtraMetaTags.astro'; const { src: defaultImage } = await getImage({ - src: defaultImageSrc, - width: 1200, - height: 628, + src: defaultImageSrc, + width: 1200, + height: 628, }); const { - title = SITE.name, - description = "", - image: _image = defaultImage, - canonical, - noindex = false, - nofollow = false, + title = SITE.name, + description = '', + image: _image = defaultImage, + canonical, + noindex = false, + nofollow = false, } = Astro.props; const image = - typeof _image === "string" - ? new URL(_image, Astro.site) - : _image && typeof _image["src"] !== "undefined" - ? new URL(getRelativeUrlByFilePath(_image.src), Astro.site) - : null; + typeof _image === 'string' + ? new URL(_image, Astro.site) + : _image && typeof _image['src'] !== 'undefined' + ? new URL(getRelativeUrlByFilePath(_image.src), Astro.site) + : null; --- @@ -39,7 +39,7 @@ const image = {canonical && } - + diff --git a/src/components/core/Picture.astro b/src/components/core/Picture.astro index 621c102..d4efe61 100644 --- a/src/components/core/Picture.astro +++ b/src/components/core/Picture.astro @@ -1,39 +1,43 @@ --- -import { getPicture } from "@astrojs/image"; +import { getPicture } from '@astrojs/image'; const { - src, - alt, - sizes, - widths, - aspectRatio = 1, - formats = ["avif", "webp"], - loading = "lazy", - decoding = "async", - class: className = "", - ...attrs + src, + alt, + sizes, + widths, + aspectRatio = 1, + formats = ['avif', 'webp'], + loading = 'lazy', + decoding = 'async', + class: className = '', + ...attrs } = Astro.props; let picture = null; try { - picture = src && await getPicture({ - src, - widths, - formats, - aspectRatio, - }) -} -catch (e) { - // continue regardless of error + picture = + src && + (await getPicture({ + src, + widths, + formats, + aspectRatio, + })); +} catch (e) { + // continue regardless of error } -const { image = {}, sources = [] } = picture || {} +const { image = {}, sources = [] } = picture || {}; --- -{ (src && image?.src) && - - {sources.map((attrs) => - )} - - -} \ No newline at end of file +{ + src && image?.src && ( + + {sources.map((attrs) => ( + + ))} + + + ) +} diff --git a/src/components/core/ToggleMenu.astro b/src/components/core/ToggleMenu.astro index 9682ddb..63b5b32 100644 --- a/src/components/core/ToggleMenu.astro +++ b/src/components/core/ToggleMenu.astro @@ -1,15 +1,15 @@ --- -import { Icon } from "astro-icon"; +import { Icon } from 'astro-icon'; const { - label = "Toggle Menu", - class: - className = "ml-1.5 text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center transition", - iconClass = "w-6 h-6", - iconName = "tabler:menu", + label = 'Toggle Menu', + class: + className = 'ml-1.5 text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-800 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center transition', + iconClass = 'w-6 h-6', + iconName = 'tabler:menu', } = Astro.props; --- \ No newline at end of file + + diff --git a/src/components/core/ToggleTheme.astro b/src/components/core/ToggleTheme.astro index a6680f4..b59d1f9 100644 --- a/src/components/core/ToggleTheme.astro +++ b/src/components/core/ToggleTheme.astro @@ -1,15 +1,15 @@ --- -import { Icon } from "astro-icon"; +import { Icon } from 'astro-icon'; const { - label = "Toggle between Dark and Light mode", - class: - className = "text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center", - iconClass = "w-6 h-6", - iconName = "tabler:sun", + label = 'Toggle between Dark and Light mode', + class: + className = 'text-gray-500 dark:text-gray-400 hover:bg-gray-100 dark:hover:bg-gray-700 focus:outline-none focus:ring-4 focus:ring-gray-200 dark:focus:ring-gray-700 rounded-lg text-sm p-2.5 inline-flex items-center', + iconClass = 'w-6 h-6', + iconName = 'tabler:sun', } = Astro.props; --- diff --git a/src/components/widgets/CallToAction.astro b/src/components/widgets/CallToAction.astro index e27bcb5..aebf4ca 100644 --- a/src/components/widgets/CallToAction.astro +++ b/src/components/widgets/CallToAction.astro @@ -1,30 +1,30 @@ --- -import { Icon } from "astro-icon"; +import { Icon } from 'astro-icon'; ---
-
-
-
-

- Astro +
Tailwind CSS -

-

- Be very surprised by these huge fake numbers you are seeing on this page. Don't - waste more time! :P -

+
+
+
+

+ Astro +
Tailwind CSS +

+

+ Be very surprised by these huge fake numbers you are seeing on this page. Don't + waste more time! :P +

- -
-
-
+ +
+
+
diff --git a/src/components/widgets/Error404.astro b/src/components/widgets/Error404.astro index d4ce3d5..25260ee 100644 --- a/src/components/widgets/Error404.astro +++ b/src/components/widgets/Error404.astro @@ -1,24 +1,24 @@ --- -import { getHomePermalink } from "~/utils/permalinks"; +import { getHomePermalink } from '~/utils/permalinks'; ---
-
-
-

- Error - 404 -

-

Sorry, we couldn't find this page.

-

- But dont worry, you can find plenty of other things on our homepage. -

- Back to homepage - -
-
+
+
+

+ Error + 404 +

+

Sorry, we couldn't find this page.

+

+ But dont worry, you can find plenty of other things on our homepage. +

+ Back to homepage +
+
diff --git a/src/components/widgets/FAQs.astro b/src/components/widgets/FAQs.astro index fa79bc3..d6d3a91 100644 --- a/src/components/widgets/FAQs.astro +++ b/src/components/widgets/FAQs.astro @@ -1,71 +1,71 @@ --- -import { Icon } from "astro-icon"; +import { Icon } from 'astro-icon'; const items = [ - [ - { - question: "What do I need to start?", - answer: `Space, the final frontier. These are the voyages of the Starship Enterprise. Its five-year mission: to explore strange new worlds. + [ + { + question: 'What do I need to start?', + answer: `Space, the final frontier. These are the voyages of the Starship Enterprise. Its five-year mission: to explore strange new worlds. Many say exploration is part of our destiny, but it’s actually our duty to future generations.`, - }, - { - question: "How to install the Astro + Tailwind CSS template?", - answer: `Well, the way they make shows is, they make one show. That show's called a pilot. + }, + { + question: 'How to install the Astro + Tailwind CSS template?', + answer: `Well, the way they make shows is, they make one show. That show's called a pilot. Then they show that show to the people who make shows, and on the strength of that one show they decide if they're going to make more shows. Some pilots get picked and become television programs. Some don't, become nothing. She starred in one of the ones that became nothing.`, - }, - { - question: "What's something that you completely don't understand?", - answer: `A flower in my garden, a mystery in my panties. Heart attack never stopped old Big Bear. I didn't even know we were calling him Big Bear.`, - }, - ], - [ - { - question: "What's an example of when you changed your mind?", - answer: `Michael Knight a young loner on a crusade to champion the cause of the innocent. The helpless. The powerless in a world of criminals who operate above the law. Here he comes Here comes Speed Racer. He's a demon on wheels.`, - }, - { - question: "What is something that you would really like to try again?", - answer: `A business big enough that it could be listed on the NASDAQ goes belly up. Disappears! + }, + { + question: "What's something that you completely don't understand?", + answer: `A flower in my garden, a mystery in my panties. Heart attack never stopped old Big Bear. I didn't even know we were calling him Big Bear.`, + }, + ], + [ + { + question: "What's an example of when you changed your mind?", + answer: `Michael Knight a young loner on a crusade to champion the cause of the innocent. The helpless. The powerless in a world of criminals who operate above the law. Here he comes Here comes Speed Racer. He's a demon on wheels.`, + }, + { + question: 'What is something that you would really like to try again?', + answer: `A business big enough that it could be listed on the NASDAQ goes belly up. Disappears! It ceases to exist without me. No, you clearly don't know who you're talking to, so let me clue you in.`, - }, - { - question: "If you could only ask one question to each person you meet, what would that question be?", - answer: `This is not about revenge. This is about justice. A lot of things can change in twelve years, Admiral. Well, that's certainly good to know. About four years. I got tired of hearing how young I looked.`, - }, - ], + }, + { + question: 'If you could only ask one question to each person you meet, what would that question be?', + answer: `This is not about revenge. This is about justice. A lot of things can change in twelve years, Admiral. Well, that's certainly good to know. About four years. I got tired of hearing how young I looked.`, + }, + ], ]; ---
-
-
-

- Frequently Asked Questions -

-
-
-
-
- { - items.map((subitems) => ( -
- {subitems.map(({ question, answer }) => ( -
-

- - {question} -

- {answer.split("\n\n").map((paragraph) => ( -

- ))} -

- ))} -
- )) - } -
-
+
+
+

+ Frequently Asked Questions +

+
+
+
+
+ { + items.map((subitems) => ( +
+ {subitems.map(({ question, answer }) => ( +
+

+ + {question} +

+ {answer.split('\n\n').map((paragraph) => ( +

+ ))} +

+ ))} +
+ )) + } +
+
diff --git a/src/components/widgets/Features.astro b/src/components/widgets/Features.astro index da6f040..f93ae74 100644 --- a/src/components/widgets/Features.astro +++ b/src/components/widgets/Features.astro @@ -1,73 +1,73 @@ --- -import { Icon } from "astro-icon"; +import { Icon } from 'astro-icon'; const items = [ - { - title: "Headers", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.", - icon: "flat-color-icons:home", - }, - { - title: "Footers", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.", - icon: "flat-color-icons:faq", - }, - { - title: "Features", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.", - icon: "flat-color-icons:video-projector", - }, - { - title: "Call-to-Action", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.", - icon: "flat-color-icons:video-projector", - }, - { - title: "Pricing", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.", - icon: "flat-color-icons:calculator", - }, - { - title: "Testimonial", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.", - icon: "flat-color-icons:voice-presentation", - }, + { + title: 'Headers', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.', + icon: 'flat-color-icons:home', + }, + { + title: 'Footers', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.', + icon: 'flat-color-icons:faq', + }, + { + title: 'Features', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.', + icon: 'flat-color-icons:video-projector', + }, + { + title: 'Call-to-Action', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.', + icon: 'flat-color-icons:video-projector', + }, + { + title: 'Pricing', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.', + icon: 'flat-color-icons:calculator', + }, + { + title: 'Testimonial', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore.', + icon: 'flat-color-icons:voice-presentation', + }, ]; ---
- -
-
-
-

Components

-

- Most used widgets -

-

- Provides frequently used components for building websites using Tailwind CSS -

-
-
- { - items.map(({ title, description, icon }) => ( -
-
- + +
+
+
+

Components

+

+ Most used widgets +

+

+ Provides frequently used components for building websites using Tailwind CSS +

+
+
+ { + items.map(({ title, description, icon }) => ( +
+
+ -
{title}
-
-

{description}

-
- )) - } -
-
-
+
{title}
+
+

{description}

+
+ )) + } +
+
+
diff --git a/src/components/widgets/Features2.astro b/src/components/widgets/Features2.astro index 1f62be3..de9b426 100644 --- a/src/components/widgets/Features2.astro +++ b/src/components/widgets/Features2.astro @@ -1,88 +1,88 @@ --- const items = [ - [ - { - title: "Integration with Tailwind CSS", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.", - }, - { - title: "Ready-to-use Components", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.", - }, - { - title: "Best Practices", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.", - }, - ], - [ - { - title: "Excellent Page Speed", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.", - }, - { - title: "Frequently updated", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.", - }, - { - title: "Open to new ideas and contributions", - description: - "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.", - }, - ], + [ + { + title: 'Integration with Tailwind CSS', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.', + }, + { + title: 'Ready-to-use Components', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.', + }, + { + title: 'Best Practices', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.', + }, + ], + [ + { + title: 'Excellent Page Speed', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.', + }, + { + title: 'Frequently updated', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.', + }, + { + title: 'Open to new ideas and contributions', + description: + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi risus tempus nulla.', + }, + ], ]; ---
-
-
-

Features

-

- What's interesting about AstroWind - -

-

- Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque rem aperiam, eaque ipsa - quae. -

-
-
- { - items.map((subitems) => ( -
- {subitems.map(({ title, description }) => ( -
-
-
- - - - - - - - - -
-
-
-

{title}

-

{description}

-
-
- ))} -
- )) - } -
-
+
+
+

Features

+

+ What's interesting about AstroWind +

+

+ Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque rem aperiam, eaque ipsa + quae. +

+
+
+ { + items.map((subitems) => ( +
+ {subitems.map(({ title, description }) => ( +
+
+
+ + + + + + + + + +
+
+
+

{title}

+

{description}

+
+
+ ))} +
+ )) + } +
+
diff --git a/src/components/widgets/Features3.astro b/src/components/widgets/Features3.astro index a89aff6..3381e6a 100644 --- a/src/components/widgets/Features3.astro +++ b/src/components/widgets/Features3.astro @@ -1,90 +1,90 @@ --- -import { Icon } from "astro-icon"; +import { Icon } from 'astro-icon'; ---
-
-
-
-
-
-
-

- Sed ac magna sit amet risus tristique interdum, at vel velit in hac habitasse platea dictumst. -

+
+
+
+
+
+
+

+ Sed ac magna sit amet risus tristique interdum, at vel velit in hac habitasse platea dictumst. +

-

- Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi - risus tempus nulla, sed porttitor est nibh at nulla. Praesent placerat enim ut ex tincidunt vehicula. - Fusce sit amet dui tellus. -

+

+ Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis lobortis, mi + risus tempus nulla, sed porttitor est nibh at nulla. Praesent placerat enim ut ex tincidunt vehicula. + Fusce sit amet dui tellus. +

- -
-
-
-
    -
  • -
    - - 1 - -
    -
    -

    Responsive Elements

    -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis - lobortis, mi risus tempus nulla. -

    -
    -
  • -
  • -
    - - 2 - -
    -
    -

    Flexible Team

    -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis - lobortis, mi risus tempus nulla. -

    -
    -
  • -
  • -
    - - 3 - -
    -
    -

    Ecologic Software

    -

    - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis - lobortis, mi risus tempus nulla. -

    -
    -
  • -
-
-
-
-
-
+ +
+
+
+
    +
  • +
    + + 1 +
    +
    +

    Responsive Elements

    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis + lobortis, mi risus tempus nulla. +

    +
    +
  • +
  • +
    + + 2 +
    +
    +

    Flexible Team

    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis + lobortis, mi risus tempus nulla. +

    +
    +
  • +
  • +
    + + 3 +
    +
    +

    Ecologic Software

    +

    + Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi sagittis, quam nec venenatis + lobortis, mi risus tempus nulla. +

    +
    +
  • +
+
+
+
+
+
diff --git a/src/components/widgets/Footer.astro b/src/components/widgets/Footer.astro index 13e2684..17494f3 100644 --- a/src/components/widgets/Footer.astro +++ b/src/components/widgets/Footer.astro @@ -1,225 +1,223 @@ --- -import { Icon } from "astro-icon"; -import { getHomePermalink } from "~/utils/permalinks"; +import { Icon } from 'astro-icon'; +import { getHomePermalink } from '~/utils/permalinks'; --- -