Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
6fa7485
Start working on VitePress docs
anantnrg Mar 12, 2024
8326cf6
Modify some stuff
anantnrg Mar 12, 2024
6904307
start working
anantnrg Mar 12, 2024
81012ee
more stuff
anantnrg Mar 12, 2024
c40e36a
stufff
anantnrg Mar 12, 2024
08d07cb
add more routes
anantnrg Mar 12, 2024
5373c07
more stuff
anantnrg Mar 12, 2024
27b4eb4
stuff
anantnrg Mar 12, 2024
603f2dd
add list of items to get-started
anantnrg Mar 12, 2024
a13413a
start working on installation guide
anantnrg Mar 12, 2024
558b6d3
get rid of the pesky list
anantnrg Mar 13, 2024
66fba96
start work on install instructions
anantnrg Mar 13, 2024
ce81f90
modify
anantnrg Mar 13, 2024
535e77f
add instructions for more distros
anantnrg Mar 13, 2024
6d77b59
stuf
anantnrg Mar 13, 2024
26ad20a
instructions for rustup script
anantnrg Mar 14, 2024
9fd2cfe
more instructions
anantnrg Mar 14, 2024
84b9b41
finish rust install guide
anantnrg Mar 14, 2024
1498b89
instructions to install other deps
anantnrg Mar 14, 2024
549b45c
install instructions for some distros
anantnrg Mar 14, 2024
6cd7c27
add isntalling strata section
anantnrg Mar 14, 2024
e152777
instructions for installing strata
anantnrg Mar 14, 2024
7bff8af
updating strata
anantnrg Mar 14, 2024
0b2f9c2
finish install page
anantnrg Mar 14, 2024
f0f05db
add discord link and fix broken link in home
anantnrg Mar 14, 2024
430bb00
start working on customizing the theme
anantnrg Mar 14, 2024
6c271c4
set custom fonts
anantnrg Mar 14, 2024
061c1b3
start working on custom colors
anantnrg Mar 14, 2024
f95a246
going pretty good hehe :sweat_smile:
anantnrg Mar 14, 2024
6c85834
text and border colors
anantnrg Mar 14, 2024
03f4195
Finish stuff for now
anantnrg Mar 14, 2024
5baa9d5
add logo
anantnrg Mar 15, 2024
e5ddbcb
start work on custom home page layout
anantnrg Mar 15, 2024
846dd5b
get rid of home page
anantnrg Mar 15, 2024
cc59fc8
only hide nav links, theme toggle and social links on mobile devices
anantnrg Mar 15, 2024
10fab74
start working on custom scrollbar
anantnrg Mar 15, 2024
0331ace
custom scrollbar works
anantnrg Mar 15, 2024
d889cf2
redirect home page to installing page
anantnrg Mar 15, 2024
57a288b
enable search
anantnrg Mar 15, 2024
d1f9b62
create blank pages for configuration
anantnrg Mar 15, 2024
b3b1a0b
add nav link for config
anantnrg Mar 15, 2024
69f1c66
fix overflowing navbar
anantnrg Mar 15, 2024
2957833
remove reduntant text
anantnrg Mar 15, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,7 @@
/src/libs/ctl.rs
/.rtx.toml
/*scratch*
/.idea
/.idea
/node_modules
/docs/.vitepress/cache
/docs/.vitepress/dist
48 changes: 48 additions & 0 deletions docs/.vitepress/config.mts
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
import { defineConfig } from 'vitepress'

export default defineConfig({
title: "Strata",
description: "A cutting-edge, robust and sleek Wayland compositor with batteries included.",
markdown: {
theme: { dark: 'catppuccin-mocha', light: 'catppuccin-latte' }
},
themeConfig: {
nav: [
{ text: 'Home', link: 'https://stratawm.github.io' },
{ text: 'Get Started', link: '/get-started/installing' },
{ text: 'Configuration', link: '/configuration/basics' },
],

sidebar: [
{
text: 'Get Started',
items: [
{ text: 'Installing', link: '/get-started/installing' },
{ text: 'Troubleshooting', link: '/get-started/troubleshooting' }
]
},
{
text: 'Configuration',
items: [
{ text: 'Basics', link: '/configuration/basics' },
{ text: 'Keybindings', link: '/configuration/keybindings' },
{ text: 'Window rules', link: '/configuration/window-rules' },
]
}
],

socialLinks: [
{ icon: 'github', link: 'https://github.com/stratawm/strata' },
{ icon: 'discord', link: 'https://discord.gg/tcb5cRW4ZQ' }
],

search: {
provider: "local",
},

footer: {
copyright: "Copyright © 2023-present Anant Narayan",
message: "Licensed under the <a href='https://github.com/stratawm/strata/blob/main/LICENSE'>GPL v3 License</a>."
}
}
})
89 changes: 89 additions & 0 deletions docs/.vitepress/theme/colors.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
@import url('https://unpkg.com/@catppuccin/palette/css/catppuccin.css');

/* Background Colors */
:root {
--vp-c-bg: var(--ctp-latte-mantle);
--vp-c-bg-alt: var(--ctp-latte-crust);
--vp-c-bg-elv: var(--ctp-latte-base);
--vp-c-bg-soft: var(--ctp-latte-surface0);
}

