-## Download and install
+## Download and Install
Please follow the [**installation guide**](docs/INSTALL.md) to download and install fheroes2.
@@ -40,7 +40,11 @@ Initially, the project was developed on [**sourceforge**](https://sourceforge.ne
This repository is a place for everyone. If you want to contribute, please read more [**here**](https://github.com/ihhub/fheroes2/wiki/F.A.Q.#q-how-can-i-contribute-to-the-project).
-To build the project from source, please follow [**this guide**](docs/DEVELOPMENT.md).
+To build the project from source, please follow
+[**this guide**](docs/DEVELOPMENT.md).
+
+To build the website from source, please follow
+[**this guide**](docs/WEBSITE_LOCAL_DEV.md).
[](https://github.com/ihhub/fheroes2/actions)
[](https://sonarcloud.io/dashboard?id=ihhub_fheroes2)
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 000000000..9ada8715b
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,8 @@
+_site
+
+node_modules
+
+# Gemfile
+Gemfile
+Gemfile.lock
+Gemfile.dev.lock
diff --git a/docs/DEVELOPMENT.md b/docs/DEVELOPMENT.md
index 9d483447b..2b80d0e2e 100644
--- a/docs/DEVELOPMENT.md
+++ b/docs/DEVELOPMENT.md
@@ -1,6 +1,6 @@
-# [**fheroes2**](README.md) build and contribution guide
+# [fheroes2](README.md) build and contribution guide
-## Build
+## Building the fheroes2 Project
Please follow the instructions below to be able to build the project from source:
@@ -51,6 +51,12 @@ If you would like to run this project in a web browser please follow the instruc
If you would like to build the project using CMake please follow the instructions on [**this page**](README_cmake.md).
+## Building the front end website
+
+We host the website on Github pages, which is a highly customized version of the
+Jekyll static site engine. The instructions for developing the website can be
+found in the [**website local dev**](WEBSITE_LOCAL_DEV.md) guide.
+
## Contribution
We welcome and appreciate any help, even if it is a tiny text or code change. Please read our
diff --git a/docs/GRAPHICAL_ASSETS.md b/docs/GRAPHICAL_ASSETS.md
index dc33e8148..703c1102c 100644
--- a/docs/GRAPHICAL_ASSETS.md
+++ b/docs/GRAPHICAL_ASSETS.md
@@ -1,4 +1,4 @@
-# [**fheroes2**](README.md) graphical artist guide
+# [fheroes2](README.md) Graphical Artist Guide
The original game has its graphical assets stored in the `HEROES2.agg` file and potentially the `HEROES2X.agg` file if the expansion
pack The Price of Loyalty is present. These two AGG files are located in the `DATA` folder of the original Heroes 2 installation.
@@ -10,15 +10,15 @@ New assets that the fheroes2 project adds to the game are included in the `files
This guide is designed for Linux, MacOS and Windows users. The source files to these tools are available in the project's repository.
-## Where to get the tools
+## Where to Get the Tools
-You can download the precompiled tools for your operating system (OS) of choice here:
-[Windows 32-bit](https://github.com/ihhub/fheroes2/releases/download/fheroes2-windows-x86-SDL2/fheroes2_tools_windows_x86_SDL2.zip)
+You can download the precompiled tools for your operating system (OS) of choice here:
+[Windows 32-bit](https://github.com/ihhub/fheroes2/releases/download/fheroes2-windows-x86-SDL2/fheroes2_tools_windows_x86_SDL2.zip)
[Windows 64-bit](https://github.com/ihhub/fheroes2/releases/download/fheroes2-windows-x64-SDL2/fheroes2_tools_windows_x64_SDL2.zip)
[MacOS](https://github.com/ihhub/fheroes2/releases/download/fheroes2-osx-sdl2_dev/fheroes2_tools_macos_x86-64_SDL2.zip)
-[Linux Ubuntu 64-bit](https://github.com/ihhub/fheroes2/releases/download/fheroes2-linux-sdl2_dev/fheroes2_tools_ubuntu_x86-64_SDL2.zip)
+[Linux Ubuntu 64-bit](https://github.com/ihhub/fheroes2/releases/download/fheroes2-linux-sdl2_dev/fheroes2_tools_ubuntu_x86-64_SDL2.zip)
[Linux Ubuntu ARM 64-bit](https://github.com/ihhub/fheroes2/releases/download/fheroes2-linux-arm-sdl2_dev/fheroes2_tools_ubuntu_arm64_SDL2.zip)
Here is a list and short description of the various graphical artist tools:
@@ -42,7 +42,7 @@ the top-left corner on a tile. Use these colors only if the animation is a requi
* 231, 232, 233, 234, 235
* 238, 239, 240, 241
-## How to use the tools to extract the images
+## How to Use the Tools to Extract the Images
Place the `HEROES2.agg` and optionally the `HEROES2X.agg` files in the same folder as you extracted the tools to.
Then run the script called `extract_agg`. This will create two folders: `agg` and `icn`. Both of them have a subdirectory named `HEROES2`,
@@ -55,7 +55,7 @@ Meanwhile, the folder named `icn` contains the PNG-converted graphical assets. T
ICN they were stored in, e.g. the folder `apanel` came from the ICN `apanel.icn`. The `icn` folder is in other words the most relevant one for
graphical artists.
-## Where is help needed
+## Where is Help Needed
We have labelled and tracked some issues that need help from graphical artists.
Issues that require changes of the original art can be found [here](https://github.com/ihhub/fheroes2/issues?q=is%3Aopen+is%3Aissue+label%3A"original+assets").
@@ -64,7 +64,7 @@ New art tasks can be found [here](https://github.com/ihhub/fheroes2/issues?q=is%
NOTE! Before starting to work on an issue make sure to check if someone isn't already assigned to it by looking at the relevant place
within the issue. Also notify the fheroes2 team that you wish to work on the issue. This is to avoid duplicate work.
-## The work process
+## The Work Process
1. Choose the item you are going to work on and notify the fheroes2 team to avoid duplicate work.
2. Present a prototype / complete enough work in your opinion of your work.
diff --git a/docs/Gemfile.dev b/docs/Gemfile.dev
new file mode 100644
index 000000000..0c8671cde
--- /dev/null
+++ b/docs/Gemfile.dev
@@ -0,0 +1,3 @@
+source "https://rubygems.org"
+
+gem "github-pages", group: :jekyll_plugins
diff --git a/docs/INSTALL.md b/docs/INSTALL.md
index 2b45169ff..3e3208b53 100644
--- a/docs/INSTALL.md
+++ b/docs/INSTALL.md
@@ -1,4 +1,4 @@
-# [**fheroes2**](README.md) installation guide
+# [fheroes2](README.md) Installation Guide
## Requirements
@@ -33,58 +33,40 @@ Precompiled binaries of the release version are currently available for the foll
Alternatively, you can download the precompiled binaries of the latest commit (snapshot) [**here**](#snapshots-latest-builds).
-
-
## Windows
-
-
-### Windows installer
+### Windows Installer
* Download one of the following Windows installer packages:
-
* [**Windows x64 (64-bit)**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_windows_x64_SDL2_installer.exe)
-
* [**Windows x86 (32-bit)**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_windows_x86_SDL2_installer.exe)
-
* After downloading the installer, launch it and follow the instructions.
-
* During the installation process, you will be prompted to extract game resources from the original game (select this option if you
already have a legally purchased copy of the original game installed), or download the demo version of the original game and extract
game resources from it (you can also do this later by clicking the appropriate shortcut in the program's group in the Windows Start
menu).
-
* If you purchased a copy of the original game only after installing fheroes2, you can run the `Extract game resources from the original
distribution of HoMM2` shortcut in the program's group in the Windows Start menu. This script will try to perform an automatic search
for an existing installation of the original game and extract all the necessary resource files. If it can't find an existing installation,
you will be prompted to enter the location of the original game manually.
-
* As an alternative to the previous step, you can manually copy the subdirectories `ANIM`, `DATA`, `MAPS` and `MUSIC` (some of them may
be missing depending on the version of the original game) from the original game directory to the fheroes2 installation directory.
-
-
-### Windows ZIP archive
+### Windows ZIP Archive
* Download one of the following Windows ZIP archives:
-
* [**Windows x64 (64-bit)**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_windows_x64_SDL2.zip)
-
* [**Windows x86 (32-bit)**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_windows_x86_SDL2.zip)
-
* After downloading the ZIP archive, extract it to a suitable directory of your choice.
-
* If you have a legally purchased copy of the original game, run the `extract_homm2_resources.bat` script supplied in the ZIP archive.
This script will try to perform an automatic search for an existing installation of the original game and extract all the necessary
resource files. If it can't find an existing installation, you will be prompted to enter the location of the original game manually.
-
* As an alternative to the previous step, you can manually copy the subdirectories `ANIM`, `DATA`, `MAPS` and `MUSIC` (some of them may
be missing depending on the version of the original game) from the original game directory to the fheroes2 installation directory.
-
* If you don't have a legally purchased copy of the original game, you can download and install the demo version of the original game
by running the `download_demo_version.bat` script supplied in the ZIP archive.
-#### Troubleshooting missing Microsoft Visual C++ DLLs
+#### Troubleshooting Missing Microsoft Visual C++ DLLs
If you see complaints about missing DLLs when running fheroes2, then you may need to install the Microsoft Visual C++ redistributable package.
@@ -95,12 +77,8 @@ You can download it using the following URLs:
| For 64-bit x64 fheroes2 builds | [**https://aka.ms/vs/17/release/vc_redist.x64.exe**](https://aka.ms/vs/17/release/vc_redist.x64.exe) |
| for 32-bit x86 fheroes2 builds | [**https://aka.ms/vs/17/release/vc_redist.x86.exe**](https://aka.ms/vs/17/release/vc_redist.x86.exe) |
-
-
## macOS
-
-
### Homebrew on macOS
If you are using [**Homebrew**](https://brew.sh/), you can install the game by running the following command:
@@ -111,8 +89,6 @@ brew install fheroes2
Follow the [**instructions below**](#gathering-game-resources) to gather resources necessary for fheroes2 to function as expected.
-
-
### MacPorts
If you are using [**MacPorts**](https://www.macports.org/), you can install the game by running the following command:
@@ -125,23 +101,18 @@ Then follow the instructions on the screen.
Follow the [**instructions below**](#gathering-game-resources) to gather resources necessary for fheroes2 to function as expected.
-
-
-### macOS ZIP archive
+### macOS ZIP Archive
* Download the [**macOS ZIP archive**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_macos_x86-64_SDL2.zip).
Currently only x86-64 binaries are provided. If you use a machine with an Apple Silicon chip, you should choose another installation
method (using [**MacPorts**](#macports) or [**Homebrew**](#homebrew-on-macos)), or
[**build the project from source**](DEVELOPMENT.md#macos-and-linux).
-
* After downloading the ZIP archive, extract it to a suitable directory of your choice and then run `brew bundle` from
the `script/macos` subdirectory. This will install the SDL libraries required to run the game.
Follow the [**instructions below**](#gathering-game-resources) to gather resources necessary for fheroes2 to function as expected.
-
-
-### macOS native app
+### macOS Native App
* Install the required dependencies using the provided Brewfile:
@@ -157,16 +128,13 @@ make FHEROES2_MACOS_APP_BUNDLE=ON
Follow the [**instructions below**](#gathering-game-resources) to gather resources necessary for fheroes2 to function as expected.
-
-
-### Gathering game resources
+### Gathering Game Resources
Once you obtain the fheroes2 executable using any of the options above, you should follow these steps to load in the correct resources:
* If you have a legally purchased copy of the original game in a self-extracting Windows executable (such as from GOG), you can utilize
[`innoextract`](https://constexpr.org/innoextract/#use) to extract files out of the exe without having to use Wine/Windows emulation
software on your *UNIX-based machine.
-
* If you have a legally purchased copy of the original game, run the extract resources script which will prompt you to enter
the location of the original game, and will extract all the necessary resource files. The script can be run from the following paths depending on
how you installed fheroes2:
@@ -193,12 +161,8 @@ Once you obtain the fheroes2 executable using any of the options above, you shou
| If you built from source using the [**macOS native app**](#macos-native-app) method | `script/demo/download_demo_version_for_app_bundle.sh` |
| All other cases | `script/demo/download_demo_version.sh` |
-
-
## Linux
-
-
### Flatpak
If you are using [**Flatpak**](https://flatpak.org) and [**Flathub**](https://flathub.org), you can install the game by running the
@@ -227,13 +191,11 @@ The recommended option requires the Heroes of Might and Magic II installer file
For the manual installation you have to copy the subdirectories `ANIM`, `DATA`, `MAPS` and `MUSIC` from the original game or demo directory to the
`~/.var/app/io.github.ihhub.Fheroes2/data/fheroes2` directory. The destination folder will be opened when this option is selected.
-
-
-### Gentoo package
+### Gentoo Package
If you are using [**Gentoo**](https://gentoo.org), you can install the game using package manager. There are several options:
-#### GOG version
+#### GOG Version
If you purchased the game from GOG, add `games-strategy/homm2-gold-gog GOG-EULA` line to your `/etc/portage/package.license`, then use the following command:
@@ -246,7 +208,7 @@ and if it's there, it will unpack everything to the correct places and pull `gam
USE-flag `flac` determines whether the game will use FLAC music or OGG music.
-#### Demo version
+#### Demo Version
You can install the demo version for free by adding `games-strategy/homm2-demo HoMM2-Demo` line to your `/etc/portage/package.license`, then using the following command:
@@ -254,7 +216,7 @@ You can install the demo version for free by adding `games-strategy/homm2-demo H
sudo emerge -av games-strategy/homm2-demo
```
-#### Another legal installation
+#### Another Legal Installation
If you installed the game from original CD, use the following commands:
@@ -265,8 +227,6 @@ sudo emerge -av games-engines/fheroes2
The second command (Note: run it without root) will ask you where your data files are.
-
-
### Homebrew on Linux
If you are using [**Homebrew**](https://brew.sh/), you can install the game by running the following command:
@@ -280,14 +240,12 @@ be missing depending on the version of the original game) from the original game
`~/.local/share/fheroes2`) directory. Otherwise, you can download and install the demo version of the original game by running the
`/usr/share/fheroes2/download_demo_version.sh` script.
-
-
-### AUR package
+### AUR Package
If you are using Arch Linux or compatible distribution, you can install [**fheroes2 package**](https://aur.archlinux.org/packages/fheroes2)
from AUR (Arch User Repository).
-#### Install using AUR helper
+#### Install Using AUR Helper
If you use one of AUR helpers, e.g. `yay`, you can install the game by running the following command:
@@ -295,7 +253,7 @@ If you use one of AUR helpers, e.g. `yay`, you can install the game by running t
yay -S aur/fheroes2
```
-#### Install using the official guide
+#### Install Using the Official Guide
Follow the [**official guide**](https://wiki.archlinux.org/title/Arch_User_Repository#Installing_and_upgrading_packages).
One of possible command sets:
@@ -306,8 +264,6 @@ cd fheroes2
makepkg -si
```
-
-
### Debian and Ubuntu
fheroes2 is available from `contrib` repositories for Debian (since 13) and Ubuntu (since 24.04). You can install it by running:
@@ -318,7 +274,7 @@ apt install fheroes2
These distributions may not provide the latest version of the game due to their release cycle.
-#### Game resources
+#### Game Resources
To play the game you need the original game resources. You can install them to per-user paths (`man fheroes2` for more info, or you
can install them to the system-wide path (`/usr/share/games/fheroes2`) with `game-data-packager` program (since v70).
@@ -331,87 +287,61 @@ apt install ./homm2-data__all.deb
You can get more info about resource packaging by running `game-data-packager heroes2 --help`
-
-
-### Linux ZIP archive
+### Linux ZIP Archive
* Download one of the following Linux ZIP archives:
-
* [**Linux x86-64**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_ubuntu_x86-64_SDL2.zip)
-
* [**Linux ARM64**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_ubuntu_arm64_SDL2.zip)
-
* After downloading the ZIP archive, extract it to a suitable directory of your choice. Then you will need to install the SDL libraries
required to run the game. The installation procedure depends on the Linux distribution you are using:
-
* **Debian-based**: run the script `install_sdl2.sh` from the `script/linux` subdirectory.
-
* **Pacman-based (e.g. Arch Linux)**: run the following command: `sudo pacman -S sdl2 sdl2_mixer`.
-
* **RedHat-based**: for RPM-based distributions (such as Fedora or RedHat) use the commands `sudo yum install SDL*` or `sudo dnf install SDL*`.
-
* **openSUSE**: openSUSE supports the One-Click-Install using the `SDL_mixer.ymp` file from the `script/linux` subdirectory.
-
* **Gentoo**: run the following command: `emerge --ask media-libs/sdl2-mixer`.
-
* After all dependencies are installed, run the `extract_homm2_resources.sh` script supplied in the ZIP archive if you have a legally purchased
copy of the original game. You will be prompted to enter the location of the original game, and the script will extract all the necessary
resource files.
-
* As an alternative to the previous step, you can manually copy the subdirectories `ANIM`, `DATA`, `MAPS` and `MUSIC` (some of them may
be missing depending on the version of the original game) from the original game directory to the fheroes2 installation directory.
-
* If you don't have a legally purchased copy of the original game, you can download and install the demo version of the original game
by running the `download_demo_version.sh` script supplied in the ZIP archive.
-
-
## Android
* Install the fheroes2 app from [**Google Play**](https://play.google.com/store/apps/details?id=org.fheroes2) or download the
[**Android ZIP archive**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_android.zip).
-
* Follow the [**instructions**](README_android.md).
-
-
## PlayStation Vita
**Please note**: you need to be running custom firmware for it to work.
* Download the [**PlayStation Vita ZIP archive**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_psv.zip).
-
* Follow the [**instructions**](README_PSV.md).
-
-
## Nintendo Switch
**Please note**: you need to be running custom firmware for it to work.
* Download the [**Nintendo Switch ZIP archive**](https://github.com/ihhub/fheroes2/releases/latest/download/fheroes2_switch.zip).
-
* Follow the [**instructions**](README_switch.md).
-
+## Snapshots (Latest Builds)
-## Snapshots (latest builds)
+You can download the precompiled binaries of the latest commit (snapshot)
+
+| Platform Version | Release |
+|------------------|-----------------------------------------------------------------------------------------------------------|
+| Windows x64 SDL2 | [fheroes2-windows-x64-SDL2](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-windows-x64-SDL2) |
+| Windows x86 SDL2 | [fheroes2-windows-x86-SDL2](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-windows-x86-SDL2) |
+| macOS x86-64 | [fheroes2-osx-sdl2_dev](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-osx-sdl2_dev) |
+| Ubuntu x86-64 | [fheroes2-linux-sdl2_dev](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-linux-sdl2_dev) |
+| Ubuntu ARM | [fheroes2-linux-arm-sdl2_dev](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-linux-arm-sdl2_dev) |
+| Android | [fheroes2-android](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-android) |
+| PlayStation Vita | [fheroes2-psv-sdl2_dev](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-psv-sdl2_dev) |
+| Nintendo Switch | [fheroes2-switch-sdl2_dev](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-switch-sdl2_dev) |
-You can download the precompiled binaries of the latest commit (snapshot) for
-**Windows** (
-[**x64 SDL2**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-windows-x64-SDL2) and
-[**x86 SDL2**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-windows-x86-SDL2)
-),
-**macOS x86-64** (
-[**SDL2**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-osx-sdl2_dev)
-),
-**Ubuntu** (
-[**x86-64 SDL2**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-linux-sdl2_dev) and
-[**ARM64 SDL2**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-linux-arm-sdl2_dev)
-),
-[**Android**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-android),
-[**PlayStation Vita**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-psv-sdl2_dev) and
-[**Nintendo Switch**](https://github.com/ihhub/fheroes2/releases/tag/fheroes2-switch-sdl2_dev).
**These binaries incorporate all the latest changes, but also all the latest bugs, and are mainly intended for developers.**
**DON'T EXPECT THEM TO WORK PROPERLY.**
diff --git a/docs/PRIVACY_POLICY.md b/docs/PRIVACY_POLICY.md
index 6c10e6066..6d8df3c3a 100644
--- a/docs/PRIVACY_POLICY.md
+++ b/docs/PRIVACY_POLICY.md
@@ -1,4 +1,4 @@
-# [**fheroes2**](README.md) privacy policy
+# [fheroes2](README.md) Privacy Policy
**fheroes2** is provided at no cost and is intended for use as is.
This document is used to inform regarding our policies with the collection,
@@ -12,7 +12,7 @@ information in any of its official GitHub and Google Play Store releases.
The project does not contain any library or programming module from
third-party suppliers which collects sensitive personal information from its users.
-## Contact information
+## Contact Information
If you have any questions or concerns about any of the matters in relation to
this Privacy Policy then there are several ways of contacting us:
diff --git a/docs/README.md b/docs/README.md
index 9168bd27f..83567f84f 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -8,16 +8,19 @@ and user interface improvements), breathing new life into one of the most addict
You can find a complete list of all of our changes and enhancements in [**its own wiki page**](https://github.com/ihhub/fheroes2/wiki/Features-and-enhancements-of-the-project).
-
-
-
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-## Download and install
+## Download and Install
Please follow the [**installation guide**](INSTALL.md) to download and install fheroes2.
@@ -69,6 +72,6 @@ We also have a [**Discord**](https://discord.gg/xF85vbZ) server to discuss the d
[](https://vk.com/fheroes2)
[](https://discord.gg/xF85vbZ)
-## FAQ
+## Frequently Asked Questions (FAQ)
You can find answers to the most commonly asked questions on our [**F.A.Q. page**](https://github.com/ihhub/fheroes2/wiki/F.A.Q.).
diff --git a/docs/README_PSV.md b/docs/README_PSV.md
index 0e0d1eea9..3e8c12ef0 100644
--- a/docs/README_PSV.md
+++ b/docs/README_PSV.md
@@ -1,4 +1,4 @@
-# PlayStation Vita port of [**fheroes2**](README.md) project
+# PlayStation Vita Port of [fheroes2](README.md) Project
## Install
@@ -54,7 +54,7 @@ Text input is done with D-Pad.
* Up - Previous character
* R1, L1 - Switch current character between uppercase/lowercase
-## Vita specific options
+## Vita Specific Options
Pointer movement speed can be changed with 'gamepad_pointer_speed' parameter in "ux0:data/fheroes2/fheroes2.cfg".
diff --git a/docs/README_android.md b/docs/README_android.md
index 670a98d03..c0e6a8aa9 100644
--- a/docs/README_android.md
+++ b/docs/README_android.md
@@ -1,4 +1,4 @@
-# Android port of [**fheroes2**](README.md) project
+# Android Port of [fheroes2](README.md) Project
## Installation
@@ -40,7 +40,7 @@ To make it easier to select the angle of attack on touchscreens, you can "draw"
intend to attack from, to the cell occupied by the enemy unit. Next, you should remove your finger from the screen, double-check
your planned attack, and then confirm the action by touching the target cell with your finger again.
-## Android specific notes
+## Android Specific Notes
Fullscreen is enabled by default. To have the info bar with the clock visible you can disable fullscreen mode within the
main menu settings under "Graphics".
diff --git a/docs/README_cmake.md b/docs/README_cmake.md
index 9a1774862..a8acab189 100644
--- a/docs/README_cmake.md
+++ b/docs/README_cmake.md
@@ -60,7 +60,7 @@ cmake --build build --config Release
After building, executable can be found in `build\Release` directory.
-## Using Demo data
+## Using Demo Data
CMake project allows to download and install original HoMM II Demo files which used by fheroes2 project.
To do this please add `-DGET_HOMM2_DEMO=ON` to configuration options. For example:
diff --git a/docs/README_emscripten.md b/docs/README_emscripten.md
index 6599def66..589de81b8 100644
--- a/docs/README_emscripten.md
+++ b/docs/README_emscripten.md
@@ -1,6 +1,6 @@
-# Emscripten (Wasm) port of [**fheroes2**](README.md) project
+# Emscripten (Wasm) Port of [fheroes2](README.md) Project
-## Current status of this port
+## Current Status of this Port
Please note that this port is currently still **experimental**. You may experience various problems, crashes, or it not even working at all in particular browsers.
@@ -27,7 +27,7 @@ If you do not want to use Docker, then you will need to install all the prerequi
emmake make -f Makefile.emscripten
```
-### Building with additional parameters
+### Building with Additional Parameters
If you want to specify some additional ad hoc build parameters, you can use the appropriate environment variables for this. For example, the following command:
@@ -37,9 +37,9 @@ FHEROES2_WITH_THREADS=ON LDFLAGS="-sMODULARIZE -sEXPORTED_RUNTIME_METHODS=run -s
will build a WebAssembly binary with multithreading support, as well as with additional parameters for creating a module.
-## Running the Wasm port on a web server
+## Running the Wasm Port on a Web Server
-### Configuring the web server
+### Configuring the Web Server
Emscripten uses web workers along with `SharedArrayBuffer` to support multithreading. `SharedArrayBuffer` usage is usually protected by Cross Origin Opener Policy (COOP)
and Cross Origin Embedder Policy (COEP) HTTP headers, and the web server should send these headers as part of its response to a request for resources related to the Wasm
@@ -54,7 +54,7 @@ Please see the following link for details:
-### Copying necessary files
+### Copying Necessary Files
After the build is completed, copy the following files to the appropriate directory on your website:
diff --git a/docs/README_switch.md b/docs/README_switch.md
index f1500d674..317984e13 100644
--- a/docs/README_switch.md
+++ b/docs/README_switch.md
@@ -1,8 +1,8 @@
-# Nintendo Switch port of [**fheroes2**](README.md) project
+# Nintendo Switch Port of [fheroes2](README.md) Project
It's a homebrew app, so you need to be running custom firmware for it to work.
-## BUILDING
+## Building
You will need to install the [devkitPro](https://devkitpro.org/) toolchain. Make sure to include the following package:
@@ -12,7 +12,7 @@ libnx switch-sdl2_mixer
After installation run `make -f Makefile.switch -j 2` command to build the package.
-## SETUP
+## Setup
You will need a copy of the official game to run this port.
@@ -41,7 +41,7 @@ Generally, you will need game resources from the localized version of HoMM2 in o
the first run, the game should auto-detect the game data you have and offer to choose a language you'd like to use. English
is always available.
-## RUNNING
+## Running
This build of fheroes2 was tested on 12.0.3|AMS M.19.4|S (FAT32). exFAT is not recommended.
USB mice and keyboards connected via an OTG adapter are supported.
diff --git a/docs/TRANSLATION.md b/docs/TRANSLATION.md
index 7211ad215..e6fb8447d 100644
--- a/docs/TRANSLATION.md
+++ b/docs/TRANSLATION.md
@@ -1,9 +1,9 @@
-# [**fheroes2**](README.md) translation guide
+# [fheroes2](README.md) Translation Guide
This project uses portable object (PO) files to handle localization in various languages. The PO files are located in the `files/lang`
subdirectory of the project source tree. The current instruction is designed for Linux, MacOS and Windows users.
-## Current status
+## Current Status


@@ -27,7 +27,7 @@ subdirectory of the project source tree. The current instruction is designed for


-## Adding new translations/localizations
+## Adding New Translations/Localizations
If you want to add a new localization, you will first need to add it to the `SupportedLanguage` list/enumeration in the source code.
Afterwards, a new PO file for it will need to be added. It will have to be named according to the ISO standard's two-character
@@ -35,30 +35,30 @@ language abbreviations. Then to have font support, you will have to specify what
the language to the font generation code found in `src/fheroes2/gui/ui_font.cpp`. If a compatible font encoding has not currently
been implemented, then code for that will need to be written.
-## Editing translations - Before you start
+## Editing Translations - Before You Start
Before starting, you will have to set up the necessary environment: fork the fheroes2 repository and install an application used
for translating. When you have your own fork of fheroes2 you should create a branch. At this point you can start translating.
After you finish your work, and you are ready to share it, you will have to prepare a pull request.
-### Forking the fheroes2 repository
+### Forking the fheroes2 Repository
A fork is your copy of the fheroes2 repository. It gives you a safe environment to prepare and test your changes.
You can read here how to [**create a fork**](https://docs.github.com/en/get-started/quickstart/fork-a-repo).
-### Translation editing software
+### Translation Editing Software
We encourage you to use [**poedit**](https://poedit.net/) or [**gtranslator**](https://wiki.gnome.org/Apps/Gtranslator) to
edit translations. Currently all implemented languages adhere to a standardized font encoding/charset.
-## Editing translations - For the first time or again
+## Editing Translations - For the First Time or Again
-### Syncing your fork
+### Syncing Your Fork
Before you start working on the first or next translation, make sure that your fork has all the recent changes from the fheroes2 repo.
To do this, [**sync your fork**](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/syncing-a-fork).
-### Creating a branch
+### Creating a Branch
Next you will set up an environment for working on your translation, in addition to testing and sharing your changes.
Read more [**about branches**](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-branches).
@@ -66,7 +66,7 @@ Read more [**about branches**](https://docs.github.com/en/pull-requests/collabor
To create a branch, please follow GitHub's instructions on
[**creating a branch within your repo**](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository).
-### Submitting translations
+### Submitting Translations
Finally you will use your translation software of choice to make changes to the translation. All original translatable strings are
located in the source code of the project. If you need to clarify where this string is being used you can search for it.
@@ -76,7 +76,7 @@ The string below, for example, can be translated in PO files:
_( "Are you sure you want to quit?" )
```
-### Testing your changes
+### Testing Your Changes
Once the translation files have been modified, for Linux/MacOS run the `make` command below in the `files/lang` subdirectory to create
machine object (MO) binary files which can be used by the fheroes2 engine.
@@ -105,7 +105,7 @@ set to.
For example, for German you will have to set font encoding to CP1252, while for Russian this would be CP1251. Later when submitting
a pull request with your changes, you will have to save the PO file in UTF-8 encoding because this is what Github supports.
-### Sharing your translation work
+### Sharing Your Translation Work
When you are satisfied with your work, you can proceed with sharing it. The first step is to commit your work into the branch you made of
your own fheroes2 fork. Then, create a pull request that proposes to introduce your changes into the fheroes2 repository.
@@ -136,7 +136,7 @@ example creature names or castle buildings.
-## Updating PO templates and translatable strings in PO files
+## Updating PO Templates and Translatable Strings in PO Files
Currently all PO files are automatically updated with new strings after each commit that brings changes to the ingame text. If for whatever reason
you still need to update strings locally, this can be achieved by running the command below in `src/dist/fheroes2` to generate a new portable object
diff --git a/docs/WEBSITE_LOCAL_DEV.md b/docs/WEBSITE_LOCAL_DEV.md
new file mode 100644
index 000000000..2f989d34d
--- /dev/null
+++ b/docs/WEBSITE_LOCAL_DEV.md
@@ -0,0 +1,175 @@
+# Website Local Documentation Development Guide
+
+This guide explains how to set up and run the documentation site locally for
+development purposes.
+
+## Prerequisites
+
+* Ruby (version 2.7.0 or higher)
+
+* Bundler
+* Git
+* Node/npm
+* A GitHub account with a fork of the fheroes2 repository
+
+### macOS Users
+
+If you're on macOS, you can install the required development tools using the
+provided Brewfile:
+
+```bash
+# Install the development tools using brew bundle
+brew bundle --file=script/macos/Brewfile.dev_tools
+```
+
+This will install the necessary tools to assist with formatting and for linting
+source files.
+
+## Setting Up Local Development Environment
+
+1. Clone your fork of the repository:
+
+ ```bash
+ git clone https://github.com//fheroes2.git
+ cd fheroes2/docs
+ ```
+
+2. Copy the development Gemfile to enable local development:
+
+ ```bash
+ cp Gemfile.dev Gemfile
+ ```
+
+ > **Note**
+ > While the gem in this file may eventually be deprecated, it's currently the
+ > simplest way to enable local development of the GitHub Pages site. As such,
+ > the Gemfile should not be committed into the repo.
+
+3. Install the required Ruby dependencies:
+
+ ```bash
+ bundle install
+ ```
+
+4. Install the npm dev packages:
+
+ ```bash
+ npm install
+ ```
+
+5. Build the site locally: (Optional)
+
+ ```bash
+ bundle exec jekyll build
+ ```
+
+6. To preview the site locally with live reload:
+
+ ```bash
+ bundle exec jekyll serve
+ ```
+
+ This will start a local server, typically at `http://localhost:4000`
+
+## Making Changes
+
+1. Create a new branch for your documentation changes:
+
+ ```bash
+ git checkout -b docs/your-feature-name
+ ```
+
+2. Make your changes to the documentation files in the `docs` directory.
+
+3. Test your changes locally using the serve command mentioned above.
+
+4. Verify your markdown file changes using the project's linting tools:
+
+ > **Note**
+ > We use formatting/linting tools to ensure consistent formatting and quality
+ > across all markdown files.
+
+ ```bash
+ cd docs
+ # Run the linter on all Markdown files in the docs directory
+ npm run lint-md "*.md"
+ # Or have the linter attempt to format automatically
+ npm run format-md "*.md"
+ ```
+
+ This will check your Markdown files against our style rules and highlight any
+ issues that need to be fixed.
+
+5. Format HTML, CSS, and JavaScript files using the provided npm scripts:
+
+ ```bash
+ # Format HTML and CSS files
+ npm run format-html-css
+
+ # Format JavaScript files
+ npm run format-js
+ ```
+
+6. Commit your changes:
+
+ ```bash
+ git add .
+ git commit -m "docs: your descriptive commit message"
+ ```
+
+7. Push your branch to your fork:
+
+ ```bash
+ git push origin docs/your-feature-name
+ ```
+
+## Verifying Site Changes in Fork
+
+For the most accurate verification of your documentation changes, follow these
+steps:
+
+1. Push your branch to your fork:
+
+ ```bash
+ git push origin docs/your-feature-name
+ ```
+
+2. Set up GitHub Pages in your fork by following the
+[official GitHub Pages documentation](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#publishing-from-a-branch).
+Make sure to:
+
+ * Configure the source to deploy from your feature branch
+ * Set the folder to `/docs`
+
+3. Wait for GitHub Pages to build and deploy your site. This may take a few
+minutes. You can monitor the progress in the "Actions" tab of your repository.
+
+4. Once deployed, you can preview your changes at `https://.github.io/fheroes2/`
+
+5. Review your changes in the preview environment to ensure:
+
+ * All links work correctly
+ * Images are displayed properly
+ * The layout is consistent with the main site
+ * No broken references or missing assets
+
+6. After verifying everything looks correct in your fork's GitHub Pages, create
+a Pull Request (PR) from your fork's branch to the main fheroes2 repository for
+final review and deployment.
+
+## Common Issues and Solutions
+
+* If you encounter Ruby version conflicts, make sure you're using a compatible
+version. You can use tools like `rbenv` or `rvm` to manage Ruby versions.
+* If the site doesn't build, check the Jekyll build logs for specific error
+messages.
+* If images aren't displaying, ensure they're placed in the correct directory
+(`docs/images/`) and referenced correctly in your markdown files.
+
+## Additional Resources
+
+* [Jekyll Documentation](https://jekyllrb.com/docs/)
+* [GitHub Pages Documentation](https://docs.github.com/en/pages)
+* [GitHub Pages Quickstart Guide](https://docs.github.com/en/pages/quickstart#introduction)
+* [Deploying from a branch in GitHub Pages](https://docs.github.com/en/pages/getting-started-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site#choosing-a-publishing-source)
+* [Markdown Guide](https://www.markdownguide.org/)
diff --git a/docs/_config.yml b/docs/_config.yml
index e8b995b95..ade470e80 100644
--- a/docs/_config.yml
+++ b/docs/_config.yml
@@ -1 +1,6 @@
-theme: jekyll-theme-merlot
+description: A recreation of the Heroes of Might and Magic II game engine.
+
+favicon: /_includes/favicon.ico
+
+sass:
+ style: compressed
diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html
new file mode 100644
index 000000000..f271106ac
--- /dev/null
+++ b/docs/_layouts/default.html
@@ -0,0 +1,84 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {% seo %}
+
+
+
+
+