This is the source code for the ark-protocol.org, a community-driven resource covering all things related to the Ark protocol.
Ark is a layer 2 protocol for making off-chain bitcoin transactions, offering a payments system where users can make bitcoin transactions at very low cost without requiring extensive setup like opening channels.
This site aims to be a neutral source of information about the Ark protocol, its various implementations, and how it compares to other bitcoin layer 2 solutions. While the primary maintainer is from Second, we welcome contributions from the entire bitcoin community!
The website is built using Hugo static site generator with the Relearn theme.
You need to install Hugo, which is the static site generator that powers this website.
On Linux:
- Ubuntu/Debian:
sudo apt install hugo - CentOS/RHEL:
sudo yum install hugo(orsudo dnf install hugoon newer versions) - Fedora:
sudo dnf install hugo - Arch:
sudo pacman -S hugo - Or using Snap:
sudo snap install hugo
On macOS:
- Using Homebrew (recommended):
brew install hugo - If you don't have Homebrew, install it first:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Verify Hugo is installed: hugo version
After cloning the repository, you need to initialize the Hugo theme submodule:
cd /path/to/ark-protocol.org
git submodule init
git submodule updateIf you encounter theme compatibility errors, ensure you're using a recent version of the theme:
cd themes/hugo-theme-relearn
git checkout 8.0.1 # or latest stable versionTip
When initially cloning the repository, you can use the --recursive flag to automatically set up submodules:
git clone --recursive https://github.com/ark-protocol/ark-protocol.org.gitcd /path/to/ark-protocol.org
hugo serverThe website will be available at http://localhost:1313. Hugo will automatically rebuild and reload the browser when you make changes to any files.
- Content files are in the
content/folder - Each
.mdfile corresponds to a page on the website - Hugo automatically rebuilds and refreshes the browser when you save changes
Make sure you're on your feature branch:
git branch # Check current branch
git checkout your-feature-branch-name # Switch if neededMake your changes, preview at http://localhost:1313, then commit and push when ready.
Press Ctrl+C (or Cmd+C on Mac) in the terminal to stop the Hugo server.
Common issues:
- "hugo: command not found" - Hugo isn't installed or isn't in your PATH
- "Port 1313 already in use" - Run
hugo server --port 3000instead - "Theme not found" or "Page Not Found" - The Hugo theme submodule likely isn't initialized:
git submodule init git submodule update
- Template errors or deprecated warnings - Update the theme to a compatible version:
cd themes/hugo-theme-relearn git fetch git checkout 8.0.1 # or latest stable version
- Changes not appearing - Check you saved the file and look for terminal errors
Linux-specific issues:
- Package manager Hugo version too old - Some distributions have outdated Hugo packages. Download directly from Hugo releases if needed
- Permission denied on
/usr/local/bin- Usesudowhen moving the Hugo binary:sudo mv hugo /usr/local/bin/
Mac-specific issues:
- Homebrew permission errors - Try
sudo chown -R $(whoami) $(brew --prefix)/* - macOS blocking Hugo binary - Allow in System Preferences → Security & Privacy
- Missing Xcode tools - Run
xcode-select --installbefore installing Homebrew - Apple Silicon compatibility - Homebrew handles this automatically; manual downloads need universal binaries
- PATH issues - Add
/usr/local/binto your PATH in~/.zshrc
- Stop the Hugo server (
Ctrl+CorCmd+C) - Commit your changes:
git add . && git commit -m "Your commit message" - Push to your feature branch:
git push origin your-feature-branch-name - Create a pull request on GitHub
content/- Markdown files for website pageshugo.toml- Hugo configurationlayouts/- Custom HTML templatesstatic/- Static assets (images, diagrams)themes/hugo-theme-relearn/- Hugo theme
This work is dedicated to the public domain under CC0.