Astro博客企业官网

marby-astro — Astro 博客模板

作者 agnilem

Marby 是一个面向精品房产中介与经纪机构的 Astro 编辑风格主题,包含房源列表与筛选、房源详情页、博客、团队与办公室页面,输出为静态站点。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

3 个预览视图
桌面端首页1 / 3
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 3

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-09-30查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

房源列表带分类标签与实时搜索,房源详情页由 Markdown 生成,含规格、亮点、地图、周边地点、顾问卡片和按房间分组的图库与灯箱

02

博客支持分类筛选与相关文章,文章同样来自 Markdown 文件

03

内容与文案分离:房源、博客用 Markdown,其余文案集中在 site.json,内容集合 schema 在构建时校验字段

04

交互由原生 TypeScript 模块实现,不引入 UI 框架;包含平滑滚动与滚动触发显现,并遵循 prefers-reduced-motion

05

字体 Urbanist 与 Onest 通过 Fontsource 自托管,颜色、字号与缓动以 CSS 自定义属性定义在 tokens.css

模板详细介绍

Marby 是一个用 Astro 构建的房产类网站主题,定位为「安静、编辑风格」,面向精品房产中介与经纪机构。它提供完整的页面结构:首页包含视频主视觉、关于、服务、精选房源、客户评价、特色、团队与常见问题;另有关于我们、房源列表、房源详情、博客、博客详情、联系、条款与 404 页面。

房源与博客内容通过 Markdown 管理。每个房源一个文件,frontmatter 存放规格、亮点、周边地点与图库图片,正文为描述,文件名即 URL;博客文章同样一文件一篇,包含排序、标题、日期、分类与图片字段。两个内容集合的 schema 定义在 src/content.config.ts 中,字段拼写错误会在构建时报错。其余文案集中在 src/content/site.json,涵盖导航、页脚、社交、首页各区块、团队、评价、常见问题、办公室、关于页、条款与标签。

交互不依赖 UI 框架,每个行为是一个独立的原生 TypeScript 模块,统一在 entry.ts 中接入。主题包含 Lenis 平滑滚动与滚动触发的元素显现,并遵循 prefers-reduced-motion:开启减少动态效果时,平滑滚动、跑马灯与显现动画会关闭,布局保持完整。字体 Urbanist 与 Onest 通过 Fontsource 自托管。

构建输出为 dist/ 下的纯静态文件,可部署到任意静态托管;在 Vercel 或 Netlify 上导入仓库并保持默认构建命令与输出目录即可。联系表单默认只展示加载与成功状态,需要设置 PUBLIC_FORM_ENDPOINT 指向 Formspree、Basin 等服务端点才会真实提交。

Astro博客企业官网

适合你的项目吗?

适用场景

  • 为精品房产中介或经纪机构搭建展示型官网,包含房源列表与详情
  • 用 Markdown 维护房源与博客内容,由非开发者通过编辑文件更新站点
  • 部署到 Vercel、Netlify 或其他静态托管,输出纯静态文件
  • 需要联系表单但可先以演示状态展示,之后再接入 Formspree 或 Basin 等表单服务

