Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 2 additions & 0 deletions .bundle/config
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
---
BUNDLE_PATH: "vendor/bundle"
53 changes: 53 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: Build and Deploy to GitHub Pages

on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]

jobs:
build-and-deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1'
bundler-cache: true

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'

- name: Install Node dependencies
run: npm ci

- name: Build CSS with Tailwind
run: npm run build-css-prod

- name: Build Jekyll site
run: bundle exec jekyll build
env:
JEKYLL_ENV: production

- name: Deploy to GitHub Pages (main branch only)
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_site

- name: Deploy to GitHub Pages (develop branch - staging)
if: github.ref == 'refs/heads/develop' && github.event_name == 'push'
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./_site
destination_dir: dev
50 changes: 50 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
# Jekyll
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata

# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*

# Environment variables
.env
.env.local
.env.development.local
.env.test.local
.env.production.local

# OS generated files
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db

# Editor files
.vscode/
.idea/
*.swp
*.swo
*~

# Logs
logs
*.log

# Temporary files
tmp/
temp/

# Build outputs
dist/
build/

# Ruby
Gemfile.lock
vendor/
18 changes: 18 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
source 'https://rubygems.org'

# GitHub Pages
gem 'github-pages', group: :jekyll_plugins

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem 'tzinfo', '>= 1', '< 3'
gem 'tzinfo-data'
end

# Performance-booster for watching directories on Windows
gem 'wdm', '~> 0.1.1', :platforms => [:mingw, :x64_mingw, :mswin]

# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem 'http_parser.rb', '~> 0.6.0', :platforms => [:jruby]
131 changes: 129 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,129 @@
# trailmarks-io.github.io
Homepage for Trailmarks.io - The new standard for your hiking trailmarks / stones
# Trailmarks.io Homepage

Welcome to the official homepage of Trailmarks.io - The new standard for your hiking trailmarks and stones.

## 🏔️ About

This repository contains the source code for the Trailmarks.io homepage, a modern Jekyll site that tells the story of "Wandersteine" (hiking stones) and introduces our vision for the future of digital trail marking.

## 🚀 Features

- **Modern Design**: Built with Tailwind CSS for a bright, responsive design
- **Bilingual**: Full German and English language support
- **Static Site**: Jekyll-powered for fast, reliable performance
- **GitHub Pages**: Automated deployment via GitHub Actions
- **Multi-Environment**: Support for dev/qa/prod staging

## 🛠️ Development

### Prerequisites

- Ruby 3.x
- Node.js 18+
- Git

### Local Setup

1. **Clone the repository**
```bash
git clone https://github.com/trailmarks-io/trailmarks-io.github.io.git
cd trailmarks-io.github.io
```

2. **Install dependencies**
```bash
# Ruby dependencies
bundle install

# Node.js dependencies
npm install
```

3. **Build CSS**
```bash
npm run build-css
```

4. **Start development server**
```bash
npm run dev
# or manually:
bundle exec jekyll serve --livereload
```

5. **Visit the site**
Open http://localhost:4000 in your browser

### Build Commands

- `npm run build-css` - Build CSS with Tailwind (watch mode)
- `npm run build-css-prod` - Build CSS for production (minified)
- `npm run dev` - Start development server with live reload
- `npm run build` - Build production site

## 🌐 Deployment

The site is automatically deployed via GitHub Actions:

- **Production**: `main` branch → https://trailmarks-io.github.io
- **Staging**: `develop` branch → https://trailmarks-io.github.io/dev
- **Pull Requests**: Build-only (no deployment)

## 📁 Project Structure

```
├── _config.yml # Jekyll configuration
├── _layouts/ # Page templates
├── _includes/ # Reusable components
├── _site/ # Generated site (git-ignored)
├── assets/css/ # Generated CSS
├── src/ # Source files
│ └── input.css # Tailwind CSS source
├── en/ # English pages
├── index.html # German homepage
├── about.html # German about page
├── contact.html # German contact page
├── package.json # Node.js dependencies
├── Gemfile # Ruby dependencies
└── tailwind.config.js # Tailwind configuration
```

## 🎨 Design System

The site uses a custom Tailwind CSS configuration with Trailmarks brand colors:

- **Blue**: #3B82F6 (primary)
- **Green**: #10B981 (nature)
- **Orange**: #F59E0B (energy)
- **Stone**: #78716C (earth)
- **Earth**: #92400E (ground)

## 🌍 Languages

- **German** (default): `/`, `/about/`, `/contact/`
- **English**: `/en/`, `/en/about/`, `/en/contact/`

## 📄 Content

The homepage tells the story of:
- **Wandersteine**: Historical context of trail stones
- **Tradition**: From ancient Romans to modern hikers
- **Innovation**: How Trailmarks.io bridges tradition and technology
- **Vision**: Future of digital trail marking

## 🤝 Contributing

This project is in active development. Follow our progress:

- **GitHub**: [@trailmarks-io](https://github.com/trailmarks-io)
- **Issues**: Report bugs and feature requests
- **Discussions**: Join community conversations

## 📜 License

This project is open source. See individual files for specific license information.

---

*Entdecke die faszinierende Welt der Wandersteine und Wegmarkierungen.*
*Discover the fascinating world of hiking stones and trail markers.*
64 changes: 64 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Site settings
title: Trailmarks.io
description: "The new standard for your hiking trailmarks - Discover the story of Wandersteine"
url: "https://trailmarks-io.github.io"
baseurl: ""

# Build settings
markdown: kramdown
highlighter: rouge
permalink: /:categories/:title/

# Plugins
plugins:
- jekyll-feed
- jekyll-sitemap
- jekyll-seo-tag

# Collections
collections:
posts:
output: true
permalink: /:collection/:name/

# Exclude from processing
exclude:
- Gemfile
- Gemfile.lock
- node_modules
- vendor
- package.json
- package-lock.json
- tailwind.config.js
- src
- README.md

# Include files
include:
- _pages

# Sass
sass:
sass_dir: _sass
style: compressed

# Languages
languages: ["de", "en"]
default_lang: "de"

# Site navigation
navigation:
de:
- title: "Startseite"
url: "/"
- title: "Über uns"
url: "/about/"
- title: "Kontakt"
url: "/contact/"
en:
- title: "Home"
url: "/en/"
- title: "About"
url: "/en/about/"
- title: "Contact"
url: "/en/contact/"
Loading