Baklib VS Starlight
浏览:50
Startlight 介绍
Starlight 是一个基于 Astro 框架构建的全功能文档主题。 这个指南将帮助你开始一个新项目。 查看手动配置以将 Starlight 添加到现有的 Astro 项目中。
Startlight 的核心功能包括:
配置: 在自定义 Starlight中了解常见选项。
导航: 使用侧边栏导航指南设置你的侧边栏。
组件: 在组件指南中发现内置的卡片、标签页等更多内容。
部署: 使用 Astro 文档中的部署你的 Astro 站点指南发布你的站点。
Startlight 和 Baklib 都非常巧妙的构建了一套站点模板目录结构,用户只关系将对应的内容放置的对应的目录即可。其他的交给服务器渲染。
以下是 Baklib 和 Startlight 的平台结构对比:
功能模块 | Baklib | Startlight |
---|---|---|
架构 | Ruby on Rails + Liquid | Astro |
实用范围 | CMS/Wiki/Community 多模板站点构建 | 静态 Document文档站点构建 |
页面模板 | .liquid | .md/.mdx |
配置 | 在线 | 本地 |
部署 | 自动 | 手动 |
实用范围
Baklib:
Baklib 适用于多模态站点的构建,无论是营销型网站,文档类网站,还是交互性社区站点。
Startlight:
Starlight 只适用于 Document 文档类型静态站点的构建。
以下是一系列帖子和文章,以了解有关 Starlight 和其他人的经历的更多信息:
使用 Starlight 生成静态站点“在设计组件时,没有太大或太小的想法”——对 Starlight 负责人 Chris Swithinbank 的采访
使用 Astro 和 Starlight 的混合前端架构 Maxi Ferreira 和 Ben Holmes 使用 Starlight、TinaCMS 和具有身份验证功能的交互式 API Playground 构建了一个文档站点。
比较文档网站构建工具:VuePress 与 Starlight这两个框架如何衡量?
Startlight 案例
Starlight 已投入生产的网站案例参考:
模板目录
Baklib 的静态文件存储在
/statics
中,Startlight对应存储在src/contenet/
中。Baklib 自定义动态文件存储中
/templates
中,Startlight 对应存储在src/pages/
中。
Baklib 模板目录:
├── config
│ └── settings_schema.json
├── layout
│ └── theme.liquid
├── snippets
│ ├── _footer.liquid
│ ├── _header.liquid
│ └── _tree.liquid
├── statics
│ └── about.liquid
├── tailwind.config.js
├── templates
│ ├── index.help_center.liquid
│ ├── index.list.liquid
│ ├── nav_tree.liquid
│ ├── page.export.liquid
│ ├── page.liquid
│ ├── search.liquid
│ └── tag.liquid
Starlight 模板目录:
src/
content/
docs/
guides/
guide.md
index.md
pages/
custom.astro
archived.html
astro.config.mjs
页面构建
Baklib 的页面工具采用 .liquid
语法, Startlight 的静态页面采用 .md/mdx
语法, 动态页面采用 .astro
语法。
Baklib 中的页面模板:
{% assign pages = page.children_in_list %}
<main class="flex min-h-screen mx-auto {{ screen_width }}">
<div class="flex w-full" x-data="{ show_navtree: true }">
。。。
</div>
</main>
{% schema %}
{
"name": "Page",
"description": "The content page template",
"sub_page_templates": ["page"],
"settings": [
{
"id": "title",
"type": "text",
"readonly": true,
"label": "标题",
"info": "知识库同步,不可编辑"
},
{
"id": "description",
"type": "textarea",
"label": "t:settings_schema.page.settings.description.label"
}
]
}
{% endschema %}
Startlight 中的页面模板:
---
import StarlightPage from '@astrojs/starlight/components/StarlightPage.astro';
import CustomComponent from './CustomComponent.astro';
---
---
title: 我的文档
description: 通过 Starlight 构建的文档网站,了解有关我的项目的更多信息。
---
欢迎来到我的项目!
<StarlightPage frontmatter={{ title: '我的自定义页面' }}>
<p>这是一个有自定义组件的自定义页面:</p>
<CustomComponent />
</StarlightPage>
同类型竞品比较
比较
好奇和其他文档框架相比如何? 下面使用 Website Carbon Calculator 的测试比较了使用不同工具构建的类似页面。
框架 | 每页访问量产生的 CO₂ | 评级 |
---|---|---|
0.05g | A+ | |
0.01g | A+ | |
0.05g | A+ | |
0.06g | A+ | |
0.07g | A+ | |
0.09g | A+ | |
0.10g | A | |
0.11g | A | |
0.19g | B | |
0.21g | B | |
0.43g | C | |
1.22g | F |
数据收集于 2024 年 7 月 22 日。