No description
  • JavaScript 37.3%
  • SCSS 37%
  • HTML 25.7%
Find a file
2026-07-22 23:02:52 -05:00
archetypes migrate css and layout 2025-01-15 19:55:06 -08:00
content wallets: add Bull Wallet to the wallets list 2026-07-22 23:02:52 -05:00
scripts feat: hugoooo 2026-07-16 15:43:35 -04:00
static migrate css and layout 2025-01-15 19:55:06 -08:00
themes/bitcoinonly feat: hugoooo 2026-07-16 15:43:35 -04:00
.editorconfig migrate css and layout 2025-01-15 19:55:06 -08:00
.gitignore feat: hugoooo 2026-07-16 15:43:35 -04:00
.hugo_build.lock migrate css and layout 2025-01-15 19:55:06 -08:00
hugo.toml feat: hugoooo 2026-07-16 15:43:35 -04:00
LICENSE license: add MIT license to the project 2026-07-21 15:22:30 -05:00
README.md readme: translate from Spanish to English; update site and repository links; add upstream repository 2026-07-21 15:20:15 -05:00

Bitcoin Only (Hugo)

Static site for btc.rottenwheel.com: a directory of Bitcoin only resources (wallets, meetups, books, tools, etc.).

This repository is the Hugo version of the site (previously Nuxt/Vue). Hugo generates static HTML: no Node needed in production. Upstream repository.


What's included

Part Description
Content Markdown pages under content/ (one per menu section)
Theme themes/bitcoinonly/ — layouts, CSS (SCSS) and shortcodes
Assets Logo, icons, images in static/
Config hugo.toml — title, baseURL, sidebar menu

Running hugo builds the compiled site into public/ (HTML + CSS + static files ready to serve).


Requirements

Check the version:

hugo version
# Should say "extended", e.g.: hugo v0.147.x+extended

Repo structure

bitcoin-only-hugo/
├── content/                 # Pages (Markdown)
│   ├── _index.md            # Home
│   ├── wallets.md
│   ├── meetups.md
│   └── ...
├── themes/bitcoinonly/
│   ├── assets/css/          # Site SCSS (layout, home, nav, pages)
│   └── layouts/
│       ├── _default/        # baseof, home, single
│       ├── partials/        # head, side-nav, mobile nav, etc.
│       └── shortcodes/      # table, getting-started
├── static/                  # Public files as-is (logo, icons/, images)
├── hugo.toml                # Site configuration + menu
├── archetypes/              # Template for `hugo new`
└── scripts/                 # Helper scripts (migration); not needed for deployment

How content is organized

  • Each file in content/*.md is a route: content/books.md/books/
  • YAML front matter: title, description
  • Resource tables: table shortcode (columns with |)
  • "Getting Started" boxes: getting-started shortcode
  • The sidebar menu is defined in hugo.toml (params.navigationLinks)

Theme (layouts)

  • baseof.html — shell (sidebar + content)
  • home.html — category grid on the home page
  • single.html — the rest of the pages
  • Shortcodes in layouts/shortcodes/ generate table markup compatible with the CSS

Local development

git clone https://github.com/rottenwheel/bitcoin-only-hugo.git
cd bitcoin-only-hugo

# Server with hot reload (default http://localhost:1313)
hugo server

Production build (output in public/):

hugo --minify

Before deploying, set your real domain in hugo.toml:

baseURL = 'https://yourdomain.com/'

Deploying on a VPS

The result is static files only. Any web server (Nginx, Caddy, Apache) can serve public/.

1. On the VPS: install Hugo extended + Nginx

Example on Debian/Ubuntu:

sudo apt update
sudo apt install -y nginx git

# Hugo extended (adjust the version if you like)
HUGO_VERSION=0.147.8
curl -sL "https://github.com/gohugoio/hugo/releases/download/v${HUGO_VERSION}/hugo_extended_${HUGO_VERSION}_linux-amd64.tar.gz" \
  | sudo tar -xz -C /usr/local/bin hugo
hugo version

2. Clone and build

sudo mkdir -p /var/www/bitcoin-only
sudo chown "$USER":"$USER" /var/www/bitcoin-only
cd /var/www/bitcoin-only

git clone https://github.com/rottenwheel/bitcoin-only-hugo.git .
# Edit baseURL in hugo.toml if needed
hugo --minify

The files to serve are in /var/www/bitcoin-only/public.

3. Configure Nginx

/etc/nginx/sites-available/bitcoin-only:

server {
    listen 80;
    server_name yourdomain.com www.yourdomain.com;

    root /var/www/bitcoin-only/public;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    # Reasonable caching for assets
    location ~* \.(css|js|png|jpg|jpeg|gif|svg|ico|woff2?)$ {
        expires 7d;
        add_header Cache-Control "public";
    }
}

Enable and reload:

sudo ln -s /etc/nginx/sites-available/bitcoin-only /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

With Certbot:

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com

5. Updating the site later

cd /var/www/bitcoin-only
git pull
hugo --minify
# No need to restart Nginx: only files in public/ change

Summarized workflow

Edit Markdown / theme
        ↓
   hugo --minify
        ↓
     public/
        ↓
  Nginx (or Caddy) on the VPS

Adding or editing a page

  1. Create or edit a .md file in content/
  2. If it's a new page, add the link in hugo.tomlparams.navigationLinks
  3. Check it locally with hugo server
  4. Commit, git pull on the VPS and run hugo --minify again

Notes

  • Hugo extended is required (Dart Sass / theme SCSS).
  • public/ and resources/ are in .gitignore: they are generated on each build and are not version-controlled.
  • markup.goldmark.renderer.unsafe = true allows HTML in Markdown (necessary for tables and rich links).

License

See LICENSE; the original Bitcoin Only project is open-source and community-oriented.