krik 0.1.21

A fast static site generator written in Rust with internationalization, theming, and modern web features
Documentation
---
title: "Markdown Feature Showcase"
date: 2024-01-20T14:30:00Z
tags: ["markdown", "features", "demo"]
toc: true
pdf: true
---

# Markdown Feature Showcase

This post demonstrates all the markdown features supported by Krik, including
some advanced formatting options.

## Basic Text Formatting

Here are the basic text formatting options:

- **Bold text** using `**bold**`
- _Italic text_ using `*italic*`
- ~~Strikethrough text~~ using `~~strikethrough~~`
- `Inline code` using backticks
- You can also combine **_bold and italic_** text

## Headings

Krik supports all heading levels from H1 to H6. Since this post has TOC enabled,
you can see how they're organized in the table of contents.

### This is H3

#### This is H4

##### This is H5

###### This is H6

## Code Blocks

### Syntax Highlighting Ready

```rust
// Rust code example
struct Config {
    title: String,
    base_url: Option<String>,
}

impl Config {
    fn new(title: &str) -> Self {
        Self {
            title: title.to_string(),
            base_url: None,
        }
    }
}
```

```python
# Python code example
def generate_site(input_dir, output_dir):
    """Generate static site from markdown files."""
    for file in input_dir.glob("**/*.md"):
        process_markdown_file(file, output_dir)

    print("Site generated successfully!")
```

```html
<!-- HTML code example -->
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Krik Demo</title>
  </head>
  <body>
    <h1>Hello, World!</h1>
  </body>
</html>
```

## Lists and Task Lists

### Unordered Lists

- First level item
- Another first level item
  - Second level item
  - Another second level item
    - Third level item
    - Another third level item
- Back to first level

### Ordered Lists

1. First numbered item
2. Second numbered item
   1. Nested numbered item
   2. Another nested item
3. Third numbered item

### Task Lists

- [x] Completed task
- [x] Another completed task
- [ ] Incomplete task
- [ ] Another incomplete task
  - [x] Nested completed task
  - [ ] Nested incomplete task

## Tables

Here's a comprehensive table showing Krik's features:

| Feature Category | Feature             | Status | Description                  |
| ---------------- | ------------------- | ------ | ---------------------------- |
| **Core**         | Markdown Processing || Full GFM support             |
| **Core**         | Front Matter        || YAML metadata                |
| **Core**         | Draft Support       || Skip processing              |
| **Theme**        | Light/Dark Mode     || Auto-detection + toggle      |
| **Theme**        | Responsive Design   || Mobile-first approach        |
| **i18n**         | Multi-language      || Filename-based detection     |
| **i18n**         | Language Selector   || Dropdown navigation          |
| **Navigation**   | TOC Generation      || Auto-generated from headings |
| **Navigation**   | Footnote Links      || Bidirectional navigation     |
| **Navigation**   | Scroll to Top       || Smart visibility             |
| **Advanced**     | Atom Feeds          || RFC 4287 compliant           |
| **Advanced**     | Asset Copying       || Preserves structure          |

## Blockquotes

> This is a simple blockquote.

> This is a multi-line blockquote. It can span multiple lines and even include
> other markdown elements.
>
> Like **bold text** and _italic text_.

> ### Blockquotes with headings
>
> You can include headings in blockquotes:
>
> 1. Numbered lists
> 2. Work too
>
> ```
> Even code blocks!
> ```

## Horizontal Rules

You can create horizontal rules using three or more hyphens:

---

Or three or more asterisks:

---

## Links

- [External link to Rust]https://www.rust-lang.org/
- [Link to another post]welcome.html
- [Link with title]https://www.rust-lang.org/ "The Rust Programming Language"

### Reference Links

This is a paragraph with [reference link][rust-lang] and another [link][github].

[rust-lang]: https://www.rust-lang.org/ "Rust Programming Language"
[github]: https://github.com/ "GitHub"

## Images

Here's how images work:

![Alt text for image](../images/krik.png "Optional title")

## Footnotes in Detail

Footnotes are particularly powerful in Krik[^footnote1]. They create
bidirectional links with smooth scrolling[^complex-footnote].

You can have multiple paragraphs in footnotes[^multiline], and they support full
markdown formatting.

## Escaping Characters

Sometimes you need to escape markdown characters: \*not italic\*, \`not code\`,
\[not a link\].

---

This covers most of the markdown features supported by Krik. The combination of
these features with the theme system, internationalization, and advanced
navigation makes Krik a powerful choice for static site generation.

[^footnote1]:
    This is a simple footnote that demonstrates the basic functionality.

[^complex-footnote]:
    This footnote contains **bold text**, _italic text_, and even `inline code`.
    It shows how footnotes can contain rich formatting.

[^multiline]: This is a multiline footnote.

    It can contain multiple paragraphs, code blocks, and other markdown
    elements:

    ```
    code in footnotes works too!
    ```

    Pretty neat, right?