.dark {
--vp-c-bg: var(--ctp-mocha-mantle);
--vp-c-bg-alt: var(--ctp-mocha-crust);
--vp-c-bg-elv: var(--ctp-mocha-base);
--vp-c-bg-soft: var(--ctp-mocha-surface0);
}

/* Border Colors */
:root {
--vp-c-border: var(--ctp-latte-surface0);
--vp-c-divider: var(--ctp-latte-surface0);
--vp-c-gutter: var(--ctp-latte-surface1);
}

.dark {
--vp-c-border: var(--ctp-mocha-surface0);
--vp-c-divider: var(--ctp-mocha-surface0);
--vp-c-gutter: var(--ctp-mocha-surface1);
}

/* Text Colors */
:root {
--vp-c-text-1: var(--ctp-latte-text);
--vp-c-text-2: var(--ctp-latte-subtext1);
--vp-c-text-3: var(--ctp-latte-subtext0);
}

.dark {
--vp-c-text-1: var(--ctp-mocha-text);
--vp-c-text-2: var(--ctp-mocha-subtext1);
--vp-c-text-3: var(--ctp-mocha-subtext0);
}

/* Brand Colors */
:root {
--vp-c-brand-1: var(--ctp-latte-red);
--vp-c-brand-2: var(--ctp-latte-lavender);
--vp-c-brand-3: var(--ctp-latte-mauve);
}

.dark {
--vp-c-brand-1: var(--ctp-mocha-red);
--vp-c-brand-2: var(--ctp-mocha-mauve);
--vp-c-brand-3: var(--ctp-mocha-lavender);
}

/* Code Block */
:root {
--vp-code-line-height: 2;
--vp-code-font-size: 0.875em;
--vp-code-color: var(--ctp-mocha-mauve);
--vp-code-lang-color: rgba(var(--ctp-mocha-text) 0.2);

--vp-code-copy-copied-text-content: 'Copied!';
}

/* Navbar */
:root {
--vp-nav-height: 56px;
--vp-nav-bg-color: var(--vp-c-bg);
--vp-nav-screen-bg-color: var(--vp-c-bg);
--vp-nav-logo-height: 24px;
}

.hide-nav {
--vp-nav-height: 0px;
}

.hide-nav .VPSidebar {
--vp-nav-height: 22px;
}

/* Custom Block */
:root {
--vp-custom-block-details-border: var(--ctp-mocha-surface0);
--vp-custom-block-details-text: var(--ctp-mocha-text);
--vp-custom-block-details-bg: var(--ctp-mocha-base);
--vp-custom-block-details-code-bg: var(--ctp-mocha-mantle);
}
7 changes: 7 additions & 0 deletions docs/.vitepress/theme/fonts.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,100..800;1,100..800&display=swap');

:root {
--vp-font-family-base: "Roboto";
--vp-font-family-mono: "JetBrains Mono"
}
7 changes: 7 additions & 0 deletions docs/.vitepress/theme/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import DefaultTheme from 'vitepress/theme-without-fonts'
import './colors.css'
import './fonts.css'
import './nav.css'
import './scrollbar.css'

export default DefaultTheme
19 changes: 19 additions & 0 deletions docs/.vitepress/theme/nav.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
@media (min-width: 640px) {
.VPNavBarMenu {
display: flex !important;
}
.VPNavBarSocialLinks {
display: flex !important;
align-items: center !important;
}
.VPNavBarAppearance {
display: flex !important;
align-items: center !important;
}
.VPNavBarExtra {
display: none !important;
}
.VPNavBarHamburger {
display: none !important;
}
}
21 changes: 21 additions & 0 deletions docs/.vitepress/theme/scrollbar.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
::-webkit-scrollbar {
width: 16px;
height: 16px;
}

