Skip to content

Commit f9cc6b0

Browse files
authored
Add content, SEO improvements, improve internal linking for discoverability
Add content, move things around
2 parents 17ac593 + b49c107 commit f9cc6b0

42 files changed

Lines changed: 832 additions & 45 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

config.toml

Lines changed: 41 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@ disableSitemap = false
3333
disable404 = false
3434
disableHugoGeneratorInject = false
3535

36+
[minify]
37+
disableCSS = false
38+
disableHTML = false
39+
disableJS = false
40+
disableJSON = false
41+
disableSVG = false
42+
disableXML = false
43+
3644
[permalinks]
3745
posts = "/news/:title/"
3846

@@ -42,6 +50,15 @@ disableHugoGeneratorInject = false
4250
[blackfriday]
4351
hrefTargetBlank = true
4452

53+
[markup]
54+
[markup.goldmark]
55+
[markup.goldmark.renderer]
56+
unsafe = true
57+
[markup.tableOfContents]
58+
endLevel = 3
59+
ordered = false
60+
startLevel = 2
61+
4562
[taxonomies]
4663
tag = "tags"
4764
category = "categories"
@@ -54,14 +71,14 @@ disableHugoGeneratorInject = false
5471
dateformNumTime = "2006-01-02 15:04"
5572

5673
# Metadata mostly used in document's head
57-
#
58-
description = "A terminal workspace with batteries included"
74+
#
75+
description = "A terminal workspace that doesn't sacrifice simplicity for power. Features floating panes, layouts, multiplayer collaboration, plugins, and works in your browser."
5976
keywords = "rust,terminal,multiplexer"
6077
images = ["/img/floating-panes-preview.png"]
6178

6279
# Home subtitle of the index page.
6380
#
64-
homeSubtitle = "A terminal workspace with batteries included"
81+
homeSubtitle = "Terminal Workspace with Batteries Included"
6582

6683
# Set a background for the homepage
6784
# backgroundImage = "assets/images/background.jpg"
@@ -93,7 +110,7 @@ disableHugoGeneratorInject = false
93110
# Integrate Javascript files or stylesheets by adding the url to the external assets or by
94111
# linking local files with their path relative to the static folder, e.g. "css/styles.css"
95112
#
96-
customCSS = []
113+
customCSS = ["css/heading-anchors.css"]
97114
customJS = []
98115

99116
# Toggle this option need to rebuild SCSS, requires extended version of Hugo
@@ -140,7 +157,7 @@ disableHugoGeneratorInject = false
140157
#
141158
[params.portrait]
142159
path = "/img/logo.png"
143-
alt = "Portrait"
160+
alt = "Zellij logo - terminal workspace"
144161
maxWidth = "250px"
145162

146163
# Social icons
@@ -181,10 +198,10 @@ disableHugoGeneratorInject = false
181198
name = "News"
182199
url = "news/"
183200
[[menu.main]]
184-
weight = 2
185-
identifier = "roadmap"
186-
name = "Roadmap"
187-
url = "roadmap/"
201+
weight = 3
202+
identifier = "features"
203+
name = "Features"
204+
url = "features/"
188205
[[menu.main]]
189206
weight = 4
190207
identifier = "documentation"
@@ -197,6 +214,21 @@ disableHugoGeneratorInject = false
197214
url = "screencasts/"
198215
[[menu.main]]
199216
weight = 6
217+
identifier = "roadmap"
218+
name = "Roadmap"
219+
url = "roadmap/"
220+
[[menu.main]]
221+
weight = 7
200222
identifier = "repository"
201223
name = "Repository"
202224
url = "https://github.com/zellij-org/zellij"
225+
[[menu.main]]
226+
weight = 8
227+
identifier = "stickers"
228+
name = "Stickers"
229+
url = "stickers/"
230+
[[menu.main]]
231+
weight = 9
232+
identifier = "faq"
233+
name = "FAQ"
234+
url = "faq/"

content/about.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
---
2-
title: "About Zellij"
2+
title: "About Zellij - Power Without Complexity"
3+
description: "Zellij is a terminal workspace that doesn't sacrifice simplicity for power. Providing a great out of the box experience with advanced and discoverable features."
34
---
45
{{<figure src="https://raw.githubusercontent.com/zellij-org/zellij/main/assets/demo.gif" alt="A video demonstrating the features of Zellij">}}
56

@@ -9,6 +10,6 @@ Zellij is designed around the philosophy that one must not sacrifice simplicity
910

1011
Zellij is geared toward beginner and power users alike - allowing deep customizability, personal automation through layouts, true multiplayer collaboration, unique UX features such as floating and stacked panes, and a plugin system allowing one to create plugins in any language that compiles to WebAssembly.
1112

12-
Check out the [Screencasts & Tutorials](/screencasts) if you want to learn more.
13+
Check out the non-exhaustive list of [features](/features) and the [Screencasts & Tutorials](/screencasts) if you want to learn more.
1314

1415
For more details about our future plans, read about upcoming features in our [roadmap](/roadmap).

