內建組件

SHBlog Next 提供了一些內建組件,讓你可以輕鬆地在文章中使用它們來增強內容的表達力。這些組件包括清單、程式碼區塊、步驟指示器等等。以下是一些常用的內建組件介紹。

作者 Demo Admin
標籤
預設封面圖片: 內建組件

#步驟指示器

  • 位置:
    • src/components/post/Steps/Steps.astro
    • src/components/post/Steps/Step.astro
  • 引入路徑:
    • @shComponents/Steps/Steps.astro
    • @shComponents/Steps/Step.astro
  • 參數:
    組件參數名稱類型說明
    <Steps />startnumber指定步驟指示器的起始步驟編號,預設為 1。
    <Steps />classstring額外的 CSS Class,可以用來自定義步驟指示器的樣式。
    <Step />titlestring步驟的標題,將顯示在步驟指示器中。

你可以使用 StepsStep 組件來創建一個步驟指示器,這對於展示流程或指南非常有用。

<Steps start={3}>
<Step title="第一步">這是第一步的描述</Step>
<Step title="第二步">這是第二步的描述</Step>
<Step title="第三步">
這是第三步的描述,你可以在這裡添加更多的內容來說明這一步驟。
<ol>
<li>這是一個清單,對你可以用清單</li>
<li>但是必須手動添加 HTML 標籤哦</li>
</ol>
</Step>
</Steps>
第一步
這是第一步的描述
第二步
這是第二步的描述
第三步

這是第三步的描述,你可以在這裡添加更多的內容來說明這一步驟。

  1. 這是一個清單,對你可以用清單
  2. 但是必須手動添加 HTML 標籤哦

這將會渲染一個包含三個步驟的指示器,每個步驟都有標題和描述。你可以根據需要添加更多的步驟,或者自定義每個步驟的內容。

#檔案架構

  • 位置:
    • src/components/post/Files/Files.astro
    • src/components/post/Files/Folder.astro
    • src/components/post/Files/File.astro
  • 引入路徑:
    • @shComponents/Files/Files.astro
    • @shComponents/Files/Folder.astro
    • @shComponents/Files/File.astro
  • 參數:
    組件參數名稱類型說明
    <Files />pathstring指定文件樹的根路徑(可選)。
    <Files />classstring額外的 CSS Class,可以用來自定義文件樹的樣式。
    <Folder />namestring資料夾的名稱。
    <Folder />defaultOpenboolean指定資料夾是否預設展開(可選,預設為False)。
    <Folder />highlightedboolean指定資料夾是否高亮顯示(可選,預設為False)。
    <File />namestring檔案的名稱。
    <File />iconFileIconType指定檔案圖示的類型(預設為normal,所有選項請參考下方資訊)。
    <File />highlightedboolean指定檔案是否高亮顯示(可選,預設為False。請注意,高亮檔案並不會因而將父資料夾一同高亮。如需高亮資料夾,請在 <Folder /> 上使用 highlighted 屬性)。
<Files path="/sh-blog-next/">
<Folder name="app" defaultOpen>
<File name="layout.tsx" icon="code" />
<File name="page.tsx" />
<File name="global.css" highlighted />
</Folder>
<Folder name="components" highlighted>
<File name="button.tsx" icon="code" />
<File name="tabs.tsx" />
<File name="dialog.tsx" highlighted />
<Folder name="core">
<File name="Header.astro" />
<File name="Footer.astro" />
</Folder>
</Folder>
<File name="package.json" />
</Files>
/sh-blog-next/
layout.tsx
page.tsx
global.css
package.json

以下是所有可用的圖示:

