Skip to content

Commit

Permalink
docs: Update intro page (#2767)
Browse files Browse the repository at this point in the history
  • Loading branch information
caksoylar authored Jan 23, 2025
1 parent 4882a62 commit 4f72e7c
Show file tree
Hide file tree
Showing 4 changed files with 112 additions and 52 deletions.
52 changes: 0 additions & 52 deletions docs/docs/intro.md

This file was deleted.

75 changes: 75 additions & 0 deletions docs/docs/intro.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
title: Introduction to ZMK
sidebar_label: Introduction
slug: /
---

import { Columns, Column } from "@site/src/components/columns";

ZMK Firmware is an open source (MIT) keyboard firmware built on the [Zephyr™ Project](https://zephyrproject.org/) Real Time Operating System (RTOS).
ZMK's goal is to provide a modern and powerful firmware that is designed for power-efficiency, flexibility, and broad hardware support.
ZMK is capable of being used for both wired and wireless input devices.

## Features

Below table lists major features/capabilities currently supported in ZMK, as well as ones that are currently under development and not planned.

<Columns>
<Column className="full-width-table">

| Legend: | ✅ Supported | 🚧 Under Development | ❌ Not Planned |
| :------ | :----------- | :------------------- | -------------- |

</Column>
</Columns>

<Columns>
<Column className="full-width-table">

| Hardware | Support |
| ------------------------------------------------------------------------------------------------------------- | :-----: |
| [Wireless Split Keyboards](features/split-keyboards.md) ||
| Wired Split Keyboards | 🚧 |
| [Low Active Power Usage](/power-profiler) ||
| [Encoders](features/encoders.md) ||
| [LED-based Lighting](features/lighting.md) ||
| [Displays](features/displays.md) | 🚧 |
| [Pointing Devices](features/pointing.md) ||
| Multitouch Touchpads (PTP) | 🚧 |
| [Low Power Sleep States](features/low-power-states.md) ||
| [Low Power Mode (VCC Shutoff) for Peripherals](keymaps/behaviors/power.md) ||
| Improved Power Handling for Multiple Peripherals | 🚧 |
| [Battery Level Reporting](features/battery.md) ||
| [Support for a Wide Range of 32-bit Microcontrollers](https://docs.zephyrproject.org/3.5.0/boards/index.html) ||
| Support for AVR/8-bit Chips ||

</Column>
<Column className="full-width-table">

| Connectivity | Support |
| --------------------------------------------------------------- | :-----: |
| Low-Latency BLE Support ||
| [Multi-Device BLE Connectivity](features/bluetooth.md#profiles) ||
| [USB Connectivity](keymaps/behaviors/outputs.md) ||

| Keymap Features | Support |
| ------------------------------------------------------------------------------------------------------------------------------------------------------ | :-----: |
| [User Configuration Repositories](user-setup.mdx) ||
| [Keymaps and Layers](keymaps/index.mdx) ||
| [Wide Range of Keycodes](keymaps/list-of-keycodes.mdx) ||
| [Flexible Behavior System](keymaps/behaviors/index.mdx) ||
| [Hold-Taps](keymaps/behaviors/hold-tap.mdx) (including [Mod-Tap](keymaps/behaviors/mod-tap.md) and [Layer-Tap](keymaps/behaviors/layers.md#layer-tap)) ||
| [Tap-Dances](keymaps/behaviors/tap-dance.mdx) ||
| [Sticky (One Shot) Keys](keymaps/behaviors/sticky-key.md) ||
| [Combos](keymaps/combos.md) ||
| [Macros](keymaps/behaviors/macros.md) ||
| [Mouse Keys](keymaps/behaviors/mouse-emulation.md) ||
| [Realtime Keymap Updating](features/studio.md) | 🚧 |

</Column>
</Columns>

## Code of Conduct

Please note that this project is released with a [Contributor Code of Conduct](https://www.contributor-covenant.org/version/2/0/code_of_conduct/).
By participating in this project you agree to abide by its terms.
32 changes: 32 additions & 0 deletions docs/src/components/columns.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import React, { ReactNode, CSSProperties } from "react";
import clsx from "clsx";

interface ColumnsProps {
children: ReactNode;
className?: string;
style?: CSSProperties;
}
// className will allow you to pass either your custom classes or the native infima classes https://infima.dev/docs/layout/grid.
// style will allow you to either pass your custom styles directly, which can be an alternative to the "styles.module.css" file in certain cases.
export function Columns({ children, className, style }: ColumnsProps) {
return (
<div className="container center">
<div className={clsx("row", className)} style={style}>
{children}
</div>
</div>
);
}

interface ColumnProps {
children: ReactNode;
className?: string;
style?: CSSProperties;
}
export function Column({ children, className, style }: ColumnProps) {
return (
<div className={clsx("col", className)} style={style}>
{children}
</div>
);
}
5 changes: 5 additions & 0 deletions docs/src/css/custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,8 @@
.secrettabs {
display: none;
}

.full-width-table table {
width: 100%;
display: table;
}

0 comments on commit 4f72e7c

Please sign in to comment.