content/faq.md

Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
---
2+
title: "Frequently Asked Questions"
3+
description: "Common questions about Zellij terminal workspace: what it is, how it works, keyboard shortcuts, layouts, plugins, and more."
4+
---
5+
6+
## What is Zellij?
7+
8+
Zellij is a terminal workspace aimed at developers, ops-oriented people, and anyone who loves the terminal. It's sometimes called a "terminal multiplexer" - a tool that allows you to manage multiple terminal sessions, panes, and tabs from a single interface without tying you to a specific terminal emulator.
9+
10+
Zellij is designed around the philosophy that you shouldn't have to sacrifice simplicity for power. It provides an excellent out-of-the-box experience while offering advanced features like floating panes, stacked panes, layouts, session resurrection, plugins, and session management.
11+
12+
## How is Zellij different from a regular terminal?
13+
14+
A regular terminal emulator (like Alacritty, iTerm2, or GNOME Terminal) provides a single shell session. Zellij runs *inside* your terminal and provides:
15+
16+
- **Multiple panes**: Split your terminal into multiple sections, each running different commands
17+
- **Tabs**: Organize related panes into tabs for different projects or tasks
18+
- **Sessions**: Create named sessions that persist even if you close your terminal
19+
- **Layouts**: Automate your workspace setup with pre-configured commands and pane arrangements
20+
- **Plugins**: Extend functionality with WebAssembly plugins
21+
22+
While some terminals provide a limited amount of these features on their own, Zellij is terminal agnostic - allowing you to choose a terminal based on its own strengths (font and ligature rendering, GPU acceleration, integration with your desktop environment, etc.) rather than its pane/tab management features.
23+
24+
Think of Zellij as adding a powerful workspace layer on top of your existing terminal.
25+
26+
## Do I need to learn new keyboard shortcuts?
27+
28+
Zellij comes out-of-the-box with mneumonic shortcuts, designed to be easy to remember. The status-bar also displays the available shortcuts on-screen, so you don't need to remember anything. After using Zellij for only a few days, users usually get used to them and don't want to change anything.
29+
30+
That being said, all shortcuts are configurable and can be tailored to your needs. See [keybindings configuration](/documentation/keybindings.html) for more info.
31+
32+
Some users, especially those who use terminal editors such as `vim` might encounter keybind collisions, for those Zellij provides a [non-colliding, unlock first](/tutorials/colliding-keybindings) keybinding preset.
33+
34+
## Can I use Zellij with my existing terminal setup?
35+
36+
Yes! Zellij works with any terminal emulator and doesn't require changing your existing setup:
37+
38+
- Use your favorite terminal emulator (Alacritty, iTerm2, Konsole, etc.)
39+
- Keep your existing shell (bash, zsh, fish)
40+
- Use your configured `$EDITOR` (vim, neovim, emacs, helix)
41+
- Maintain your dotfiles and shell customizations
42+
43+
Run `zellij` in your terminal to start and that's it. You can even configure your terminal to launch Zellij automatically. See our [session management tutorial](/tutorials/session-management) for integration examples.
44+
45+
## What are layouts and why should I use them?
46+
47+
Layouts are configuration files (written in [KDL](https://kdl.dev)) that describe your workspace structure:
48+
49+
- Define which panes to open and where
50+
- Specify commands to run in each pane
51+
- Open files in your editor automatically
52+
- Configure tabs for different aspects of your project
53+
- Include plugins like tab bars and status bars
54+
55+
**Use cases:**
56+
- Start a development environment with editor, test runner, and logs
57+
- Create project-specific layouts for different repositories
58+
- Share workspace configurations with team members
59+
- Automate repetitive setup tasks
60+
61+
Layouts can dramatically reduce the time spent setting up your workspace each time you start working. Learn how to create them in our [layouts tutorial](/tutorials/layouts).
62+
63+
## Can I use Zellij in the browser?
64+
65+
Yes! Zellij includes a built-in web server:
66+
67+
- Access Zellij sessions from any modern browser
68+
- No terminal emulator required
69+
- Share sessions with teammates via URL
70+
- Built-in authentication for security
71+
- Seamlessly switch between terminal and browser
72+
73+
The web client makes Zellij accessible anywhere, perfect for:
74+
- Remote access to your development environment
75+
- Pair programming and collaboration
76+
- Using Zellij on devices without a terminal emulator
77+
78+
See our [web client tutorial](/tutorials/web-client) for setup instructions.
79+
80+
The web server **must be explicitly started** and configured with an HTTPS certificate and token authentication. For those who don't want it at all, Zellij also provides a pre-compiled version without the web server capability.
81+
82+
## How do plugins work?
83+
84+
Zellij's plugin system uses WebAssembly (WASM), allowing plugins written in any language that compiles to WASM:
85+
86+
**Built-in plugins:**
87+
- Tab bar and status bar (the Zellij UI)
88+
- Strider (filepicker)
89+
- Session manager
90+
- Multiple-pane selection interface
91+
- Configuration screen
92+
93+
**Custom plugins:**
94+
- Write plugins in Rust, Go, AssemblyScript, or other WASM-compatible languages
95+
- Access Zellij state and events
96+
- Render custom UIs
97+
- Respond to user input
98+
- Distribute via GitHub or other hosting as single `.wasm` files
99+
100+
Rust has first-class support with official SDK and scaffolding tools. Check out our [plugin development tutorial](/tutorials/developing-a-rust-plugin) to get started.
101+
102+
## Is Zellij actively maintained?
103+
104+
Yes! Zellij is actively developed full-time by [Aram Drevekenin](https://poor.dev) with support from the community and sponsors:
105+
106+
- Regular releases with new features
107+
- Responsive bug fixes and support
108+
- Active community on GitHub and social media
109+
- Comprehensive documentation and tutorials
110+
111+
Zellij will always remain free and open-source. If you find it valuable, consider [supporting the Zellij developer](https://github.com/sponsors/imsnif) to help maintain this full-time effort.
112+
113+
## How do I handle keyboard shortcut conflicts?
114+
115+
If Zellij shortcuts conflict with applications running inside (like vim), use the "Unlock-First (non-colliding)" preset:
116+
117+
1. Press `Ctrl o` to enter Session mode
118+
2. Press `c` to open the Configuration screen
119+
3. Press `Tab` to navigate to "Change Mode Behavior"
120+
4. Select "Unlock-First (non-colliding)" and press `Enter`
121+
122+
This preset requires unlocking the interface before accessing Zellij modes, preventing conflicts. See our detailed [colliding keybindings tutorial](/tutorials/colliding-keybindings).
123+
124+
## Can I customize the appearance?
125+
126+
Yes, Zellij supports theming and configuration:
127+
128+
- Choose from built-in color themes
129+
- Create custom themes
130+
- Configure UI components (tab bar, status bar)
131+
- Adjust frame colors and borders
132+
- Control UI visibility and layout
133+
134+
Configuration is stored in `~/.config/zellij/config.kdl` using the KDL format. See the [theme documentation](/documentation/themes.html) for details.
135+
136+
## How does Zellij compare to tmux or screen?
137+
138+
Zellij offers similar workspace management capabilities as tmux and screen but with modern design choices:
139+
140+
**Key differences:**
141+
- **UI**: Zellij provides an intuitive UI with status bar and visual feedback
142+
- **Floating and stackd panes**: First-class support for multiple floating windows and vertically stacked panes
143+
- **Layouts**: More powerful automation with command panes and templates, built-in
144+
- **Plugins**: Extensible via WebAssembly, does not rely on locally installed scripts
145+
- **Web client**: Built-in browser access
146+
- **True Multiplayer**: Allows multiple users to connect to the same session, each getting their own colored cursor
147+
- **Beginner-friendly**: Works great out of the box
148+
149+
Zellij aims to provide power without sacrificing simplicity. See [features](/features) for a non-exhaustive list of unique features.
150+
151+
That being said, Zellij does not consider itself a tmux or screen replacement. Read more about its mission [here](https://poor.dev/blog/why-zellij/).
152+
153+
## What operating systems does Zellij support?
154+
155+
Zellij supports:
156+
- **Linux**: All major distributions
157+
- **macOS**: Intel and Apple Silicon
158+
- **Windows**: Via WSL (Windows Subsystem for Linux)
159+
160+
Pre-built binaries are available for most platforms. See the [installation documentation](/documentation/installation.html) for details.
161+
162+
## How do I get help or report issues?
163+
164+
- **Documentation**: Start with the [official documentation](/documentation)
165+
- **Tutorials**: Watch [screencasts and tutorials](/screencasts)
166+
- **GitHub Issues**: Report bugs or request features at [github.com/zellij-org/zellij/issues](https://github.com/zellij-org/zellij/issues)
167+
- **Discussions**: Ask questions in [GitHub Discussions](https://github.com/zellij-org/zellij/discussions)
168+
- **Social Media**: Follow [@zellij](https://hachyderm.io/@zellij) on Mastodon or [Bluesky](https://bsky.app/profile/zellij-dev.bsky.social)
169+
170+
The Zellij community is friendly and responsive to questions and feedback.
171+
172+
## Can I contribute to Zellij?
173+
174+
Absolutely! Contributions are welcome in many forms:
175+
176+
- **Code contributions**: Submit pull requests on GitHub
177+
- **Documentation**: Improve guides and tutorials
178+
- **Bug reports**: Help identify and fix issues
179+
- **Feature requests**: Share ideas for improvements
180+
- **Community support**: Answer questions in discussions
181+
- **Financial support**: [supporting the Zellij developer](https://github.com/sponsors/imsnif)
182+
183+
Check the [contributing guidelines](https://github.com/zellij-org/zellij/blob/main/CONTRIBUTING.md) to get started.
184+
185+
## Is there a quick way to try Zellij without installing?
186+
187+
Yes! You can try Zellij directly in your browser without any installation:
188+
189+
Visit [zellij.dev/documentation/installation.html#try-zellij-without-installing](/documentation/installation.html) for instructions on accessing the demo instance.
190+
191+
For local installation, you can also use:
192+
```bash
193+
bash <(curl -L zellij.dev/launch)
194+
```
195+
196+
This downloads and runs Zellij temporarily without permanent installation.

0 commit comments

Comments
 (0)