<Files>
<Folder name="Development" defaultOpen>
<File name="source_code.ts" icon="code" />
<File name="config.yaml" icon="config" />
<File name="script.sh" icon="terminal" />
<File name="compiled.bin" icon="binary" />
</Folder>
<Folder name="Media Assets" defaultOpen>
<File name="background.png" icon="image" />
<File name="podcast.mp3" icon="audio" />
<File name="tutorial.mp4" icon="video" />
<File name="model_3d.obj" icon="3d" />
</Folder>
<Folder name="Documents">
<File name="report.pdf" icon="document" />
<File name="data_sheet.xlsx" icon="sheet" />
<File name="ssl_cert.crt" icon="certificate" />
<File name="private.key" icon="key" />
</Folder>
<Folder name="System & Others" defaultOpen>
<File name="backup.zip" icon="archive" />
<File name="scanner_output.pdf" icon="scan" />
<File name="unknown_file" icon="not-found" />
<File name="regular_note.txt" icon="normal" />
</Folder>
</Files>
source_code.ts
config.yaml
script.sh
compiled.bin
background.png
podcast.mp3
tutorial.mp4
model_3d.obj
backup.zip
scanner_output.pdf
unknown_file
regular_note.txt

#GitHub 卡片

  • 位置:src/components/GHCard/GitHubCard.astro
  • 引入路徑:@shComponents/GHCard/GitHubCard.astro
  • 參數:
    參數名稱類型說明
    repostring指定要顯示的 GitHub 倉庫,格式為 username/repositoryhttps://github.com/username/repository
    classstring額外的 CSS Class,可以用來自定義 GitHub 卡片的樣式。

以下是一個 GitHub 卡片的範例,展示了如何使用 GithubCard 組件來顯示 GitHub 倉庫的資訊:

<GithubCard repo="510208/sh-blog-next" />
GitHub sh-blog-next
公開儲存庫

A simple, lightweight, Chinese-based personal blog template, highly customizable, suitable for personal blogs.

TypeScript
14
1

以下是一個已被封存的儲存庫:

<GithubCard repo="https://github.com/510208/MD5Hashing-NEW" />
GitHub MD5Hashing-NEW
封存儲存庫

MD5Hashing的最新版介面,用簡單的UI擄獲許多使用者愛用的心

Visual Basic .NET
1
0

以下是一個不存在的儲存庫:

<GithubCard repo="https://github.com/510208/ThisRepoDoesNotExist" />
找不到所請求的儲存庫

#分頁

  • 位置:
    • src/components/post/Tab/Tabs.astro
    • src/components/post/Tab/TabItem.astro
  • 引入路徑:
    • @shComponents/Tab/Tabs.astro
    • @shComponents/Tab/TabItem.astro
  • 參數:
    組件參數名稱類型說明
    <Tabs />classstring額外的 CSS Class,可以用來自定義分頁組件的樣式。
    <TabItem />labelstring分頁的標籤名稱,將顯示在分頁標籤上。
    <TabItem />classstring額外的 CSS Class,可以用來自定義分頁項目的樣式。
console.log("Hello World in Javascript");
fn main() {
println!("Hello World in Rust");
}
console.log("Hello World in Typescript");
print("Hello World in Python")
package main
import "fmt"
func main() {
fmt.Println("Hello World in Go")
}
#include <iostream>
int main() {
std::cout << "Hello World in C++" << std::endl;
return 0;
}
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World in Java");
}
}
using System;
class Program {
static void Main() {
Console.WriteLine("Hello World in C#");
}
}
<?php
echo "Hello World in PHP";
?>
puts "Hello World in Ruby"
print("Hello World in Swift")
fun main() {
println("Hello World in Kotlin")
}
void main() {
print("Hello World in Dart");
}
Module Module1
Sub Main()
Console.WriteLine("Hello World")
Console.WriteLine("This is the first VB.Net Application.")
Console.ReadKey()
End Sub
End Module
在同一個分頁組件中,只有一個分頁項目可以預設開啟(傳送參數 defaultOpen)。

#提示區塊

提示區塊已經被集成進 Markdown 解析器中,你可以直接使用 Markdown 的語法來創建提示區塊。

:::note[筆記]
Highlights information that users should take into account, even when skimming.
:::
:::tip[提示]
Optional information to help a user be more successful.
:::
:::important[重要]
Important information for a user to know.
:::
:::danger[危險]
Serious and/or dangerous situations.
:::
:::caution[小心]
Negative potential consequences of an action.
:::