# Showing Off Blog Features

4 min read
Table of Contents

This is a part of the theme’s doc, not my work. Kept for reference. Since the post does not have a description in the frontmatter, the first paragraph is used.

Theming

Use your favorite editor theme for your blog!

Theming for the website comes from builtin Shiki themes found in Expressive Code. You can view them here. A website can have one or more themes, defined in src/site.config.ts. There are three theming modes to choose from:

  1. single: Choose a single theme for the website. Simple.
  2. light-dark-auto: Choose two themes for the website to use for light and dark mode. The header will include a button for toggling between light/dark/auto. For example, you could choose github-dark and github-light with a default of "auto" and the user’s experience will match their operating system theme straight away.
  3. select: Choose two or more themes for the website and include a button in the header to change between any of these themes. You could include as many Shiki themes from Expressive Code as you like. Allow users to find their favorite theme!

When the user changes the theme, their preference is stored in localStorage to persist across page navigation.

Code Blocks

Let’s look at some code block styles:

def hello_world():
print("Hello, world!")
hello_world()
hello.py
def hello_world():
print("Hello, world!")
hello_world()
Terminal window
python hello.py

Also some inline code: 1 + 2 = 3. Or maybe even (= (+ 1 2) 3).

See the Expressive Code Docs for more information on available features like wrapping text, line highlighting, diffs, etc.

Basic Markdown Elements

  • List item 1
  • List item 2

Bold text

Italic text

Strikethrough text

Link

In life, as in art, some endings are bittersweet. Especially when it comes to love. Sometimes fate throws two lovers together only to rip them apart. Sometimes the hero finally makes the right choice but the timing is all wrong. And, as they say, timing is everything.

- Gossip Girl

NameAgeCity
Alice30New York
Bob25Los Angeles
Charlie35Chicago

Images

Images can include a title string after the URL to render as a <figure> with a <figcaption>.

Pixel art markdown
![Pixel art of a tree](./PixelatedGreenTreeSide.png 'Pixel art renders poorly without proper CSS')

I’ve also added a special tag for pixel art that adds the correct CSS to render properly. Just add #pixelated to the very end of the alt string.

Pixel art markdown with #pixelated
![Pixel art of a tree #pixelated](./PixelatedGreenTreeSide.png 'But adding #pixelated to the end of the alt string fixes this')

Admonitions

Admonition example in markdown
:::note
testing123
:::

GitHub Cards

GitHub overview cards heavily inspired by Astro Cactus.

GitHub repo card example in markdown
::github{repo="stelcodes/multiterm-astro"}
A coder-ready Astro blog theme with 60 of your favorite color schemes to choose from 🎨⚑️
27663MITAstro
GitHub user card example in markdown
::github{user="withastro"}
3.7K47

Emoji 🀩

Emojis can be added in markdown by including a literal emoji character or a GitHub shortcode. You can browse an unofficial database here.

Example markdown with GitHub emoji shortcodes
Good morning! :sleeping: :coffee: :pancakes:

Good morning! 😴 β˜• πŸ₯ž

All emojis (both literal and shortcoded) are made more accessible by wrapping them in a span tag like this:

<span role="img" aria-label="coffee">β˜•οΈ</span>

At the time of writing, emoji v16 is not supported yet. These emojis can be included literally but they do not have shortcodes and will not be wrapped.

LaTeX/KaTeX Math Support

You can also display inline math via remark-math and rehype-katex.

Rendering inline math with KaTeX
Make those equations pretty! $ \frac{a}{b} \cdot b = a $

Make those equations pretty! abβ‹…b=a\frac{a}{b} \cdot b = a

Check out the KaTeX docs to learn about the syntax.

Rendering a block of KaTeX
$$
a + ar + ar^2 + ar^3 + \dots + ar^{n-1} = \displaystyle\sum_{k=0}^{n - 1}ar^k = a \bigg(\dfrac{1 - r^n}{1 -r}\bigg)
$$
a+ar+ar2+ar3+β‹―+arnβˆ’1=βˆ‘k=0nβˆ’1ark=a(1βˆ’rn1βˆ’r)a + ar + ar^2 + ar^3 + \dots + ar^{n-1} = \displaystyle\sum_{k=0}^{n - 1}ar^k = a \bigg(\dfrac{1 - r^n}{1 -r}\bigg)

HTML Elements

Fieldset with Inputs






Form with Labels






My avatar

Positron

has a spin of Β½