Astro static site structure with pages and content separated, making it easy to replace personal introductions by block
sorollaportfolio — Astro Portfolio Template
By jramma
An Astro-based personal portfolio template that uses block-style homepage sections and Markdown blog entries to present work, skills, and projects, under the MIT license.
Explore the design
Compare the page layouts and mobile experience. Open any screenshot for a closer look.
Actual screenshot captured by the server browser.
All pages & views 3
Screenshots show visual appearance; interactive behavior may differ.
What stands out
A quick read of the recorded project description.
The homepage is composed of Astro components such as Hero, WhatIDo, Header, and Footer, which can be combined into portfolio sections
Blog posts are stored as Markdown in src/content/blog, with detail pages generated through content collections and dynamic routes
Built-in blog index page and rss.xml output make it convenient to publish written content
Uses Tailwind CSS and TypeScript, with style and type configuration centralized in the project root
The repository contains a standard MIT license file, clarifying the conditions for use and distribution at the code level
Template Details
Sorolla Portfolio is a personal portfolio demo project. In the README, the author states its purpose is to show what a personal portfolio could look like, covering work, skills, and projects. The page structure is organized into block sections; the homepage includes components such as Hero and WhatIDo, and there is also an about page. Blog content is stored as Markdown under src/content/blog, with article pages generated through content collections and the dynamic route [...slug].astro, and it provides a blog index page and rss.xml output.
On the technical side, the project is built with Astro and configured with Tailwind CSS (tailwind.config.mjs) and TypeScript (tsconfig.json). The source is divided into assets, components, content, icons, layouts, pages, and styles; icons are SVG files, and styles include global.css and hamburgers.css. The README gives the local run method as pnpm install followed by pnpm run dev, with the dev server at http://localhost:4321; deployment instructions target Cloudflare Pages using wrangler pages deploy dist.
Regarding licensing, the repository contains a standard MIT license file, allowing free use, modification, commercial use, and distribution of this version of the code, provided the copyright notice and license notice are retained when distributing. Authorization for third-party assets such as demo images, fonts, and icons must be checked separately, and external services such as domains and hosting may incur costs. The README does not provide information on design style, accessibility, or performance.
Is it right for your project?
Use Cases
- Build a personal portfolio site to present self-introduction, skills, and projects in sections
- Write and publish project notes or blog posts in Markdown
- Use as a starting point for learning and modifying an Astro + Tailwind CSS + TypeScript combination
- Deploy to static hosting environments such as Cloudflare Pages
Suitable For
- Developers and designers who need a personal portfolio or resume-style site
- Users who are used to managing content in Markdown and want static generation
- Front-end developers who are familiar with or willing to use Astro and Tailwind CSS
Getting started & customization
Use these recorded setup notes alongside the repository instructions for your chosen version.
- 1
After cloning the repository, run pnpm install to install dependencies
- 2
Run pnpm run dev to start the development server, with the default address at http://localhost:4321
- 3
Build output is generated with pnpm run build; the README example uses wrangler pages deploy dist to deploy to Cloudflare Pages
- 4
When replacing images and icons in src/assets and src/icons, you must confirm asset authorization yourself
- 5
The README does not specify a Node version requirement; refer to the project dependencies and actual runtime environment
License & source material
Usage conditions & limitations
Free to use · keep license noticeThis entry covers the free version in the public repository under the MIT license; the free scope is the code of this version and does not mean external services or third-party assets are free.
Must comply with when using
- Free use, modification, commercial use, and distribution of this version of the code are permitted.
- When distributing copies or substantial portions of the code, retain the original author's copyright notice and the full MIT license notice.
- The code is provided as is; warranties and limitations of liability are governed by the original license and applicable law.
Additional costs & items to verify
- Demo images, fonts, icons, and other third-party assets must be checked against their respective licenses and cannot be judged solely by the code's MIT license.
- External services such as domains, hosting, databases, payments, or AI may incur additional charges.
- Deploying to Cloudflare Pages requires registering a Cloudflare account first, which is an external service account requirement.
- Before using the wrangler deployment command, you must have a Cloudflare account, which is an external service dependency.
View Original Text Basis
Permission is hereby granted, free of charge
Original License Text
Create an account on Cloudfare
Original README
https://github.com/jramma/sorollaportfolio/blob/main/LICENSEhttps://github.com/jramma/sorollaportfolio/blob/main/README.mdFirst you need a Cloudfare account
Original README
Compiled by DeepSeek based on repository license and README ·2026-10-04. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.
Project checks & description sources
Template Information
- Source platforms
- Astro Themes
- Documentation and maintenance reference score
- More documented · 87 / 100
- Technologies
- Astro
- Website type
- Portfolio
How this score is calculated
Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.
What to verify for this project
- Repository update recorded
- 2026-07-21
- Screenshot last checked
- 2026-10-04
A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.
The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.
Use a selection guide →How this description was prepared
AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.
Review declaration: [email protected] · 2026-10-04
Inspect the recorded source material
SHA-256: 61d715117ac911cc2e61ceab156c1b35624fc91dbf861901670b3728ef72d019
2026-10-04T10:14:19.297Z
Source file / repository# Sorolla Portfolio

