55 |
56 |
57 |
58 |
59 |
--------------------------------------------------------------------------------
/src/components/CTA.astro:
--------------------------------------------------------------------------------
1 | ---
2 | // import the Image component and the image
3 | import { Image } from 'astro:assets';
4 | import darkImage from "../assets/cta-dashboard-mockup-dark.svg";
5 | import lightImage from "../assets/cta-dashboard-mockup.svg";
6 | const title = "I'm a developer that enjoys building things"
7 | const body = "I have over 6 years professional experience. I have collaborated with a diverse range of clients, from start-ups to larger companies. My areas of expertise include building sites with visually appealing styles, constructing layouts and components based on designs, and utilizing the latest web development technologies. If you believe I can assist your business, please feel free to contact me. I am based in Upstate NY."
8 | ---
9 |
10 |
53 | )
54 | }
55 |
56 |
--------------------------------------------------------------------------------
/src/components/FeatureList.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import Heading from "./Heading.astro";
3 |
4 | const heading = "Some things I can help you with";
5 |
6 | const sections = [
7 | "Custom Static Site",
8 | "WordPress CMS",
9 | "SEO",
10 | "Analytics",
11 | "Content Creation",
12 | "Custom React Components",
13 | ];
14 | const sectionsText = [
15 | "I can build you a custom static site using Astro, Next, or Jekyll. Static sites are fast, secure, and easy to maintain.",
16 | "Do you want to add content like blogs, landing pages, or custom sections? I can help set up a WordPress site for you.",
17 | "SEO is important for your site to be found. I can help you with SEO best practices and tools to help you rank higher.",
18 | "Using analytics tools like Google Analytics, I can help you track your site's performance and make improvements.",
19 | "I've been using Adobe products for over 10 years. I can help you create content for your site, social media, and even custom YouTube videos.",
20 | "Need something more custom for an app? I can help you build custom React components for your project.",
21 | ];
22 | ---
23 |
24 |
61 |
--------------------------------------------------------------------------------
/src/components/Tabs.astro:
--------------------------------------------------------------------------------
1 | ---
2 | const tabs = [
3 | {
4 | tabTitle: "Profile",
5 | tabContent:
6 | "This is some placeholder content the Profile tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling.",
7 | },
8 | {
9 | tabTitle: "Dashboard",
10 | tabContent:
11 | "This is some placeholder content the Dashboard tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling.",
12 | },
13 | {
14 | tabTitle: "Settings",
15 | tabContent:
16 | "This is some placeholder content the Settings tab's associated content. Clicking another tab will toggle the visibility of this one for the next. The tab JavaScript swaps classes to control the content visibility and styling.",
17 | },
18 | ];
19 | ---
20 |
21 |
81 |
82 |
--------------------------------------------------------------------------------
/src/components/Timeline.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import Heading from "./Heading.astro";
3 |
4 | const heading = "What I've been up to";
5 | const dates = ["June 2017", "November 2017", "April 2020"];
6 | const info = [
7 | "Web Development and Design Assistant (Anaren Inc.)",
8 | "Frontend Web Developer (Atmosphere IoT Corp.)",
9 | "Freelance Web Developer (Shadow Stack LLC)",
10 | ];
11 | const details = [
12 | "I assisted in relaunching the corporate website for the space and defense engineering company. This includes landing pages promoting business markets. The site features pages on business values and career development. The corporate site hosts 700+ products that incorporate documentation, attributes, and more for each product in a data table.",
13 | "Built and maintained a completely custom software documentation site with Jekyll. Built and maintained a completely custom company website with Wordpress. Built front-end widgets for our IoT software platform with Handlebars and custom css. Maintained social media presence. Marketing tasks using Zoho Campaigns. Custom email templates sent with Zoho and Sendgrid. Project and getting started videos using Adobe Premiere. Analytic and metric tracking using: Klipfolio, Google Analytics, Google Tag Manager, Android Play console, Apple App Store Connect, and a custom Node app to provide usage metrics from our software. Participated in sprint reviews and planning with both Jira and Asana. ",
14 | "Freelance Web Developer for static and WordPress sites, web applications with React, sales oriented tasks, consulting on the latest and best tools in the industry, and much more.",
15 | ];
16 | ---
17 |
18 |
19 |
106 |
--------------------------------------------------------------------------------
/src/components/Nav.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import data from "../data/site.json";
3 | import DarkModeToggle from "./DarkModeToggle.astro";
4 | ---
5 |
6 |
70 |
71 |
79 |
80 |
129 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Astro Tailwind Flowbite Template
2 |
3 | This is a website template that uses the latest version of Astro along with Tailwind and Flowbite UI components to create a static website for various smaller projects. I'm hoping to use this as a foundation for small projects in the future, like building friends' or small businesses' fast and simple static sites.
4 |
5 | Walk through video:
6 |
7 | [](https://www.youtube.com/watch?v=FBFbW2TNRL8)
8 |
9 | This uses all the great features of Astro like View Transitions API support, automatic asset optimization, better build output, and more.
10 |
11 | This is a work in progress, so please feel free to send me a pull request for any improvements you make. Look at the contributing section below for more information.
12 |
13 | ## Getting Started
14 |
15 | - Clone or fork this repo.
16 | - Run `npm install` to install all the dependencies.
17 | - Run `npm run dev` to start the dev server.
18 | - You can then view the site at [http://localhost:4321/](http://localhost:4321/).
19 |
20 | ## Changing Site Contents
21 |
22 | Most of the site data lives in `src/data/site.json`. You can change the site title, description, social media links, and more there. Make sure to use a JSON linter in case you make any mistakes!
23 |
24 | ## Adding Pages
25 |
26 | Add pages in the `src/pages` directory. Create a new file named `pagename.astro` and import the Layout component and some variables into your new page like so:
27 |
28 | ```html
29 | ---
30 | import Layout from "../layouts/Layout.astro";
31 | import HeaderSmall from "../components/HeaderSmall.astro";
32 |
33 | const title = "Contact";
34 | const subtitle = "Contact me";
35 | ---
36 |
37 |
38 |
39 |
40 |
41 |
42 |
CONTENT HERE
43 |
44 |
45 | ```
46 |
47 | **Also note:** you'll need to add the page to `src/data/site.json` in the `pages` array for the page to show up in the navigation, but you don't have to if you don't want it in the nav.
48 |
49 | ## Component Library
50 |
51 | I'm using the Flowbite UI component library, which uses Tailwind CSS. You can find components [here](https://flowbite.com/docs/components/accordion/). If you'd like to add components, simply add them to the `src/components` directory and import them into your pages.
52 |
53 | ## Site Logo
54 |
55 | Replace the image in `src/assets/logo.png` with your own logo. If it's not square, you'll need to adjust the `width` and `height` in the `src/components/Nav.astro` file on line 55.
56 |
57 | ## Site Favicon
58 |
59 | Replace the image in `public/favicon.svg` with your own favicon.
60 |
61 | ## Site Colors
62 |
63 | Colors for primary, secondary, and accent are set in the `tailwind.config.cjs` file. You can change them there to whatever you'd like. A Tailwind palette or even a hex or RGB value will work.
64 |
65 | ## Deployment
66 |
67 | The easiest way to deploy a site like this is by using a service like Vercel, Cloudflare, or Netlify. Simply set up a free account on one of them, authorize your GitHub account, and grant access to all or selected repositories. From there, it should be as simple as setting up a new project in the dashboard; these services should handle the rest.
68 |
69 | ## Contributing
70 |
71 | If you'd like to contribute to this project, please feel free to send me a pull request. I'm always looking for ways to improve this template. If it's for a bug fix, please create an issue first so we can discuss it, the same with a feature add. This will give me more understanding when reviewing the PR. I want to keep this project neat and fast, so please make sure to follow the guidelines below.
72 |
73 | ## Guidelines
74 |
75 | - Please use the [Prettier](https://prettier.io/) code formatter to keep the code clean and consistent.
76 | - Please use [Tailwind](https://tailwindcss.com/) classes for styling.
77 | - Please use [Astro](https://astro.build/) components for HTML.
78 | - Please use [Flowbite UI](https://flowbite.com/) components for HTML.
79 | - If you're submitting a custom component (not in the current Flowbite UI library), please prepend `Custom` to the component name, e.g., `src/components/CustomImageScroll.astro`
80 |
81 | ## License
82 |
83 | This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
84 |
--------------------------------------------------------------------------------
/src/components/DarkModeToggle.astro:
--------------------------------------------------------------------------------
1 | ---
2 |
3 |
4 | ---
5 |
11 |
12 |
44 |
--------------------------------------------------------------------------------
/src/components/Carousel.astro:
--------------------------------------------------------------------------------
1 | ---
2 | import { Image } from "astro:assets";
3 | import image1 from "../assets/cta-dashboard-mockup-dark.svg";
4 | import image2 from "../assets/cta-dashboard-mockup-dark.svg";
5 | import image3 from "../assets/cta-dashboard-mockup-dark.svg";
6 | import image4 from "../assets/cta-dashboard-mockup-dark.svg";
7 | ---
8 |
9 |