适合人群

  • 精品房产中介、经纪机构或独立房产顾问的展示型网站
  • 接受用 Markdown 与 JSON 文件管理内容的团队
  • 偏好静态输出、不引入前端 UI 框架的项目
  • 需要房源筛选、房源详情图库与博客的房产类站点

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    运行 npm install 安装依赖,npm run dev 启动本地开发(默认 http://localhost:4321),npm run build 输出到 dist/,npm run preview 预览构建结果

  2. 2

    在 astro.config.mjs 中把 site 设置为自己的域名,以保证 canonical 与 Open Graph 链接正确

  3. 3

    联系表单默认只展示状态,需要设置 PUBLIC_FORM_ENDPOINT 指向 Formspree、Basin 等服务端点才会真实提交;PUBLIC_VERCEL_ANALYTICS 与 PUBLIC_STORE_BADGE 为可选开关,默认关闭

  4. 4

    替换 public/assets/ 中的图片与主视觉视频,并替换演示中的名称、地址与照片等占位内容

  5. 5

    部署到 Vercel 或 Netlify 时导入仓库并保持默认构建命令 npm run build 与输出目录 dist

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 房源详情页的地图通过嵌入 Google Maps 实现,属于外部服务;在部分地区或网络环境下可能无法加载,商用前需自行确认 Google Maps 的使用条款与配额要求。
  • 联系表单默认不真正提交,仅展示加载与成功状态;要实际接收提交需自行配置 PUBLIC_FORM_ENDPOINT 指向 Formspree、Basin 等第三方表单服务,可能涉及注册账号、API 密钥或付费额度。
  • 启用 PUBLIC_VERCEL_ANALYTICS 会加载 Vercel Web Analytics 与 Speed Insights,属于外部分析服务,可能产生账号依赖或费用。
  • 演示中的名称、地址与照片均为占位内容,需替换为自己的素材;这些演示素材的授权情况未在 README 中说明,商用前应自行确认或替换。
  • README 提及 Formspree 表单服务;真实提交需配置服务端点,其使用额度与费用需单独核对。
  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

The property map embeds Google Maps.

README 原文

URL the contact form posts to (Formspree, Basin, ...). Unset, the form only shows its states.

README 原文

`true` loads Vercel Web Analytics and Speed Insights

README 原文

Names, addresses and photos in the demo are placeholders; replace them with your own.

README 原文
https://github.com/agnilem/marby-astro/blob/main/LICENSEhttps://github.com/agnilem/marby-astro/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-01。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 85 / 100
技术栈
Astro
网站类型
博客 · 企业官网
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-09-28
截图检查日期
2026-10-01

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 Astro。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

已完成服务器许可规则与 AI 来源核对;未经过人工编辑审核。

查看当时使用的来源资料

SHA-256: d94e5167437c199ba6c92ee4f9d2a7e2a771d7cd239724786c1e2e40e97ad28e

2026-10-01T14:12:57.490Z

来源文件 / 仓库
# Marby, an Astro real estate theme

A quiet, editorial theme for boutique real estate agencies and brokerages: property listings with filters, detail pages with photo galleries, a blog, team and office pages. Static output, no UI framework: every interaction is a small vanilla TypeScript module.

Live demo: [marby-astro.vercel.app](https://marby-astro.vercel.app)

## Features

- Full-bleed video hero with the brand wordmark
- Services as stacking sticky cards, offices as a sticky stack on the contact page
- Property listing with category tabs and live search
- Property pages generated from Markdown: specs, highlights, map, nearby places, lead advisor card and a photo gallery grouped by room with a lightbox
- Blog with category filters, related articles and Markdown posts
- Testimonial slider, glass feature cards, a team ticker that reveals portraits on hover
- FAQ accordions (one open at a time), contact form with loading and success states
- Overlay menu; the nav caption flips colour over dark sections
- Lenis smooth scrolling and scroll-triggered reveals
- Honours `prefers-reduced-motion`: smooth scrolling, the ticker and reveals switch off, the layout stays intact
- Urbanist and Onest, self-hosted through Fontsource

## Getting started

```sh
npm install
npm run dev      # http://localhost:4321
npm run build    # outputs to dist/
npm run preview  # serves dist/
```

## Pages

| Route | What it is |
| --- | --- |
| `/` | hero, about, services, featured listings, testimonials, features, team, FAQ |
| `/about-us` | vision and mission, milestones, beliefs, FAQ, team |
| `/property` | listing grid with tabs and search, FAQ tiles |
| `/property/[slug]` | one page per file in `src/content/properties/` |
| `/blog` | article grid with category filters |
| `/blog/[slug]` | one page per file in `src/content/blog/` |
| `/contact` | office cards, FAQ |
| `/terms-conditions` | terms |
| `/404` | not found |

The contact form and footer appear on every page except the 404.

## Editing content

- `src/content/site.json` holds all other copy: navigation, footer, socials, home sections, team, testimonials, FAQs, offices, about page, terms and labels.
- `src/content/properties/*.md`: one file per property. The frontmatter holds the specs, highlights, nearby places and gallery images; the Markdown body is the description. The filename is the URL.
- `src/content/blog/*.md`: one file per article (`order`, `title`, `date`, `category`, `image`). The filename is the URL.
- Schemas for both collections are in `src/content.config.ts`, so a typo in a field fails the build instead of breaking a page.
- Images and the hero video live in `public/assets/`.
- Colours, the type scale and easings are custom properties in `src/styles/tokens.css`; shared styles are in `src/styles/global.css`. Each component keeps its own styles.

## Project structure

```
src/
  components/        Nav, Footer, Btn, Icon, StoreBadge
    sections/        one component per page section
    ui/              cards and FAQ rows
  content/           site.json, properties/, blog/
  icons/             SVG icons
  layouts/Base.astro head, nav, footer, scripts
  pages/             routes
  scripts/           one module per behaviour, wired in entry.ts
  styles/            tokens.css, global.css
```

## Environment variables

All optional and off by default.

| Variable | Effect |
| --- | --- |
| `PUBLIC_FORM_ENDPOINT` | URL the contact form posts to (Formspree, Basin, ...). Unset, the form only shows its states. |
| `PUBLIC_VERCEL_ANALYTICS` | `true` loads Vercel Web Analytics and Speed Insights |
| `PUBLIC_STORE_BADGE` | `true` shows the fixed store badge in the corner |

## Deploy

The build is plain static files in `dist/`, so it runs on any static host. On Vercel or Netlify, import the repo and keep the defaults (build command `npm run build`, output `dist`). Set `site` in `astro.config.mjs` to your domain so canonical and Open Graph URLs are correct.

## License and credits

MIT, see `LICENSE`. Fonts: Urbanist (The Urbanist Project Authors) and Onest (The Onest Project Authors), both under the SIL Open Font License 1.1. Names, addresses and photos in the demo are placeholders; replace them with your own. The property map embeds Google Maps.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。