我正在从vepress迁移到Astro。在VuePress中,我可以用这样的语法高亮显示代码行:
```csharp {1}
public override int GetHashCode()
{
return prop1.GetHashCode() ^ prop2.GetHashCode()
}
```
第一行将在生成的HTML中突出显示。
在Astro中,我没有得到任何亮点。我如何启用它?
顺便说一句,在官方文档中,我看到了一些关于代码块的更好的特性:
- 差别
- 只突出显示某些特定文本,而不是整行。
https://docs.astro.build/en/guides/assets/
现在,行突出显示对我来说已经足够了。
Astro的局限性
Astro是一个开发者的开发框架,在这方面,它默认只有初步的代码高亮功能,不支持行号高亮。这允许灵活地编程或使用任何您想要的库。
Astro's doc CodeSnippet
astro文档项目也是开源的,所以你可以看到并重用你在那里看到的函数。
简而言之,lines范围将提取该文本并使其具有自己的样式。许可证是MIT你可以重用CodeSnippet组件
参考https://github.com/withastro/docs/blob/97848f891afc067f1c32b3c3187b13b2090a5371/src/components/CodeSnippet/CodeSnippet.astro L49
update - Astro星光组件
Astro现在有一个现成的主题,可以在星光(主题名称)中使用,甚至可以在
之外提取和使用参考
https://starlight.astro.build/guides/authoring-content/代码块