Skip to content

Petar-CV/personal-blog

Repository files navigation

Personal Blog by Petar Cvetko Voćanec 📄

Personal Blog Lighthouse Score

TypeScript     Tailwind CSS     AWS

AWS

Fast and lightweight personal blog built with Astro and TailwindCSS hosted on AWS using S3 and CloudFront.

Production site is available at blog.petar-cv.com.

Light ☀️ and dark 🌙 mode are supported by default.

🚀 Project Structure

Any static assets, like images, can be placed in the public/ directory.

All blog posts are stored in src/content/blog directory in markdown format.

💻 Tech Stack

Main Framework - Astro
Type Checking - TypeScript
Styling - TailwindCSS
Deployment - AWS
Code Formatting - Prettier
Linting - ESLint

General workflow

Using Obsidian.md

  1. Create a folder for the new blog post.
  2. Create a new file in the folder with the name of the blog post.
  3. Write the blog post in markdown format.
  4. Place all the image you use in the same folder as the blog post and reference them using the following format ![image description](./image_name.png).
  5. When you are done with the blog post, copy the folder to src/content/blog directory.
  6. When you are satisfied with the blog post, commit and push the changes to the repository.

🧞 Commands

All commands are run from the root of the project, from a terminal:

Command Action
npm install Installs dependencies
npm run dev Starts local dev server at localhost:4321
npm run build Build your production site to ./dist/
npm run preview Preview your build locally, before deploying
npm run prettier:check Check code format with Prettier
npm run prettier:write Format codes with Prettier
npm run prepare Set up the husky hooks
npm run unlighthouse Runs Unlighthouse with local config

📜 License

Licensed under the BSD 3-Clause License, Copyright © 2023

🧑‍🤝‍🧑 Contributing

Made with ❤️ by Petar Cvetko Voćanec and contributors.