Welcome to my personal portfolio demo repository! This project is a demonstration of what a personal portfolio could look like. It showcases various aspects of web development, including my work, skills, and projects.
- You can view the deployed project at the following URL: [https://sorolla.casset.cat/](https://sorolla.casset.cat/)
- Astro web templates: <https://astro.build/themes/details/sorollaportfolio/>
## 📂 Project Structure
- **public/**: Contains public assets like images and fonts.
- **src/**: Includes the source code for the portfolio.
- **.gitignore**: Specifies files and directories to be ignored by Git.
- **astro.config.mjs**: Configuration file for Astro.
- **package.json**: Lists project dependencies and scripts.
- **tailwind.config.mjs**: Configuration file for Tailwind CSS.
- **tsconfig.json**: TypeScript configuration file.
### 🧭 /src structure
The `/src` directory contains the main source code for the project. Below is an overview of its structure:
```bash
src
├── assets
│ ├── adriana.webp
│ ├── euro.webp
│ ├── fran.webp
│ └── hero.webp
├── components
│ ├── BaseHead.astro
│ ├── Footer.astro
│ ├── FormattedDate.astro
│ ├── Header.astro
│ ├── HeaderLink.astro
│ ├── Hero.astro
│ └── WhatIDo.astro
├── consts.ts
├── content
│ └── blog
│ └── content in markdown format
├── content.config.ts
├── icons
│ ├── 1.svg
│ ├── 2.svg
│ ├── 3.svg
│ ├── 4.svg
│ ├── 5.svg
│ ├── beach.svg
│ ├── github.svg
│ ├── linkedin.svg
│ ├── paint.svg
│ └── web.svg
├── layouts
│ └── BlogPost.astro
├── pages
│ ├── about.astro
│ ├── blog
│ │ ├── index.astro
│ │ └── [...slug].astro
│ ├── index.astro
│ └── rss.xml.js
└── styles
├── global.css
└── hamburgers.css
```
#### Explanation
- **assets**: Contains image files used in the project.
- **components**: Contains reusable UI components built with Astro.
- **content**: Contains blog content in Markdown format.
- **content.config.ts**: Configuration file for content collections.
- **icons**: Contains SVG icon files used in the project.
- **layouts**: Contains layout components.
- `BlogPost.astro`: Layout component for blog posts.
- **pages**: Contains the main pages of the site.
- `blog/index.astro`: Blog index page.
- `blog/[...slug].astro`: Dynamic route for individual blog posts.
- **styles**: Contains global and component-specific CSS files.
- `global.css`: Global styles for the project.
- `hamburgers.css`: Styles for the hamburger menu.
This structure helps in organizing the project files and makes it easier to maintain and scale the project.
## 🚀 Getting Started
To run this project locally:
1. **Clone the repository:**
```bash
git clone https://github.com/jramma/sorollaportfolio.git
cd sorollaportfolio
```
2. **Install dependencies:**
```bash
pnpm install
```
3. **Start the development server:**
```bash
pnpm run dev
```
The application will be available at `http://localhost:4321`.
## 🛠️ Technologies Used
- **Astro**: A modern static site builder.
- **Tailwind CSS**: A utility-first CSS framework.
- **TypeScript**: A statically typed programming language.
## 📄 License
This project is licensed under the [MIT License](LICENSE).
## Deploy on Cloudfare
1. Create an account on Cloudfare
2. Execute:
```bash
pnpm i
pnpm run build
# First you need a Cloudfare account
npx wrangler pages deploy dist --project-name=sorolla
```
3. Check settings on Cloudfare workers/pagesExplore similar templates
Compare previews and descriptions within the same stack and category.

astro-theme-cactus
Astro Cactus is an Astro-based blog and portfolio theme that uses Markdown/MDX content collections to manage posts, notes, and tags, with frontmatter type-checked by a schema.
Astro · Portfolio

astrofy
Astrofy is a free and open-source personal portfolio website template built with Astro and TailwindCSS, with built-in blog, CV timeline, project showcase, store, and RSS feed modules.
Astro · Portfolio

astro-nano
Astro Nano is a static, minimalist portfolio and blog template built with Astro, Tailwind, and TypeScript without frontend frameworks. It includes light/dark themes, animated UI, automatic sitemap and RSS feed generation, and Markdown/MDX support with component imports.
Astro · Portfolio

astro-erudite
astro-erudite is an opinionated, unstyled static blog template built with Astro and native CSS, with no UI or CSS framework and minimal dependencies.
Astro · Portfolio

astro-sphere
Astro Sphere is a static, minimalist portfolio and blog theme maintained by markhorn-dev, built mainly with Astro, Tailwind, and TypeScript, with a small amount of SolidJS for stateful components.
Astro · Portfolio

astro-micro
Astro Micro is a framework-free blog and portfolio theme for Astro, forked from Astro Nano. It adds Pagefind search and Giscus comments while retaining type safety, sitemap, RSS, Markdown and MDX support, and TailwindCSS with system, light, and dark themes.
Astro · Portfolio