::-webkit-scrollbar-track {
background-color: #1e1d2d;
}

::-webkit-scrollbar-thumb {
background-color: #45475a;
border-radius: 40px;
border: 6px solid transparent;
background-clip: padding-box;
transition: border-width 0.5s ease-in-out;
}

::-webkit-scrollbar-thumb:hover {
border: 4px solid transparent;
background-color: #f38ba8;
}
Empty file added docs/configuration/basics.md
Empty file.
Empty file added docs/configuration/index.md
Empty file.
Empty file.
Empty file.
132 changes: 132 additions & 0 deletions docs/get-started/installing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
# Installing
Currently, the only way to try Strata is by compiling it using the [Rust](https://rust-lang.org) compiler.

## Installing Rust
To build Strata, you need the Rust compiler and Cargo. These maybe available as specific packages in your distro's repository. For instructions to install these on some common distros, see the [distro-specific instructions](#distro-specific). If your distro is not listed, you can try [this](#using-the-rustup-script).

### Distro-specific

::: code-group

```bash [Arch Linux]
sudo pacman -S rust
```

```bash [Fedora]
sudo dnf install rust cargo
```

```bash [Debian (based)]
sudo apt install rustc cargo
```

```bash [openSUSE]
sudo zypper install rust cargo
```

```bash [Void Linux]
sudo xbps-install -S rust cargo
```

```bash [Gentoo]
sudo emerge dev-lang/rust sys-devel/cargo
```
:::

### Using the `rustup` script
If you are not on any of the above distros or that method didn't work for you, you can try using the official [Rustup](https://rustup.rs) script. This script will work on virtually any GNU/Linux distro. To use this script, its recommended that you use `curl`. You probably already have it installed. If not, you can easily install it using your distro's package manager. Then run this command:

```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

Now just follow the prompts. You should be okay with the defaults.

## Installing other dependencies
To compile and run Strata, you need some external dependencies. These are dependencies mostly used by the [Smithay](https://github.com/smithay/smithay) library. The required dependencies are:

* `udev`
* `wayland`
* `wayland-protocols`
* `libinput`
* `libxkbcommon`
* `libglvnd`
* `seatd`
* `dbus-glib `
* `mesa`
* `make` (for compiling and linking)

The package names vary across different distributions. The install instructions for Arch, Fedora and Debian have been given below:

::: code-group

```bash [Arch Linux]
sudo pacman -S udev wayland wayland-protocols libinput libxkbcommon libglvnd seatd dbus-glib mesa make
```

```bash [Fedora]
sudo dnf install systemd-devel libgbm-devel libxkbcommon-devel Mesa-libEGL-devel wayland-devel libinput-devel dbus-glib-devel libseat-devel
```

```bash [Debian/Ubuntu/Pop!_OS]
sudo apt-get install libudev-dev libgbm-dev libxkbcommon-dev libegl1-mesa-dev libwayland-dev libinput-dev libdbus-1-dev libsystemd-dev libseat-dev make
```
:::

## Installing Strata
Now, to install Strata, you first have to clone the Git repository. For this, using `git` is recommended. However, you can also just download the Zip archive and extract it.

::: details Why Git?
Since Strata is being constantly updated, you'll often have to download the latest repository and re-compile it. Using `git` makes this significantly easier than downloading and extracting the Zip archive each time.
:::

To clone the repo, run:

```bash
git clone https://github.com/stratawm/strata
```

Then to install Strata, `cd` into the cloned repo:

```bash
cd strata
```

and run this command to install it:

```bash
sudo make install
```

If this command finishes without any errors, then Strata has been installed successfully :tada:!

## Updating Strata
Strata is being constantly updated. New features are added and bugs are fixed. To update your local installation, follow these steps.

First `cd` into the directory where you initially clone the repo:

```bash
cd strata
```

Next, you need to configure Git to rebase the branch when pulling. To do this, run:

```bash
git config pull.rebase true
```

Now you can run:

```bash
git pull
```

This will fetch all the latest changes from the remote repo. Finally you can run

```bash
sudo make install
```

to recompile and install Strata with the latest changes.

If you face any issues while installing Strata, checkout out the next page which has solutions for many common issues.
Empty file.
1 change: 1 addition & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<meta http-equiv="refresh" content="0;url=/get-started/installing">
Loading