This repository contains the code for Raven Scott's blog website, where markdown files serve as blog posts, and visitors can browse through posts, learn more about Raven, and contact him directly.
## Project Structure
```bash
raven-scott-website
├── app.js # Main server-side logic using Express.js
├── markdown # Folder containing markdown files for blog posts
├── package.json # Dependencies and project metadata
├── public # Static files such as CSS, images
│ └── css
│ └── styles.css # Custom styles for the website
└── views # EJS template files for rendering HTML
├── about.ejs # 'About Me' page template
├── blog-post.ejs # Blog post page template
├── contact.ejs # Contact form page template
└── index.ejs # Homepage displaying recent blog posts
```
## Features
- **Markdown Blog Posts**: Blog posts are written in Markdown, located in the `markdown` folder. The content is rendered with [marked](https://www.npmjs.com/package/marked) and supports code syntax highlighting using [highlight.js](https://highlightjs.org/).
- **Dynamic Blog Post Display**: Each markdown file is dynamically converted into a blog post with a readable URL slug. The homepage shows the latest posts, and each post has its own dedicated page.
- **Contact Form**: Visitors can use the contact form to send inquiries directly. Messages are handled via `nodemailer`.
- **Responsive Design**: The website uses [Bootstrap](https://getbootstrap.com/) to ensure a clean and responsive layout across devices.
- **Professional Look and Feel**: The custom CSS in `styles.css` provides a dark theme with accent colors for a professional, modern look.